多重共線性
Multicollinearity ・ たじゅうきょうせんせい
説明変数どうしが強く相関し、回帰係数の推定が不安定になる現象
概要
多重共線性は、重回帰分析で説明変数どうしが強く相関しているために、回帰係数の推定が極端に不安定になる現象です。日本の実務では「マルチコ」という略称でも呼ばれます。たとえば家賃を「専有面積」と「部屋数」で説明しようとすると、広い部屋は部屋数も多いのが普通なので、この2つはほぼ同じ情報を持っています。すると「家賃の高さは面積のおかげか、部屋数のおかげか」をデータから切り分けられなくなります。
厄介なのは、モデル全体の予測はそれなりに当たるのに、個々の係数だけが壊れることです。係数の符号が常識と逆になる、データを少し変えただけで係数が大きく動く、効いているはずの変数が有意にならない — こうした「係数が信用できない」症状の代表的な原因が多重共線性です。回帰の結果を係数まで読んで意思決定に使うなら、必ず確認すべき診断項目です。
なぜ生まれたか
多重共線性は誰かが発明した手法ではなく、重回帰が普及する過程で発見された「重回帰の弱点」です。重回帰の係数は「他の変数を固定したうえで、その変数だけが1増えたときの効果」を意味します。この解釈が成立するには、その変数が他の変数と独立に動いているデータが必要です。ところが2つの変数がほぼ連動して動いているなら、「片方だけが動いた」ケースがデータの中にほとんど存在せず、切り分けの根拠がそもそもデータにない。ないものを無理に推定するので、答えがわずかなノイズで大暴れするのです。
経済データの分析でこの問題は早くから顕在化しました。所得・消費・資産のようなマクロ経済の変数は互いに連動して動くため、回帰に入れると係数が滅茶苦茶になる。1930年代に計量経済学者のフリッシュ(Frisch)がこの構造を分析して以来、多重共線性の診断と対処は回帰分析の標準カリキュラムになりました。VIFのような診断指標や、リッジ回帰のような対処法は、いずれもこの問題への応答として生まれています。
詳細
何が起きているのか — 情報の重なり
各説明変数が目的変数の説明に持ち込む情報を円で表すと、多重共線性の構造が見えます。変数どうしが無相関なら円は重ならず、それぞれの係数は自分の担当分をきれいに受け持ちます。変数どうしが強く相関していると円が大きく重なり、重なった部分の手柄をどちらの係数に配分するかがデータから決められません。配分の仕方は無数にあり得るため(片方を大きくもう片方を小さく、あるいは逆でも、合計の予測はほぼ同じ)、推定はノイズ次第でどの配分にも転びます。これが「予測は当たるのに係数は不安定」という症状の正体です。
技術的に言えば、多重共線性は係数の標準誤差を膨張させます。係数の推定値そのものに偏りが出るわけではなく、「振れ幅」が巨大になるのです。標準誤差が膨らめば信頼区間は広がり、t検定は有意になりにくくなります。本当は効いている変数が「有意でない」と表示される — 検定結果だけを見て変数を捨てると、この罠にはまります。
診断 — VIFという物差し
定番の診断指標がVIF(分散拡大要因、Variance Inflation Factor)です。各説明変数について「その変数を目的変数にして、残りの説明変数で回帰したときの決定係数」を求め、1 ÷ (1 − 決定係数) を計算します。他の変数から全く説明できなければVIFは1(膨張なし)、決定係数が0.9なら10倍に膨らんでいることを意味します。経験則として「VIFが10を超えたら深刻」「5あたりから注意」がよく使われます。2変数間の相関係数だけでは、3つ以上の変数の組み合わせで生じる共線性(たとえば x3 がほぼ x1 + x2 に等しい場合)を見逃すため、ペアの相関ではなくVIFで確認するのが作法です。回帰を当てはめたあとのモデル診断の一環として、残差の確認とセットで行います。
なお、ダミー変数の作り方による「完全な共線性」もあります。たとえば「男性ダミー」と「女性ダミー」を両方入れると、2つの和が常に1になって切片と完全に重複し、そもそも解が一意に決まりません。カテゴリ変数は水準を1つ落として入れる、という決まり事はこの完全共線性を避けるためのものです。
対処 — 削る・まとめる・抑える
対処の第一候補は素朴で、重なっている変数のどちらかをモデルから外すことです。面積と部屋数がほぼ同じ情報なら、解釈しやすい方だけを残す。予測が目的なら、これでほとんど困りません。第二の道は、重なった変数群を1つの合成変数にまとめることです。主成分分析で相関する変数群を少数の合成軸に縮約してから回帰する方法(主成分回帰)や、理屈に基づいて指標を合成する方法があります。第三の道は、係数に罰則をかけて暴れを抑える正則化です。リッジ回帰は係数の二乗和に罰則を課すことで、多重共線性下でも推定を安定させます。わずかな偏りと引き換えに分散を大幅に下げる、という発想です。
最後に大事な視点として、多重共線性は「常に退治すべき悪」ではありません。目的が予測だけなら、係数が不安定でもモデル全体の予測精度はほとんど損なわれないため、放置してよい場面も多いのです。問題になるのは、係数を読んで「どの要因がどれだけ効くか」を語りたいときです。回帰の目的が予測なのか解釈なのかをまず区別し、解釈が目的のときにだけ本気で対処する — これが多重共線性との現実的な付き合い方です。
