重回帰分析をした場合に、説明変数間で強い相関があること。かなり脅してくるWeb記
事が多いのだがどれくらいで「強い」と見なされるのか、どのような不具合があるかについ
ては記事によってふにゃふにゃ違う。
多重共線性の指標としてはVIF値というものがあり、
VIF = \frac{1}{1-r^2} \\
r^2: 説明変数のうち1つを従属変数、その他の説明変数を \\
説明変数とした重回帰分析の決定係数
c.f. https://plaza.umin.ac.jp/~health-stat/faq/faq23/
となっている。これについてWeb記事の場合、VIF>10で多重共線性を疑う、という記述が
多いようですが、下記の2つ目の書籍ですとVIF>5で疑う必要があると言っているようで
す。ただ、この値だからダメでこの値だったらよいという基準値があるわけではなく、あく
までも怪しいのでよく見ろ、という大まかな目安があるという程度のものです。
私の経験ですと、
- 説明変数がきっちり決まっていることは少なく、ざっくり当てはめそこから絞り込
むような条件であればVIFが高いものをざっくり減らすか、Lassoなどの手法を用い
る - 変数Aと変数Bのどちらかがより一般的ならどちらかに絞る
- 変数Aと変数Bの原因となる変数αがあるのであればAとBではなくαと入れ替える
などの方が、色々と複雑な加工や解析を行うよりもまずは重要かと思います。
定評のある書籍で調べてみました(すみません回帰分析自体の専門書は持っていないので
すが)。
説明変数を減らす、変数の変換、階差をとる、データ数を減らすなどの「民間療法」は副作用を伴い必ずしも正しいとは言えない
一般的な経験則として、VIF>5.0であれば共線性を軽減する必要があります。
(中略)
共線性を緩和する3つの一般的な戦略があります。(以下要旨)
相関の強い変数を削除する
主成分分析を実施する
共線性に対して頑健なランダムフォレスト法等を用いる
多重共線性は、実際に分析を行う際に十分に注意しなければならない。この問題が生じたときの対応は、方法として最も簡単には、説明変数をよく点検して原因となっている変数を取り除くか、あるいはそのままとして分析法を工夫するかである。後者としてはリッジ推定、もしくは主成分回帰などの方法が有効である。
(引用者注:説明変数1と2が)ほとんど似た動きをするため、多重共線性によって片方あるいは両方が有意でなくなることが予想されます。そうした場合、片方ずつを説明変数に用いた推定を行い、それぞれの結果を考察するなどの対処がとられます。
- 『実証分析入門』
実際の実証分析においては多重共線性を気にする必要性は、必ずしも高くはない。自分が興味関心のある変数とは関係ないところで多重共線性が発生している場合には放置してかまわないし、自分が興味関心のある問題に多重共線性が発生している場合であっても、関連する変数を全て取り込むことが理論的に妥当だと確信できるような場合には、これを外すべきではない。
結論としてはWeb記事が脅すほどではないし、むしろむやみに説明変数を減らすなというニュアンスが強い。10前後の確度の高い説明変数がある場合と、数十から数百の説明変数を絞り込む場合などでもまた違うのでしょうが。
まとめ
- 何のために分析しているのかに立ち戻る
- 重回帰分析以外が適切な場合もある
- それらを検討せずVIFで機械的に削除は必ずしも正しくない。削除するならば説明変数の意味を検討しながら
その他データ分析系の本の紹介は【データ分析の必読10冊+差をつける10冊+100冊超】データサイエンス、データ分析、機械学習関連の本