異なる 2 つのデータセットが異なる確率分布からサンプリングされたものであるかを知りたい場合に,経験分布の検定という統計学的手法があります。検定はいくつか種類がありますが,その 1 つにコルモゴロフ-スミルノフ検定 (Kolmogorov–Smirnov test, KS test) があります。コルモゴロフ-スミルノフ検定は,一次元の連続分布に使います。
R では ks.test
で実装されています。
x <- rnorm(100) y <- rnorm(50) ks.test(x, y)
ks.test
には確率密度関数名を与えてやることも可能です。
x <- rchisq(20, df = 5) ks.test(x, "pchisq", df = 5)
P 値が有意水準 (例えば 5%) 未満ならば,データは異なる分布からサンプリングされていると判断します。
謝辞
@isseing333 に教えていただきました。ありがとうございます。