はじめに
**Information Value(情報価値、IV)**は、特徴量分布のクラスごとの違いを測る指標で、
\begin{align}
\mathrm{IV} = \sum_x (p_0(x)-p_1(x))\log\frac{p_0(x)}{p_1(x)}
\end{align}
定義されます。相関係数やカイ二乗特徴量などと同様に、特徴量の説明力を測ることができます。相互情報量に似た指標であり、非線形な関係も反映することができるのが、大きなメリットです。この記事では、Information Valueがどのようなものであるかについて解説をします。
特徴量の説明力
Information Valueは特徴量の選択において、有用な指標です。
データに含まれる特徴量や自作した特徴量を使って、目的の変数について予測を行うとき、変数によっては予測の精度には寄与していないことがあります。そのような余分な特徴量の存在は、パラメータの推計を不安定にさせたり、予測の解釈性を下げたりする可能性があります。したがって、予測において重要でない(=説明力の低い)特徴量は取り除くのがベターです。
このとき、どのような特徴量を選択すればよいかを判定する手法は複数あります。その中でも最も単純なのは、特徴量と目的変数から計算される何かしらの統計量を用いることで説明力を評価し、その値に基づいて予測に利用する特徴量を決定することです。このとき、特徴量の重要性を判定する指標は複数あります。代表的なものは、相関係数であり、特徴量と目的変数の相関の度合いを評価できます。相関係数は単純な指標であり、ほとんど全ての統計関係のライブラリで実装されています。しかしながら、相関係数は線形の関係しか反映できないため、非線形な関係性を評価することはできないという欠点があります。
一方、Information Valueは非線形な関係についても評価できる指標です。
設定
Information Valueを説明するための、問題設定を行います。特徴量を$X$、目的変数を$Y$とします。とくに二値分類の場合、つまり$Y=0,1$の場合を考えます。
データの分布を$p(X,Y)$として、条件つき確率を$p_0(X):=p(X|Y=0), p_1(X):=p(X|Y=1)$とします。もし、この特徴量$X$で$Y$の分類が完全にできるのであれば、$p_0(X)\neq 0$のときに$p_1(X)= 0$であり、$p_1(X)\neq 0$のときに$p_0(X)= 0$となります。つまり、2つの分布に重なりがまったくない場合に相当しています。一方$p_0(X)=p_1(X)$で、2つの分布が完全に一致している場合は、$X$に基づいて分類をすることはできません。これらの状況は特殊な状況であり、一般にはこれらの中間の状況になります。
このとき、クラスごとの特徴量$X$の分布の違いを評価するのが、Information Valueです。
Information Valueの定義
Information Valueは、特徴量分布のクラスごとの違いを測る指標で、特徴量の説明力を数値化します。以下で、数学的な定義について説明します。
Information Valueは、次のように定義される量です。
\mathrm{IV}(X)
:=
\sum_x (p_0(x)-p_1(x))\log\frac{p_0(x)}{p_1(x)}
Kullback–Leibler divergenceとの関係
上の式の右辺は変形すると、以下のようになります。
\sum_x (p_0(x)-p_1(x))\log\frac{p_0(x)}{p_1(x)}
=
\sum_x p_0(x)\log\frac{p_0(x)}{p_1(x)}+\sum_x p_1(x)\log\frac{p_1(x)}{p_0(x)}
変形した後の第一項目と第二項目は、両方ともKullback–Leibler divergenceに一致します。Kullback–Leibler divergenceを$D(\cdot||\cdot)$で表すことにすれば、Information Valueは
\mathrm{IV}(X)=D(p_0\|p_1)+D(p_1\|p_0)
となります。つまり、Information Valueは対称化したKullback–Leibler divergenceに他なりません。
Kullback–Leibler divergenceの性質から、Information Valueが0になる必要十分条件は、$p_0(X)=p_1(X)$が成り立つことです。Kullback–Leibler divergenceが、確率分布の違いを測る自然な量であったことを思い出すと、Information Valueはクラスごとの特徴量$X$の分布の違いを表す量であると言えます。つまり、Information Valueが大きいということは、クラスごとの特徴量の分布が大きく異なっているということです。そして、その違いを利用することで、特徴量からクラスの分類ができるだろうと考えているのです。
留意点
ただし定義からわかるように、Information Valueは目的変数の分布$p(Y)$には依存しない量になっています。つまり、データの分布の情報の一部を使用していません。そのため、特徴量と目的変数の関係を評価する指標としては、不十分ともいえます。
今回は簡単のために、2値分類の場合を考えました。一般に多クラス分類の場合は、全てのクラスについて特徴量$X$の分布を考え、全てのペアについてKullback–Leibler divergenceを計算して足し合わせた量を考えるのが自然です。
実際に使う場合
現実のデータを使った分析においては、特徴量をそのまま使うのではなく、10~20ほどのビン(区分)に分けたヒストグラムを考えて、Information Valueを計算する必要があります。外れ値は中央値などで埋めるよりも、1つのビンとして扱うのがよいです。このとき、少なくともビンの中には、各クラスのサンプルが1件以上含まれる必要があります。もしサンプルがないケースがあると、$\log$の中身が発散し$\mathrm{IV}(X)$をきちんと計算することができません。実際には、より多くのサンプルがビンに含まれてないと、推定が上手くいかないので注意する必要があります。
またInformation Valueの値の解釈については、以下の表がよく掲示されています。
Information Value | 重要度 |
---|---|
< 0.02 | Not useful for prediction |
0.02 - 0.1 | Weak predictive Power |
0.1 - 0.3 | Medium predictive Power |
0.3 - 0.5 | Strong predictive Power |
> 0.5 | Suspicious Predictive Power |
ただし、この表は目安であり、過信するのは良くないと思います。
相互情報量
最後にメモとして、類似した量である相互情報量についても定義を書いておきます。相互情報量$I(X,Y)$は、
I(X,Y):= \sum_{x,y}p(X=x,Y=y)\log\frac{p(X=x,Y=y)}{p(X=x)p(Y=y)}
で定義されます。二値分類の場合には、
\begin{align}
I(X,Y)&= p(Y=0)\sum_{x}p_0(x)\log\frac{p_0(x)}{p(x)}+p(Y=1)\sum_{x}p_1(x)\log\frac{p_1(x)}{p(x)}
\\
&= p(Y=0)D(p_0\|p)+p(Y=1)D(p_1\|p)
\end{align}
となります。つまり相互情報量は、「各クラスの特徴量の分布」と「データ全体の特徴量の分布」のKullback–Leibler divergenceを各クラスの確率で平均化したものです。Information Valueとは違い、こちらは目的変数の分布$p(Y)$にも依存した量になっています。
まとめ
本記事では、説明している文献や記事が少ないInformation Valueについて説明をしました。