コルモゴロフ-スミルノフ検定(KS検定)

統計学




コルモゴロフ-スミルノフ検定

2つの標本が同じ確率分布からサンプリングしたものかを調べるための検定である。

ここでは、正規分布に関する検定を試す

Python

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

nsample = 288
np.random.seed(3)

#標準正規分布
x = np.random.normal(1, 10, nsample)
#ガンマ分布
x2 = np.random.gamma(1, 10, nsample)

ks = stats.kstest(x, "norm")
print('T=', ks.statistic)
print('pvalue=', ks.pvalue)
#pvalue= 0.9740578916709657

ks2 = stats.kstest(x2, "norm")
print('T=', ks2.statistic)
print('pvalue=', ks2.pvalue)
#pvalue= 0.0

有意水準を0.05とすると

標準正規分布からのサンプルのxは、pvalue= 0.974で、帰無仮説を採択する。
ガンマ分布からのサンプルのx2は、pvalue= 0.0で、帰無仮説を棄却する。

参考

  1. ルモゴロフ–スミルノフ検定
  2. コルモゴロフ-スミルノフ検定を利用した特徴量選択
  3. http://swdrsker.hatenablog.com/entry/2017/06/28/163031
  4. https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.kstest.html
タイトルとURLをコピーしました