確率密度関数

確率論において、確率密度関数(かくりつみつどかんすう、英: probability density function、PDF)とは連続確率変数がある値をとるという事象の相対尤度を記述する関数である。確率変数がある範囲の値をとる確率を、その範囲にわたって確率密度関数積分する事により得ることができるよう定義される。例えば単変数の確率分布を平面上のグラフに表現して、x軸に“ある値”を、y軸に“相対尤度”を採った場合、求めたい範囲(x値)の下限値と上限値での垂直線と、変数グラフ曲線とy=0の直線とで囲まれる範囲の面積が確率の密度に相当する。確率密度関数は常に非負であり、取り得る範囲全体を積分するとその値は1である。

確率分布関数 (probability distribution function)[1] あるいは確率関数 (probability function)[2] という用語は確率密度関数を指しているが、確率論研究者や統計学者の間では標準的でないとされる場合がある。他の資料に拠れば「確率密度関数」は値の集合に対する関数として定義されたり、累積分布関数との関係で言及されたり、確率質量関数の意味で使われたりする。さらには、密度関数 (density function) という用語が確率質量関数の意味で用いられている場合もある[3]。

例として、寿命が4〜6時間に一様に分布するバクテリアが居ると仮定する。この時バクテリアの寿命が丁度5時間である確率はどれ位だろうか? 答えは0%である。およそ5時間で寿命を迎えるバクテリアはある程度居るが、正確に5.0000000000...時間である確率は無視し得る。

一方で、寿命が5〜5.01時間である確率は如何であろうか? その答えは2%である。では、その1⁄10の範囲の5〜5.001時間である確率は? 答えは2%×1⁄10=約0.2%となる。さらにその1⁄10の範囲の5〜5.0001時間である確率は、およそ0.02%である。

従って、「バクテリアの寿命が5時間である確率」を問われた時、真の答えは0%であるが、より実用的には、(2時間)−1dtであると言える。これは“丁度5時間”を含む無限小の時間範囲を表現するもので、dt はその時間範囲を意味する。例えば、丁度5時間〜5時間+1ナノ秒の寿命である確率は、(2時間)−1 × 1ナノ秒 = 6 × 10−13 である。

(2時間)−1という量は、バクテリアの寿命が5時間である確率密度であり、確率密度関数 f は

f (5時間) = (2時間)−1

と表現される。f を取り得る時間範囲(微小に限らない)で積分すると、当該時間範囲内でバクテリアの寿命が尽きる確率を求めることができる。例えば、寿命が丁度5時間〜6時間である確率は (2時間)−1 × 1時間 = 0.5 である。

確率密度関数は多くの場合、絶対連続型の単変数分布(英語版)として考える。確率変数 X の密度fX を考え、fX が非負のルベーグ積分な関数であるとする。ここで、


である。従って、もし FX を X の累積分布関数とすると、


となり、


となる。直観的に、微小区間 [x, x + dx] に含まれる値を X がとる確率は fX(x)dx であると判る。


可測空間 (通常、Rn に可測集合としてボレル集合を考えたもの)中に存在する確率変数 X は、 中に測度 X∗P で確率分布する。 中の標準測度 μ に関する X の密度は、ラドン=ニコディムの定理より


である。これは、f は次の性質を持つ任意の可測関数であることを意味する。あらゆる可測集合 に対して、

上記の連続単変数の場合は、標準測度はルベーグ測度である。離散確率変数における確率質量関数は標本空間(通常、整数全体の集合またはその部分集合)内での数え上げ測度に対応する。

任意の測度で密度が定義できる訳ではないことに注意。例えば、連続確率分布に数え上げ測度を対応させることはできない。さらに、対応する測度が存在した時、密度はほとんど至るところで一意的である。

確率とは異なり、確率密度関数は1より大きな値を取ることができる。例えば、区間[0,1⁄2]の連続一様分布の確率密度は範囲0 ≤ x ≤ 1⁄2でf(x) = 2、その他の範囲でf(x) = 0である。

標準正規分布は下記の確率密度関数を持つ。


確率変数Xとその確率密度関数fが与えられた時、Xの期待値は(値が存在する場合は)下記の様に求められる。


全ての確率分布が密度関数を持つとは限らない。離散確率変数が持たない他にも、カントール分布は離散分布ではないにも関わらず、範囲内のあらゆる点で正の確率を持たない為、密度関数を持たない。

分布はその累積分布関数F(x)が絶対連続である場合にのみ密度関数を持つ。この場合Fはほとんど至るところで微分可能で、その導関数は確率密度を用いて下記の様に表せる。


確率分布が密度を示すとすると、有限可算集合の場合と同様に、集合{a}の全ての点の確率は0である。

2つの確率密度f、gがルベーグ測度ゼロ(英語版)の集合内でのみ異なる時、2つは正確に同じ確率分布から採られたと言える。

統計物理学(英語版)の分野では、累積分布関数の導関数確率密度関数との関係を非形式的に書いた以下の式が確率密度関数の定義として用いられる。

dtが無限小の時、Xが区間(t, t+dt)に含まれる確率はf(t)dtに等しい。

ディラックデルタ関数を用いると、ある種の離散確率変数に依って連続確率変数および離散確率変数の確率密度関数を統一的に表現することができる。試しに、2つの値しか採らない離散確率変数を考える。例えばラーデマッヘル分布(英語版)―すなわちそれぞれ1⁄2の確率で−1または1の値を採る分布―である。この変数の確率の密度は


である。より一般化すると、離散変数がn通りの実数値を取り得る時、その離散値をx1, …, xn、その確率をp1, …, pnとすると確率密度関数


と表記される。

これは実質的に、離散確率変数と連続確率変数を統合している。例として、上記の表現からは連続変数と同様に離散変数について統計学的パラメータ(平均、分散、尖度等)を計算可能である。

確率密度関数または確率質量関数を任意の媒介変数でパラメータ化することがしばしばある。例えば、正規分布の密度は平均 μ および分散 σ2を用いて下記のように表現できる。


このとき密度の族の定義域と族のパラメータの定義域との違いに留意することが重要である。パラメータの値が異なると、同じ標本空間(英語版)(変数が取り得る全ての値の集合で、同一である)に属する異なる確率変数の分布を表現する事になる。その標本空間は、その分布の族が示している確率変数の族の定義域である。与えられたパラメータの集合は、そのパラメータを用いた共通の関数として密度関数を記述できる確率分布族の内の1つを指す。確率分布の観点からすると、パラメータは定数なので、密度関数に変数を含まずパラメータのみを含む場合、パラメータは分布の正規化係数(英語版)(定義域全域での確率=1になる様に調整する係数)の一部を成す。この正規化係数は分布のカーネル(英語版)外にある。

パラメータが定数なので、さらに異なるパラメータで再パラメータ化して族の中に他の確率変数を位置付けることは、単に古いパラメータを捨てて式の中に新しいパラメータを置くだけに過ぎない。しかし、確率密度の定義域を変更する事には慎重さが必要で、作業量が多くなる。下の変数変換欄を参照。

n個の連続確率変数X1, …, Xnについて、通常結合確率密度関数と呼ばれる確率密度関数を定義することができる。この密度関数はn次元空間の定義域D中のn個の変数X1, …, Xnを用いて、下記の様に書く事ができる。


若しF(x1, …, xn) = Pr(X1 ≤ x1, …, Xn ≤ xn) がベクトル(X1, …, Xn)の累積分布関数ならば、結合確率密度関数偏微分で導く事ができる。

i=1, 2, …,nの時、fXi(xi)を変数Xiのみの関数(確率密度関数)とする。これは周辺密度関数と呼ばれ、確率変数X1, …, Xnの確率密度からXi以外のn−1個の変数を重積分する事で求められる。

結合密度を構成する連続確率変数X1, …, Xnがいずれも独立である時、


である。

n個の確率変数からなる結合密度関数が1つの変数のn個の関数であり、


である(それぞれのfiは密度でなくとも良い)ならば、n個の変数はそれぞれ独立で、それぞれの周辺密度関数は下記で表される。

以下に2変数での基本的な例を記す。2次元の確率ベクトル(X, Y)を とすると、x、yが共に正である第I象限で得られた の確率は


である。

確率変数Xの確率密度関数がfX(x)である時、別変数の確率密度関数Y = g(X)を計算することができる。(多くの場合は必要ないが。)これは「変数変換」と呼ばれ、実際面では既知の(一様分布等)乱数生成器から任意の形のfg(X) = fYを導き出す事ができる。

関数gが単調写像である時、その結果得られる密度関数は


である。ここでg−1は逆写像である。

このことは微分範囲に含まれる確率が変数変換後も不変である事からも判る。つまり、


または


である。一方、単調写像でない確率密度関数yは


(n(y)はg(x) = yを満たすxの解の数、g−1k(y)はその解)である。

これを見ると、期待値E(g(X))を求めるためには最初に新たな確率変数Y = g(X)の確率密度fg(X)を求める必要があると思いたくなる。しかし、


を計算するよりは寧ろ、


を計算する方が良い。

Xとg(X)の両方が確率密度関数を持つ時、あらゆる場合に2つの積分値は等しい。gが単射である必要はない。前者より後者の計算が簡単である場合がある。

上記の式は、1つよりも多くの変数に依存する変数(y と書く)に一般化できる。y が依存する変数の確率密度関数を f(x1, …, xn) とすると、依存関係は y = g(x1, …, xn) で表される。このとき得られる確率密度関数は[要出典]


となる。ただし積分は添え字の方程式の (n − 1) 次元の解全体を渡り、記号 dV は実際の計算にはこの解のパラメータ化に置き換えなければならない。変数 x1, ..., xn はもちろんこのパラメータ化の関数である。

これからより直感的な表現が導かれる。x を結合密度 f の n 次元確率変数とする。H を全単射微分可能な関数として y = H(x) であるならば、y は密度 g を持つ:


ここで微分は H の逆関数のヤコビ行列の y における値である。

独立性を仮定してデルタ関数を用いると、以下の様に同じ結果が得られる。

独立な確率変数Xi, i = 1, 2, …nの確率密度関数がfXi(xi)で与えられる時、Y = G(X1, X2, …Xn)の確率密度関数を計算できる。次の式は、Yの確率密度関数fY(y)とfXi(xi)をデルタ関数で結合するものである。

2つの独立な確率密度関数UとV(それぞれが確率密度関数を持つ)の和は両確率密度関数の畳み込みで表される。


この関係は、N個の独立な確率変数U1, …, UNの和に拡張できる。


これは下記に示す独立変数の商の場合と同様に、2通りの変数変換Y=U+VとZ=Vから導かれる。
 2つの独立な確率変数UとVがそれぞれ確率密度関数を持つ時、積:Y=UV、商:Y=U/V を変数変換に依って計算することができる。

2つの独立な確率変数UとVの商Y=U/Vは、次の様に変換される。



この時、結合密度p(Y,Z)はU,VをY,Zに変数変換することで計算でき、Yは結合密度からZを捨てる(英語版)事で導出できる。

その逆変換は、



である。

この変換のヤコビ行列 は、


である。

従って、


となる。

Yの分布はZの追い出し(英語版)に依って、


と計算される。

この手法で U, V を Y, Z に変換する時に不可欠な条件が全単射である。上記の変換は Z が V に直接逆写像され、与えられた V について U/V が単調写像であるので条件に適合している。これは、和:U + V、差:U − V、積:UV においても同様である。

独立確率変数の積の他の関数についても全く同じ手法で計算することができる。

2つの標準正規分布変数UとVについて、その比(商)は次の様に求められる。

まず、変数はそれぞれ下記の密度関数を持つ。



これを先に述べた様に変換する。



これから、


が導かれる。これは、標準コーシー分布である。