統計学やデータ解析の世界では、「分布関数」という言葉を頻繁に目にするでしょう。
確率論や数理統計の基礎をなすこの概念は、データの振る舞いを数学的に記述するうえで欠かせない道具のひとつです。
分布関数には累積分布関数(CDF)や確率密度関数(PDF)、確率質量関数(PMF)など複数の種類があり、それぞれが異なる役割を担っています。
本記事では、分布関数の定義から性質、代表的な確率分布との関係、そしてデータ解析への応用まで、丁寧にわかりやすく解説していきます。
統計学や機械学習、品質管理など幅広い分野で活躍する知識ですので、ぜひ最後までお読みください。
分布関数とは何か?確率分布の基本をおさえよう
それではまず、分布関数の定義と基本的な概念について解説していきます。
分布関数の定義と基本的な意味
分布関数とは、確率変数がある値以下になる確率を表す関数のことです。
より正確には、確率変数Xに対して F(x) = P(X ≦ x) と定義される関数を、Xの分布関数(または累積分布関数)と呼びます。
この関数は、xが変化するにつれて確率がどのように積み上がっていくかを示すものです。
たとえば、あるテストの点数分布において F(70) = 0.8 であれば、「70点以下の受験者が全体の80%を占める」ことを意味するでしょう。
分布関数は英語で Cumulative Distribution Function と呼ばれ、頭文字をとってCDFと略されることも多くあります。
確率変数には「離散型」と「連続型」の2種類があり、それぞれで分布関数の扱い方が少し異なる点に注意が必要です。
確率変数の種類と分布関数の関係
確率変数が取りうる値が有限個または可算無限個である場合を「離散型確率変数」と呼びます。
たとえばサイコロの目(1〜6の整数)やコインの表裏(0または1)などが代表例です。
一方、確率変数が連続的な値を取る場合を「連続型確率変数」といいます。
身長や体重、測定時間など、実数の範囲で値を取るものがこれに該当するでしょう。
離散型では確率質量関数(PMF)が、連続型では確率密度関数(PDF)が分布の形を記述します。
いずれの場合も、累積分布関数(CDF)はすべての確率を0から1の範囲で積み上げた形で表現されます。
離散型のCDFは階段状のグラフになり、連続型のCDFはなめらかな曲線として描かれる点が視覚的な違いです。
分布関数が満たすべき4つの性質
分布関数には数学的に満たすべき基本的な性質がいくつか存在します。
分布関数 F(x) が満たす4つの性質は以下のとおりです。
① 単調非減少性:x₁ < x₂ ならば F(x₁) ≦ F(x₂)
② 右連続性:すべての x に対して lim_{h→+0} F(x+h) = F(x)
③ 下限:lim_{x→-∞} F(x) = 0
④ 上限:lim_{x→+∞} F(x) = 1
これらの性質は、確率が0以上1以下であり、かつ積み上がる一方であるという確率の本質的な性質を反映したものです。
右連続性については少し難解に感じるかもしれませんが、ある点における確率の定義の仕方と関係しています。
特に離散型分布では、ジャンプの位置での値をどちら側に含めるかが問題になるため、右連続性が重要な役割を果たすでしょう。
累積分布関数(CDF)の詳細と使い方
続いては、累積分布関数(CDF)の性質と具体的な使い方を確認していきます。
CDFのグラフと視覚的な理解
累積分布関数のグラフを描くと、左から右へ向かって単調に増加する曲線(または階段状のグラフ)が得られます。
連続型の場合、最も代表的なCDFは正規分布のCDFで、S字型(シグモイド型)の形状を持つ美しい曲線になります。
この曲線は x = μ(平均値)を境に対称であり、xが大きくなるにつれて急速に1に近づいていくでしょう。
CDFのグラフを見ることで、データがどの範囲に集中しているかを直感的に把握することができます。
たとえばCDFの傾きが急な区間は、その範囲にデータが密集していることを意味するでしょう。
逆に傾きが緩やかな区間は、その範囲のデータが少ないことを示しています。
離散型のCDFは階段状になり、各ステップの高さが各値での確率(PMFの値)に対応しています。
CDFを使った確率計算の方法
累積分布関数を使うと、さまざまな確率を計算することが可能です。
CDFを用いた確率計算の基本公式:
・P(X ≦ a) = F(a)
・P(X > a) = 1 − F(a)
・P(a < X ≦ b) = F(b) − F(a)
・P(X = a)(離散型)= F(a) − F(a−)
※ F(a−) は a の左極限値を表します
これらの公式を使えば、任意の区間における確率を計算できるでしょう。
たとえば正規分布においては、標準化(z変換)を施したうえで標準正規分布のCDF(Φ関数)を参照することで確率を求めます。
統計ソフトや表計算ソフトでは、これらのCDFが関数として実装されているため、実務での計算も容易です。
PythonのSciPyライブラリでは scipy.stats モジュールに各種分布のCDFが用意されており、データ解析の現場で広く使われています。
逆累積分布関数(分位点関数)とパーセンタイル
CDFの逆関数を「逆累積分布関数」または「分位点関数(Quantile Function)」と呼びます。
数式で表すと Q(p) = F⁻¹(p) = inf{ x : F(x) ≧ p } となります。
分位点関数は、パーセンタイルや四分位数の計算に直接活用される重要な関数です。
たとえばQ(0.25)は第1四分位数(25パーセンタイル)、Q(0.5)は中央値(50パーセンタイル)、Q(0.75)は第3四分位数(75パーセンタイル)を表します。
この関数は仮説検定における臨界値の決定や、信頼区間の計算にも用いられるでしょう。
Pythonでは scipy.stats.norm.ppf(p) のように記述することで正規分布の分位点を求めることができます。
確率密度関数(PDF)とその性質
続いては、連続型確率変数における確率密度関数(PDF)の性質と使い方を確認していきます。
確率密度関数の定義と意味
連続型確率変数Xの分布関数 F(x) が微分可能であるとき、その導関数 f(x) = dF(x)/dx を確率密度関数(PDF:Probability Density Function)と呼びます。
確率密度関数は「確率の濃さ」を表す関数であり、f(x) 自体は確率ではなく確率密度である点に注意が必要です。
実際の確率は、PDFを区間 [a, b] 上で積分することで得られます。
P(a ≦ X ≦ b) = ∫[a to b] f(x) dx
また、PDFは以下の2条件を満たす必要があります:
① f(x) ≧ 0(非負性)
② ∫[-∞ to +∞] f(x) dx = 1(全確率が1)
PDFのグラフは「確率分布の形」を視覚的に示し、山の高い部分ほど値が出やすいことを意味するでしょう。
正規分布のPDFはベル型(釣り鐘型)であり、平均値μのところで最も高く、両裾に向かって対称的に低下していきます。
CDFとPDFの関係は F(x) = ∫[-∞ to x] f(t) dt であり、互いに積分・微分の関係で結ばれています。
代表的な確率密度関数の比較
データ解析や統計学で頻繁に登場する代表的なPDFをまとめると以下のようになります。
| 分布名 | 確率密度関数 f(x) | 主なパラメータ | 用途 |
|---|---|---|---|
| 正規分布 | (1/√(2πσ²))exp(−(x−μ)²/2σ²) | μ(平均)、σ²(分散) | 自然現象・測定誤差 |
| 指数分布 | λe^(−λx)(x≧0) | λ(率パラメータ) | 待ち時間・故障間隔 |
| 一様分布 | 1/(b−a)(a≦x≦b) | a(下限)、b(上限) | 乱数生成・シミュレーション |
| ガンマ分布 | (x^(k−1)e^(−x/θ))/(θ^k Γ(k)) | k(形状)、θ(尺度) | 待ち時間・信頼性解析 |
| ベータ分布 | x^(α−1)(1−x)^(β−1)/B(α,β) | α、β(形状パラメータ) | 比率・確率の事前分布 |
これらの分布はそれぞれ異なる形状を持ち、異なる自然現象や統計モデルに対応しています。
どの分布を使うかは、データの性質や分析の目的によって適切に選択することが重要です。
モーメントとPDFの関係
確率密度関数からは、分布の特性を数値で表す「モーメント」を計算することができます。
最も基本的なモーメントは期待値(平均)であり、E[X] = ∫[-∞ to +∞] x f(x) dx で定義されます。
分散は E[(X − μ)²] = ∫[-∞ to +∞] (x − μ)² f(x) dx で計算され、データのばらつきを表す指標です。
さらに3次モーメントから導かれる「歪度(わいど)」は分布の非対称性を、4次モーメントから導かれる「尖度(せんど)」は分布の裾の重さを示します。
これらのモーメントを把握することで、分布の形状を数値的に特徴づけることができるでしょう。
代表的な確率分布と分布関数の具体例
続いては、実際のデータ解析で頻繁に使われる代表的な確率分布とその分布関数を確認していきます。
正規分布と標準正規分布のCDF
正規分布(ガウス分布)は、統計学において最も重要な連続型確率分布です。
平均μ、分散σ²の正規分布 N(μ, σ²) のCDFは解析的な閉じた式がなく、エラー関数(erf)を用いて表現されます。
正規分布のCDF:
F(x) = (1/2)
標準正規分布(μ=0, σ=1)のCDFはΦ(z)と表記され:
Φ(z) = (1/√(2π)) ∫[-∞ to z] exp(−t²/2) dt
実際の計算では統計表(z表)やソフトウェアを使ってΦ(z)の値を参照するのが一般的です。
任意の正規分布 N(μ, σ²) のCDFは、標準化 z = (x − μ)/σ を施すことで標準正規分布のCDFに変換できます。
この性質は仮説検定や信頼区間の計算において中心的な役割を果たすでしょう。
中心極限定理により、多くの現実データは正規分布で近似できるため、実用上の重要性は非常に高い分布です。
二項分布とポアソン分布のCDF(離散型)
離散型確率分布の代表例として、二項分布とポアソン分布のCDFを見ていきましょう。
二項分布 B(n, p) は、n回の独立なベルヌーイ試行で成功回数Xが従う分布です。
二項分布のCDF:
F(k) = P(X ≦ k) = Σ[j=0 to k] C(n,j) p^j (1−p)^(n−j)
ポアソン分布のCDF(パラメータλ):
F(k) = P(X ≦ k) = e^(−λ) Σ[j=0 to k] λ^j / j!
ポアソン分布は単位時間・単位面積あたりの事象発生回数をモデル化するのに適した分布です。
コールセンターへの電話件数や放射性崩壊の発生回数など、希少事象のカウントデータに広く用いられるでしょう。
二項分布はnが大きくpが小さいときにポアソン分布で近似でき、nが大きいときは正規分布で近似できます。
これらの近似関係を把握しておくと、実務での計算を効率よく進めることができるでしょう。
t分布・カイ二乗分布・F分布と統計的推測への応用
統計的推測において重要な役割を果たす分布として、t分布・カイ二乗分布・F分布があります。
t分布(スチューデントのt分布)は、母分散が未知のときに平均値の仮説検定や信頼区間の計算に使用されます。
自由度νのt分布は、正規分布より裾が重く、νが大きくなるにつれて標準正規分布に収束するでしょう。
カイ二乗分布は、標準正規分布に従う独立な確率変数の2乗和が従う分布であり、分散の検定や適合度検定に用いられます。
F分布は2つの独立したカイ二乗分布の比から導かれ、分散の比較(F検定)や分散分析(ANOVA)で中心的な役割を担います。
| 分布名 | 自由度パラメータ | 主な用途 |
|---|---|---|
| t分布 | ν(サンプルサイズ−1) | 平均の仮説検定・信頼区間 |
| カイ二乗分布 | k(カテゴリ数−1など) | 分散の検定・適合度検定・独立性の検定 |
| F分布 | ν₁、ν₂(2つの自由度) | 分散比の検定・ANOVA |
これらの分布のCDFは複雑な積分で表されますが、統計ソフトやプログラミング言語を使えば容易に計算できます。
データ解析における分布関数の実践的活用
続いては、実際のデータ解析における分布関数の実践的な活用方法を確認していきます。
経験的分布関数(ECDF)とデータへのあてはめ
実データから直接構築できる分布関数として、「経験的累積分布関数(ECDF:Empirical CDF)」があります。
n個のデータ x₁, x₂, …, xₙ が与えられたとき、ECDFは以下のように定義されます。
Fₙ(x) = (x以下のデータ点の数) / n
例:データが {3, 7, 9, 12, 15} のとき
Fₙ(9) = 3/5 = 0.6(9以下の値は3,7,9の3つ)
ECDFはパラメータを仮定しないノンパラメトリックな方法であり、特定の分布形状を前提としない柔軟な推定手法です。
グリベンコ=カンテリ定理によると、サンプル数nが増えるにつれてECDFは真の分布関数に一様収束することが保証されています。
Pythonのmatplotlibやseabornライブラリを使ってECDFを描画し、理論分布のCDFと比較することで、データの分布を視覚的に確認することができるでしょう。
コルモゴロフ=スミルノフ検定とADテスト
分布の適合度を統計的に検定する方法として、コルモゴロフ=スミルノフ検定(KS検定)が広く使われています。
KS検定は、ECDFと理論的なCDFの最大偏差(KS統計量)を検定統計量として用います。
KS統計量:D = max|Fₙ(x) − F₀(x)|
・D が大きいほど、データが理論分布から外れている
・p値が有意水準α(例:0.05)より小さければ帰無仮説を棄却
アンダーソン=ダーリング検定(ADテスト)は、KS検定より分布の裾部分に敏感な検定方法であり、正規性の確認などに有効です。
これらの検定を活用することで、収集したデータが仮定した確率分布に従うかどうかを客観的に判断できます。
Pythonでは scipy.stats.kstest() や scipy.stats.anderson() として実装されており、わずか数行のコードで検定を実行できるでしょう。
機械学習・ベイズ統計における分布関数の役割
機械学習やベイズ統計においても、分布関数は中心的な概念です。
ベイズ統計では、パラメータに対する事前分布(Prior)と尤度(Likelihood)を組み合わせて事後分布(Posterior)を計算します。
この事後分布のCDFを用いることで、パラメータの信頼できる範囲(信用区間)を求めることができるでしょう。
生成モデルや変分オートエンコーダー(VAE)では、潜在変数の分布を正規分布などで仮定し、そのCDFやPDFを最適化の目的関数に組み込みます。
また、異常検知においては、学習データから推定した分布のCDFを使って、新しいデータが「どれだけ外れているか」を確率的に評価する手法が用いられます。
分布関数は現代のデータサイエンスにおいても、理論的な基盤として不可欠な存在であることがわかるでしょう。
まとめ
本記事では、分布関数の基本的な定義から始まり、累積分布関数(CDF)・確率密度関数(PDF)の性質、代表的な確率分布の具体例、そしてデータ解析への実践的な応用まで幅広く解説してきました。
分布関数は統計学・確率論の根幹をなす概念であり、仮説検定・信頼区間・機械学習・ベイズ推定など現代のデータ解析のあらゆる場面で活用されています。
CDFとPDFの関係、各種確率分布の特性、ECDFを使った実データへのアプローチを押さえることで、より深い統計的思考が身につくでしょう。
ぜひ本記事の内容を日々の学習や業務に役立てていただければ幸いです。