コルモゴロフ-スミルノフ検定(Kolmogorov-Smirnov Test:KS検定)とは、統計的仮説検定の一つで、標本が特定の理論的な連続分布(例えば正規分布や一様分布)に従っているか(1標本KS検定)、あるいは二つの独立な標本が同じ分布から抽出されたものであるか(2標本KS検定)を評価するために用いられる非パラメトリックな手法を指します。
この検定は、累積分布関数(Cumulative Distribution Function:CDF)の最大差を利用して行われます。
コルモゴロフ-スミルノフ検定(KS検定)の基本的な概念
KS検定は、データの分布に関する特定の仮定(例えば、正規分布であること)を置かない「非パラメトリック検定」に分類されます。これは、データが特定のパラメトリックな分布に従うという前提を置かないため、幅広い種類のデータに適用できるという利点があります。
主な概念は以下の通りです。
- 非パラメトリック検定: データの分布の形状やパラメータに関して特定の仮定を置かない統計的検定手法です。これに対し、t検定や分散分析(ANOVA)などは「パラメトリック検定」と呼ばれ、データが正規分布に従うといった仮定を必要とします。
- 累積分布関数(CDF): 確率変数がある値以下になる確率を示す関数です。連続確率変数XのCDFはF(x)=P(X≤x)と定義されます。KS検定では、理論分布のCDFと、観測データから計算される経験的CDF(Empirical CDF:ECDF)を比較します。
- 経験的累積分布関数(ECDF): 観測データから構築されるCDFの推定値です。データ点を小さい順に並べたとき、ある値 x以下のデータ点の割合として計算されます。例えば、N個のデータ点がある場合、x以下のデータ点の数を$n_x$ とすると、ECDFは$F_n(x) = n_x / N$ となります。
- 最大差: KS検定の検定統計量Dは、経験的CDFと理論CDF(または二つの経験的CDF)の間の垂直方向の最大差として計算されます。この最大差が大きいほど、二つの分布が異なると考えられます。
コルモゴロフ-スミルノフ検定(KS検定)の種類と手順
KS検定には、主に「1標本KS検定」と「2標本KS検定」の2種類があります。
1. 1標本KS検定(One-Sample KS Test)
観測された標本データが、特定の仮定された理論分布(例: 正規分布、一様分布、指数分布など)に従っているかどうかを検定します。
- 帰無仮説 (H0): 標本は仮定された理論分布に従う。
- 対立仮説 (H1): 標本は仮定された理論分布に従わない。
手順:
- データを昇順に並べる: 観測データx1,x2,…,xn を小さい順に並べます。
- 経験的CDF (Fn(x)) を計算する: 各データ点xi に対して、それ以下のデータ点の割合を求めます。
- 理論CDF () を計算する: 仮定された理論分布のCDFを計算します。
- 検定統計量Dを算出する: 経験的CDFと理論CDFの間の最大垂直差を計算します。

または、より厳密には、

ここで、$\sup$は上限(supremum)を示し、全てのxにおける差の最大値を意味します。
- p値を計算し、結論を導く: 計算されたD値とサンプルサイズ$n$ に基づいてp値を求めます。p値が有意水準(例: 0.05)より小さい場合、帰無仮説を棄却し、「標本は仮定された理論分布に従わない」と結論します。
2. 2標本KS検定(Two-Sample KS Test)
二つの独立な標本データが、同じ underlying の分布から抽出されたものであるかどうかを検定します。分布の形状に関する仮定は置きません。
- 帰無仮説 (H0): 二つの標本は同じ分布から抽出されたものである。
- 対立仮説 (H1): 二つの標本は異なる分布から抽出されたものである。
手順:
- それぞれの標本のデータを昇順に並べる: 標本1: x1,…,xn1、標本2: y1,…,yn2。
- それぞれの経験的CDF ($F_{n_1}(x)$と$F_{n_2}(x)$) を計算する: 各標本に対してECDFを計算します。
- 検定統計量Dを算出する: 二つの経験的CDF間の最大垂直差を計算します。

- p値を計算し、結論を導く: 計算されたD値と両方のサンプルサイズ n1,n2 に基づいてp値を求めます。p値が有意水準より小さい場合、帰無仮説を棄却し、「二つの標本は異なる分布から抽出されたものである」と結論します。
コルモゴロフ-スミルノフ検定(KS検定)のメリットとデメリット
メリット
デメリット
コルモゴロフ-スミルノフ検定(KS検定)の応用例
- データが正規分布に従うかの確認: 統計的モデリングや機械学習アルゴリズム(例: 線形回帰、混合正規分布モデルなど)において、データが正規分布に従うという仮定が重要である場合、その妥当性をKS検定で確認できます。
- A/Bテスト: ウェブサイトの変更前後でユーザーの滞在時間やクリック数などの分布が変化したかどうかを比較する際に、2標本KS検定が利用できます。
- 機械学習モデルの出力評価: 分類モデルの予測確率の分布が、陽性クラスと陰性クラスで異なっているかを確認するために利用されることがあります。特に、信用スコアリングモデルの評価指標として、悪性顧客と優良顧客の確率分布の分離度を示す「KS統計量」が用いられます。
- 乱数生成器の評価: 生成された乱数が、一様分布などの理論的な分布に従っているかを確認するために使用されます。
コルモゴロフ-スミルノフ検定(KS検定)とは、二つの標本分布が同じであるか、または標本が特定の理論分布に従うかを評価する非パラメトリックな統計的仮説検定です。
この検定は、観測データから得られる経験的累積分布関数(ECDF)と、理論分布のCDFまたはもう一方の標本のECDFとの間の最大差を検定統計量として利用します。
データの分布に関する事前仮定が不要である点が大きなメリットですが、連続分布に限定される点や、多次元データへの適用が困難である点には注意が必要です。データが特定の分布に従うかの適合度検定や、二つのデータセットの分布の同等性を比較する際に、広く活用されています。