2016-8-5_13-53-34_No-00

相関係数

変数 (記述子・特徴量) の間に、関係があるかないか検討するときに、一般的に用いられるのは相関係数です。

https://ja.wikipedia.org/wiki/相関係数

ただ、相関係数は変数の間の直線的な関係しか考慮されません

たとえば、二つの変数xとyに、y=x+2とかy=-2x-5のような関係があれば、xとyとの間の相関係数は1もしくは-1に近くなり、xとyとの間には「関係がある」といえます。一方で、y=x2+1とかy=sin(x)とかの場合、実際にはxとyとの間には関係があるのに、相関係数が1より小さく (-1より大きく) なってしまい、xとyとの間には「関係がない」とされてしまいます

Maximum Information Coefficient (MIC)

そこで、そのような変数間の非線形性を考慮して関係性を検討するために、Maximum Information Coefficient (MIC)が開発されました。

Detecting Novel Associations in Large Data Sets | Science

MICは2つの変数の間に関係性がなければ0、関係性があればあるほど1に近づく指標です。xとyとの間に、y=x+2とかy=-2x-5とかの関係があるときはもちろんのこと、y=x2+1とかy=sin(x)とかの非線形な関係があってもMIC=1となり、xとyとの間には「関係がある」といえます。

MICの論文がScienceに載ったときは、「A Correlation for the 21st Century (21世紀の相関)」として紹介されました。

A Correlation for the 21st Century | Science

MICは相関係数のように一つの式で表されるわけではありません。データの散布図をいろいろな数のグリッドに区切り、それぞれにおいて相互情報量を計算します。

https://ja.wikipedia.org/wiki/相互情報量

相互情報量が最も大きくなる値を規格化したものがMICです。

上の論文では、xとyとの間の関係がランダムのときはMICが0近くになり、xとyとの間の関係がいろいろな関数で表わされるときに、すべてMICが1に近くなることが確認されています。

応用先

MICはどのようなところに応用できるでしょうか。たとえば、

  • 変数間の類似度の指標とする
  • クラスタリングを行うときの類似度行列を計算するのに使う
  • カーネル関数として使う

などが考えられます。

公開プログラム

こちらにMICを計算するプログラムを公開しています。ぜひご覧ください。

[実行用プログラム公開] コピペだけで実用的かつ実践的なMaximum Information Coefficient(MIC)~変数間の非線形性を考慮した相関係数~ (R言語)

まとめ

変数間の非線形性を考慮して、変数間の相関関係を検討するため、MICという指標を紹介しました。

ご案内。

オススメ記事セレクション。

twitterでも発信中。

この記事に興味を持っていただけましたら、ぜひフォローをお願いします!


無料メルマガでブログにない情報を配信中。

データ解析・分析に興味がありましたらぜひ登録をお願いします!
無料メルマガの登録はこちら