アルゴリズム(2群Kolmogorov-Smirnov検定)
以下の説明は、NAGのアルゴリズムから引用したものです。
サイズ \(n_1\,\!\) と \(n_2\,\! \) の2つの独立したサンプルX、Yを考えます。それぞれ、\(x_1,x_2,\ldots ,x_{n_1}\,\!\) と \(y_1,y_2,\ldots ,y_{n_1}\,\!\)で示されます。F(x) および G(x)がそれぞれの未知の分布関数を表すとします。そして、サンプルの経験的分布関数の値を\( S_1(x)\,\! \) と\( S_2(x)\,\! \) で示します。
帰無仮説 :F(x)=G(x) です。
対立仮説 \(H_1\,\!\): F(x)<>G(x) p値は両側確率になります。
または、\(H_1\,\!\) :F(x)>G(x) p値は上側の片側確率になります。
または、\(H_1\,\!\): F(x)<G(x) p値は下側の片側確率になります。
最初の \(H_1\,\!\) の場合、統計量 \(D_{n_1,n_2} \,\!\) が、2つの経験分布関数の最大絶対偏差を表します。
2番目の \(H_1\,\!\)の場合、統計量 \(D_{n_1,n_2}^{+} \,\!\)が、最初の標本の経験分布関数と2番目の標本の経験分布関数との間の正の最大絶対偏差を表します。つまり \(D_{n_1,n_2}^{+}=\max \{S_1(x)-S_2(x),0\}\,\!\) です。
3番目の \(H_1\,\!\) の場合、統計量 \(D_{n_1,n_2}^{-} \,\!\) が、2番目の標本の経験分布関数と最初の標本の経験分布関数との間の正の最大絶対偏差を表します。つまり \(D_{n_1,n_2}^{-}=\max \{S_2(x)-S_1(x),0\}\,\!\) です。
KS検定2も標準的な統計量 \(Z=\sqrt{(n_1*n_2)/(n_1+n_2)}*D\,\!\)を返します。
ここで\(D\,\!\)は\(D_{n_1,n_2} \,\!\)、\(D_{n_1,n_2}^{+} \,\!\)、\(D_{n_1,n_2}^{-} \,\!\)で、対立仮説の選択に依存します。
統計量 \(Z\,\!\) の分布は、 \(n_1\,\!\) と \(n_2\,\!\)が増加すると、Smirnovによって与えられる分布に近づくように収束します。帰無仮説の下で、観測統計量の極値として検定統計量の値を取得する確率が計算されます。
\(max(n_1,n_2)\leq 2500\,\!\)および \(n_1*n_2\leq 10000\,\!\)の場合、KimとJinrichによって与えられる方法が使われます。あるいは、\(p\,\!\) は、 KimとJenrich (1973)による近似式を用いて計算されます。
この方法は、連続的な理論分布に対してのみ正確に使用できることに注意してください。
この手法は、両側確率を計算します。片側確率は、両側確率より推定されます。これは小さな \(p\,\!\)、つまり \(p\leq 0.10\,\!\) に対する適切な推定値ですが、\(p\,\!\) が大きくなると不確かになります。
このアルゴリズムの詳細は、nag_2_sample_ks_test (g08cdc)をご覧下さい。