R でのコルモゴロフ・スミルノフ検定 (例付き)
コルモゴロフ・スミルノフ検定は、サンプルが特定の分布に由来するかどうかを検定するために使用されます。
R で 1 つまたは 2 つのサンプルのコルモゴロフ-スミルノフ検定を実行するには、 ks.test()関数を使用できます。
このチュートリアルでは、この機能を実際に使用する方法の例を示します。
例 1: コルモゴロフ・スミルノフ試験サンプル
次のサンプル データがあるとします。
#make this example reproducible seed(0) #generate dataset of 100 values that follows a Poisson distribution with mean=5 data <- rpois(n= 20 , lambda= 5 )
関連: R の dpois、ppois、qpois、および rpois のガイド
次のコードは、この 100 データ値のサンプルに対してコルモゴロフ-スミルノフ検定を実行して、それらが正規分布に由来するかどうかを判断する方法を示しています。
#perform Kolmogorov-Smirnov test ks.test(data, “ pnorm ”) One-sample Kolmogorov–Smirnov test data:data D = 0.97725, p-value < 2.2e-16 alternative hypothesis: two-sided
結果から、検定統計量は0.97725で、対応する p 値は2.2e-16であることがわかります。 p 値が 0.05 未満であるため、帰無仮説は棄却されます。標本データが正規分布からのものではないことを示す十分な証拠があります。
ポアソン分布に従うランダムな値を生成するrpois()関数を使用してサンプル データを生成したため、この結果は驚くべきことではありません。
例 2: 2 サンプルのコルモゴロフ・スミルノフ検定
次の 2 つのサンプル データ セットがあるとします。
#make this example reproducible seed(0) #generate two datasets data1 <- rpois(n= 20 , lambda= 5 ) data2 <- rnorm( 100 )
次のコードは、これら 2 つのサンプルに対してコルモゴロフ-スミルノフ テストを実行して、それらが同じ分布に由来するかどうかを判断する方法を示しています。
#perform Kolmogorov-Smirnov test
ks.test(data1, data2)
Two-sample Kolmogorov–Smirnov test
data: data1 and data2
D = 0.99, p-value = 1.299e-14
alternative hypothesis: two-sided
結果から、検定統計量は0.99で、対応する p 値は1.299e-14であることがわかります。 p 値が 0.05 未満であるため、帰無仮説は棄却されます。 2 つのサンプル データセットが同じ分布からのものではないことを示す十分な証拠があります。
最初のサンプルの値はポアソン分布を使用して生成され、2 番目のサンプルの値は正規分布を使用して生成されたため、この結果も驚くべきことではありません。
追加リソース
R で Shapiro-Wilk テストを実行する方法
R でアンダーソン・ダーリング検定を実行する方法
R で多変量正規性テストを実行する方法