Engineering Skills

製品開発エンジニアがデータ解析のノウハウを垂れ流します

ステップワイズ法におけるAIC/BIC/Mallows's CPの比較

重回帰分析の変数選択をステップワイズ法で行った場合、変数選択の基準で結果が変わります。いくつか比較してみます。

変数選択基準の比較

重回帰分析のステップワイズ法などで用いられる変数選択の基準で、AIC/BIC/Mallows's CPを比較します。

下記のような応答変数について、入力変数を[math] \displaystyle 0 < x_i \le 1 [/math]の範囲の一様乱数で変化させ、次式で定義される応答に標準偏差0.8の正規乱数を加えたデータセット[math] \displaystyle n=1000 [/math]で用意、各データセット毎にいくつの変数が選ばれるかカウントします。

[math] \displaystyle
\begin{align} y &= x_1 + 0.9 x_2 + 0.8 x_3 + 0.7 x_4 + 0.6 x_5 + 0.5 x_6 \\ &+ 0.4 x_7 + 0.3 x_8 + 0.2 x_9 + 0.1 x_{10} + 0.09 x_{11} + 0.08 x_{12} \end{align} [/math]

ステップワイズForward法で各選択基準が最小化される一例を下記に示します。この例では選択された変数の数が7~9くらいで最小化されています。

f:id:OceanOne:20210401004900p:plain:w400
Fig.1 選択基準の最小化の様子

比較結果

ステップワイズForward法で選ばれた変数の数を1000回試行のヒストグラム形式で比較したのが下記です。

f:id:OceanOne:20210401000347p:plain:h300
Fig.2 変数選択結果

モデル式から12変数全て影響因子ですが、正規乱数の外乱に埋もれて変数選択されにくくなります。

傾向からは変数選択のされやすさは[math] \displaystyle HQC \gt (AIC \fallingdotseq \mathrm{Malllows's}   C_p) \gt BIC [/math]です。

まとめ

回帰分析のステップワイズ法における変数選択基準を比較しました。大規模解析を行わない限り、なるべく有意になりそうなものは掬い出せた方が良いと思います。そういう意味ではHQCや広く普及しているAICを使うのが良いと思います。