コルモゴロフ-スミルノフ検定とは
コルモゴロフ-スミルノフ検定(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検定)のメリットとデメリット
メリット
- 非パラメトリック: データの分布が正規分布であるといった特定の仮定を必要としないため、幅広い種類のデータに適用できます。
- データの型を問わない: 連続的なデータであれば、どんな形状の分布でも検定可能です。
- 感度: 分布の平均、分散、歪度(Skewness)、尖度(Kurtosis)など、様々な側面における違いを検出できます。
- 実装が比較的容易: ECDFと最大差という明確な概念に基づいているため、アルゴリズムの理解と実装が比較的容易です。
デメリット
- 連続分布のみ: 離散分布データに対しては、正確な検定を行うことができません(修正版の検定は存在します)。
- 多次元データへの適用困難: 多変量データに対しては、検定統計量の計算が複雑になり、一般的には適用が難しいです。
- 中央部への感度が高い: 分布の裾野(Tail)部分よりも、中央部分の差に対してより感度が高い傾向があります。分布の裾野の差を検出したい場合は、アンダーソン-ダーリング検定など、他の検定が適していることがあります。
- パラメトリック検定より検出力が低い場合がある: もしデータが実際にパラメトリック検定が前提とする分布(例: 正規分布)に従っている場合、KS検定はパラメトリック検定に比べて検出力(真の差を検出する能力)が低いことがあります。
- パラメータ推定の問題(1標本KS検定): 1標本KS検定で、仮定する理論分布のパラメータ(例: 正規分布の平均や分散)を検定対象のデータから推定した場合、検定の検出力が低下し、タイプIエラー(誤って帰無仮説を棄却する)の確率が変化する可能性があります。
コルモゴロフ-スミルノフ検定(KS検定)の応用例
- データが正規分布に従うかの確認: 統計的モデリングや機械学習アルゴリズム(例: 線形回帰、混合正規分布モデルなど)において、データが正規分布に従うという仮定が重要である場合、その妥当性をKS検定で確認できます。
- A/Bテスト: ウェブサイトの変更前後でユーザーの滞在時間やクリック数などの分布が変化したかどうかを比較する際に、2標本KS検定が利用できます。
- 機械学習モデルの出力評価: 分類モデルの予測確率の分布が、陽性クラスと陰性クラスで異なっているかを確認するために利用されることがあります。特に、信用スコアリングモデルの評価指標として、悪性顧客と優良顧客の確率分布の分離度を示す「KS統計量」が用いられます。
- 乱数生成器の評価: 生成された乱数が、一様分布などの理論的な分布に従っているかを確認するために使用されます。
コルモゴロフ-スミルノフ検定(KS検定)とは、二つの標本分布が同じであるか、または標本が特定の理論分布に従うかを評価する非パラメトリックな統計的仮説検定です。
この検定は、観測データから得られる経験的累積分布関数(ECDF)と、理論分布のCDFまたはもう一方の標本のECDFとの間の最大差を検定統計量として利用します。
データの分布に関する事前仮定が不要である点が大きなメリットですが、連続分布に限定される点や、多次元データへの適用が困難である点には注意が必要です。データが特定の分布に従うかの適合度検定や、二つのデータセットの分布の同等性を比較する際に、広く活用されています。
関連用語
お問い合わせ
システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。
APPSWINGBYの
ソリューション
APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。
システム開発
既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。
iOS/Androidアプリ開発
既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。
リファクタリング
他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。

ご相談・お問い合わせはこちら
APPSWINGBYのミッションは、アプリでビジネスを加速し、
お客様とともにビジネスの成功と未来を形作ること。
私達は、ITテクノロジーを活用し、様々なサービスを提供することで、
より良い社会創りに貢献していきます。
T関する疑問等、小さなことでも遠慮なくお問合せください。3営業日以内にご返答致します。

ご相談・お問合せはこちら
APPSWINGBYのミッションは、アプリでビジネスを加速し、お客様とともにビジネスの成功と未来を形作ること。
私達は、ITテクノロジーを活用し、様々なサービスを提供することで、より良い社会創りに貢献していきます。
IT関する疑問等、小さなことでも遠慮なくお問合せください。3営業日以内にご返答させて頂きます。