2017-08-09 18 views
0

私は[23.13,56.1,12.6,1.23,5.56]のような値を持つ変数を持っています。私はこの変数のエントロピーを見つけたいと思う。私はここに1つのコードHow to compute the shannon entropy and mutual information of N variablesを持っていますが、連続変数のためにはどのビンサイズが望ましいでしょうか?Pythonで連続変数のエントロピーを見つけるには?

+0

[シャノンエントロピーとN変数の相互情報の計算方法](https://stackoverflow.com/questions/24144777/how-to-compute-the-shannon-entropy-mutual-information) -of-n-variables) – msalperen

答えて

0

「最良の」ビンサイズはありません(値が明確に異なるクラスターに分類されている場合を除きます)。

連続分布の場合、エントロピー(K & L 1987)と対応するKraskov、...、Grassberger(2004)の見積もりについて、Kozachenko-Leonenko k-nearest neighbor estimatorを使用する方がよいでしょう。

Kozachenko-Leonenko推定器の基本的な考え方は、隣接するデータ点間の平均距離を(一部の関数で)調べることです。直感は、その距離が大きいと、データの分散が大きく、エントロピーが大きいということです。実際には、最近傍距離を取る代わりに、k最近傍距離をとる傾向があり、推定値をより堅牢にする傾向がある。

私は両方の実装を自分のgithub:https://github.com/paulbrodersen/entropy_estimatorsに持っています。

関連する問題