多重共線性について色々調べ物をしたのでちょっとまとめておきます。
結構マルチコマルチコ言われてるんですけど、何がそんな問題なんだっけ?起きちゃったときは何しちゃだめで、何していいんだっけ?というのをちゃんとまとめておきたかったので良い機会化と。
基本的に重回帰分析での話がベースです。
1. 多重共線性とは。
説明変数同士が強く相関してしまっているケースで発生する問題の事です。
例えば以下の様なモデルを推定したいとします。
y = a + b*x_1 + c*x_2 + d*x_3 + u
この時cor(x_2, x_3)が高すぎると、多重共線性の問題が発生します。
結果x_2,x_3のパラメーターであるcとdの標準誤差が大きくなり、cとdの推定結果の正負も大きさも信頼のできないものとなって今います。
例えば労働者の賃金決定モデルを推定したいとして、x_2とx_3がそれぞれ年齢と経験であった場合、このような結果をもたらしてしまいます。(年齢が上がれば経験も上がるので相関する)
なので、このようなケースの場合には年齢と経験の効果を”個別なものとして”推定することが難しくなってしまいます。
ある説明変数kのパラメーターの分散は以下の様になっています。
R^2は変数kと他の変数との相関を表すものです。
よって、変数kが他の変数と強い相関を持てば持つほど、1に近づくことになります。
もしR^2が1に限りなく近づけば、分子が小さくなって結果的にkのパラメーターの分散は大きくなってしまいます。よって、t検定等をここに導入しても有意な結果となることはなくなってしまいます。
なので、説明変数間の相関が強く、多重共線性の問題があるとき、それらのパラメータの分散が大きくなってしまい、パラメータの有意差検定が意味をなさない事がわかるかと思います。
Variance Inflation Factor(VIF)なんかはこのR^2に着目している指標であり、ここの分子が大きいか小さいかを指標として多重共線性の問題が発生しているか否かを伝えてくれます。
2.多重共線性戦線異状無し。
さて、パラメーターの分散がインフレしてしまうのはわかりました。
t検定でも有意じゃないという結果が出ました。
じゃぁモデルから取り除くべきなんでしょうか?
ケースによります。
また以下の様な重回帰のモデルを考えます。上での例と同じようにx_2とx_3が相関しているとしましょう。
y = a + b*x_1 + c*x_2 + d*x_3 + u
この時、cとdで多重共線性の問題が発生しています。
しかし、分析している人が変数x_1の効果について知りたいと考えているとき、多重共線性は大きな問題にはなりません。
パラメーターbにとっての分散は先ほどと同じように以下のように計算されます。
この時x_1はx_2, x_3と強い相関を持っていなければR^2は小さな値に収まるので、パラメータの標準誤差が大きくなってしまう事はありません。
また、相関している変数のパラメーターの和の分散は正確に推定されることが知られています。
例えばc+dの分散は以下のようになります。r_23はx_2とx_3の相関係数です。(先ほどのR^2に対応する部分です)
r_23が1に近づけば、分母が2に近づくので、パラメーター一つで見たときのように分散が大きくなってしまわない事が解ります。
つまり単一のパラメーターとしては意味をなさなくなってしまいますが、組み合わせで見ることによりトータルの情報を表してくれます。
この事がさす結果として、予測モデルの精度という観点においては多重共線性は大きな問題ならないという事になります。
xとx^2の両方を説明変数として入れた時にパラメーターを別々に判断せずに、まとめて扱う事と同じ考え方ですね。
3.多重共線性が問題な時。
上では問題にならない時を2点あげました。
1. 相関をしている変数の効果を分析すること自体には意味がなく、ほかの変数のパラメーターに興味があるとき。(control variableとして相関する変数をモデルに入れるケースに起きる)
2. 予測モデルを作っているとき。(+パラメーターの解釈に特に興味がないとき)
じゃぁ問題になるときはいつなんでしょ。
単純な話、相関しているパラメーターのどれかに興味があるときですね。
提示されている対処法は基本的には二つです。
・サンプルサイズを増やす。(micronumerosityの問題として対処する)
・相関している変数のどれかをモデルから外す。(モデルに制約の仮定を置く)
僕がやってきた計量経済学なんかでは前者のアプローチをとるのは現実的に難しく、何らかの仮定を置いて変数を落とす方が良く使われていました。
4.(追記)正則化の話。
機械学習系の論文とかを読んでいるとマルチコの話は殆ど出てきません。
その辺がかなり気になっていたのですが、正則化を投入することで基本的にはマルチコの問題はなくなるみたいです。
ペナルティの中にパラメーターの大きさも入るようになっているので、最小化解いたらその辺も小さくなるようになっているのでしょう。
この辺とか参照すると、最後の要約の部分に変数間で相関してたら相関行列が正則にならなくて、パラメーターの解が不安定になってしまう事がマルチコの本質的な問題であって、正則化項はそれを”正則化”して変数を落としたりすることなく推定する方法ですよとしています。
一応教科書をいろいろ掘り返して調べた感じなのですが、不備があったらごめんなさい。
その際は教えて頂ければと。
<参考>