確率変数のエントロピーの推定 (2)
前回のポスト
で疑問にあげたシチュエーションを整理すると、 サンプルが与えられ、確率密度関数は未知、 となる。ここで確率密度関数を推定して、その確率密度関数から乱数を生成(これを手法1と呼ぶ)できるのか?というのが前回の疑問。 よく考えてみると、これは前回の問題とは別の問題だ。 今回のシチュエーションでは以下のような手法(手法2と呼ぶ)を適用できるだろう。 確率密度関数を推定して、が得られたとする。 そして、すでに与えられているサンプルに対してこれを適用すれば、確率密度のサンプルが得られる。 これによりエントロピーをサンプル近似することができる。 手法1が、任意の確率変数のエントロピーを求めること(目的1)を目的としているのに対して、 手法2は、i.i.d.標本の従う確率変数のエントロピーを求めること(目的2)を目的としている。 これは似ているようで全く違う。 目的1は目的2よりも圧倒的に難しい。 というわけで通常は目的2へアプローチすることの方が実用的である。 標本が正規分布から生成されたということが既知だとすると、そのパラメータを最尤推定することにより、確率密度関数を推定できる。 そして推定した確率密度関数とサンプルを使って、確率密度のサンプルを作る。 それでもってエントロピーをサンプル近似する。 そして前回見たように、これはサンプル数を増やせば、真の値に収束していく。 コードで書くと以下のようになる。