はじめに
機械学習などでモデリングする際の大きな問題の一つは説明変数(特徴量)の選択だと思います。
最近は赤池情報量規準(AIC)を使用してモデル選択する場合が多いように感じますが、ちょっと前の回帰分析の本などには他の選択規準もいくつか載っていました。今回はそれらの選択規準について出典と統計的根拠について簡単に調べました。
様々な説明変数選択基準
決定係数
推定された回帰式の当てはまりの良さを表す量で、残差変動の平方和を全変動の平方和で割ったものを1から引いた量です。訓練データに対しては$0\leq R^2 \leq 1$を満たしますが、テストデータに対しては$-\infty\leq R^2 \leq 1$の値をとります。最大になるモデルが良いモデルと判断されます。
R^2 = \frac{\sum_{i=1}^{n} (\hat y_i - \bar y)^2}{\sum_{i=1}^{n} (y_i - \bar y)^2}
= 1 - \frac{\sum_{i=1}^{n} (y_i - \hat y_i)^2}{\sum_{i=1}^{n} (y_i - \bar y)^2}
$y_i$がデータで、$n$はデータの数、$\bar y$はデータの平均値で$\hat y_i$は予測値です。
自由度調整済み決定係数
決定係数は説明変数を多くするほど良くなる傾向があるため、説明変数の数(自由度)の補正を含めた決定係数を自由度調整済み決定係数といいます。最大になるモデルが良いモデルと判断されます。
R'^2 = 1 - (1 - R^2)\frac{n-1}{n-k-1}
$k$は独立な説明変数の個数です。重回帰分析なら次のようになります。
y=\alpha+\sum_{i=1}^k\beta_ix_i
決定係数との違いを見てみます。こちらのサイトによると、定数項以外の係数(説明変数)が全てゼロという仮定のもとで、決定係数の期待値と分散は次のようになります。
\begin{align}
E[R^2] =& \frac{k}{n-1} \\
V[R^2] =& \frac{2k(n-k-1)}{(n + 1)(n - 1)^2}
\end{align}
説明変数が全てゼロなので$R^2$はゼロになってほしいところですがそうなっていません。したがって$R^2$は母集団の不偏推定量ではありません。一方で$E[R^2]$は$n\rightarrow \infty$でゼロになり、分散もゼロになるので一致推定量になっています。
同様に自由度調整済み決定係数についてもこちらのサイトに記述があります。
\begin{align}
E[R'^2] =& 0 \\
V[R'^2] =& \frac{k}{n(n-k-1)}
\end{align}
自由度調整済み決定係数は母集団の不偏推定量かつ一致推定量になっています。したがってサンプル数が少ないときはバイアスのない自由度調整済み決定係数を用いることが推奨されます。ただし$V[R^2]\leq V[R'^2]$が成り立つので、変動が大きくなっていることには注意です。
このまとめについてはこちらのサイトでまとめていました。
上田の説明変数選択規準
この規準の初出はおそらく
「相関があるかを見つける簡便法,上田太一郎著,オペレーションズ・リサーチ 42巻7号p.493-496),1997年7月」
だと思われます。
これを読む限り、統計的な導出がされたわけではなく、いくつかのデータに対して実際に適用して、うまく行ったという、経験則的な規準だと思われます(統計的根拠をご存知の方教えて下さい!)。
上田さんは教科書を多く書いていらっしゃるので、この規準が広まったのだと思われます。この規準では値が最大になるモデルが良いモデルと判断されます。
R_u^2 = 1 - (1 - R^2)\frac{n+k+1}{n-k-1}
芳賀・竹内・奥野の説明変数選択規準(自由度2重調整済寄与率)
芳賀・竹内・奥野の説明変数選択規準はMSEP(Mean squared error prediction)をもとに自由度調整済み決定係数を修正したものです。最大になるモデルが良いモデルと判断されます。
「重回帰分析における変数選択の新しい規準,芳賀 敏郎, 竹内 啓, 奥野 忠一 著,品質 6巻2号p.35-40,1976年」
に基づいて説明します。
説明変数$\boldsymbol{x}_i$を持つ回帰分析を考えます($i$はデータを区別する添字)。誤差は正規分布に従うと仮定します。
y(\boldsymbol{x}_i) = f(\boldsymbol{x}_i) + \varepsilon_i, \ \varepsilon_i\sim\mathcal N(0, \sigma)
訓練データで学習した学習器を用いて、訓練データに対する予測をしたときの残差平方和をRSSと呼びます。
\begin{align}
\mathrm{RSS} =& \sum_{i=1}^{n} \left(y(\boldsymbol{x}_i) - \hat y(\boldsymbol{x}_i)\right)^2 \\
E[\mathrm{RSS}] =& (n-k-1)\sigma^2
\end{align}
一方、テストデータ$y'$に対する予測をしたときの差の分散をMSEP(Mean squared error prediction)と呼びます。
\begin{align}
\mathrm{MSEP} =& \sum_{i=1}^{n}\mathrm{Var}\left[y'(\boldsymbol{x}_i) - \hat y(\boldsymbol{x}_i)\right] \\
=& (n+k+1)\sigma^2 \\
=&\frac{n+k+1}{n-k-1}E[\mathrm{RSS}]
\end{align}
ところで、自由度調整済み決定係数は少し変形すると次のように書かれます。
R'^2 = 1 - \frac{\mathrm{RSS}/(n-k-1)}{S_{yy}/(n-1)}
分子の期待値がMSEPになるように自由度調整済み決定係数を修正します。分母にも$(n+1)$を加えます。
R_h^2 = 1 - \frac{(n+k+1)\mathrm{RSS}/(n-k-1)}{(n+1)S_{yy}/(n-1)}
整理すると次のようになります。
R_h^2 = 1 - (1 - R^2)\frac{(n-1)(n+k+1)}{(n+1)(n-k-1)}
さて、この規準がどのような意味を持つか見てみます。
自由度調整済み決定係数を用いた特徴量選択をするときに、F比というものを考える場合があります。
F = \frac{\mathrm{RSS}_{k-1} - \mathrm{RSS}_{k}}{\mathrm{RSS}_{k}/(n-k-1)}
説明変数をk-1個からk個に増やしたときに、$R'(k)^2>R'^2(k-1)$となる条件は$F>1$です。したがって自由度調整済み決定係数を用いる場合は$F>1$となるように説明変数を増やせばよいことになります。
しかし、経験的に$F>2$となるように説明変数を増やす方が良いと経験的に知られていました。実はこれは、説明変数をk-1個からk個に増やしたときに、$R_h^2(k)>R_h^2(k-1)$となる条件になっています。MSEPはテストデータに対する指標なので、この判定規準は良い予測モデルを判断する規準と言えそうです。
佐和の説明変数選択規準
佐和の説明変数選択規準は、説明変数群が多変量正規分布にしたがうことを仮定したうえで、予測の平均2乗誤差を最小化するという立場からの規準です。
\boldsymbol{y}(X) = \boldsymbol{\alpha} + \boldsymbol{\beta}X + \boldsymbol{\varepsilon}, \ \boldsymbol{\varepsilon}\sim\mathcal N(\boldsymbol{\mu}, \Sigma)
最大になるモデルが良いモデルと判断されます。
R_s = 1 - (1 - R^2)\frac{(n-2)(n-1)}{(n-k-2)(n-k-1)}
説明変数間の関係を考慮に入れた規準ですが、普段のテーブルデータではあまり出番はないかもしれません。
詳しくは
「予測効率による回帰モデルの選択,佐和隆光 著,季刊 理論経済学 19巻3号p.69-72,1968年」,
「説明変数選択のための諸基準,オペレーションズ・リサーチ 23巻5号p.280-289,1978年5月」
を参照して下さい。
赤池情報量規準(AIC)
赤池情報量規準(AIC)は、統計モデルの良さを評価するための指標です。AICはカルバック・ライブラー情報量をテイラー展開し整理したもので、二つの分布の違いを表す量です。具体的には、AICは「(−2)×((最大対数尤度)−(パラメーターの個数))」で表されます。最小になるモデルが良いモデルと判断されます。
重回帰分析の場合は誤差が正規分布に従うと仮定して下記のようになります。導出はこちらのブログが詳しいです。
\mathrm{AIC} = n\log(1-R^2) + 2k
おわりに
色々な選択規準を見てきましたが、結局とりあえずはAICを使用すれば良いと思います。初心者向けには自由度調整済み決定係数もしくは予測にも使える芳賀・竹内・奥野の説明変数選択規準あたりが分かりやすいのかなと思いました。多くの教科書に載っているのは上田の説明変数選択規準ですが、統計的根拠がなんとも言えないので、これから勉強する人には教えなくてもよいかなとも思います。