トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

相互情報量

相互情報量と、 平均情報量 の関係は、共分散と分散の関係と似ています。

相互情報量の式

Mutual Information

p(x)は、例えば、質的変数Xのカテゴリがx1、x2、x3なら、x1、x2、x3それぞれの発生数(頻度)をX全部の発生数で割った値です。 p(y)も同様です。

p(x,y)は、xとyのそれぞれの組合せについて、同様に求めた値です。

logの底は、2です。

「相互情報量」という名前について

平均情報量は、「情報量」というものがあって、情報量の期待値が平均情報量になっています。

式の形から考えると、「相互情報量(Mutual Information)」と呼ばれているものは、「平均相互情報量」でも良さそうに思うのですが、「相互情報量」と呼ぶのが一般的のようです。

相互情報量の求め方

相互情報量の性質

きちんと書かれている文献をまだ見たことがないのですが、相互情報量の最大値と最小値は、以下のようになるようです。 最小値は0です。 最大値は、カテゴリの数が少ない方の変数の、カテゴリの数の対数です。

相互情報量の最小値

頻度に偏りがない場合、logの計算の中身が1になるので、logの分が0になります。

偏っていると、0よりも大きな値になります。

相互情報量の最大値

正確な証明は、筆者は確認できていないのですが、相互情報量の最大値は、以下の式で求まるようです。
Mutual Information

1行目は、i*jの分割表の時に、iとjの小さい方の値がkになります。

例えば、2*3の分割表なら、kは2で、相互情報量の最大値は、ちょうど1ということになります。 7*4の分割表なら、kは4で、相互情報量の最大値は、ちょうど2ということになります。

ソフト

EXCEL

上の例は、EXCELで作っています。 EXCELの関数で、底が2のlogを計算する場合は、log(X ,2)とします。Xのところに、変換したい値が入ります。

R

Rによる相互情報量 では、変数が2つあるデータをスタートにして、分割表を作ったり、量的変数を質的変数に変換するコードも入れています。



相互情報量をPythonで実装するので、アルゴリズムを教えてください。

参考文献

相互情報量の意味とエントロピーとの関係 高校数学の美しい物語 2022
https://manabitimes.jp/math/1403#4
XとYが同じ分布の時に、相互情報量が最大値になることが説明されています。


順路 次は 相互情報量係数

データサイエンス教室