重回帰分析において、モデルの精度や信頼性を大きく損なう原因の一つに多重共線性(Multicollinearity:マルチコ)があります。これは、説明変数同士の中に「強い相関関係」が存在することで発生する統計的な問題です。
「データは多ければ多いほど良い」と考えられがちですが、似通った意味を持つ変数を無闇にモデルに投入すると、計算が不安定になり、誤った解釈を導くリスクがあります。本項では、多重共線性のメカニズム、発見するための診断指標(VIF)、そして具体的な対処法について解説します。
多重共線性とは何か
多重共線性とは、重回帰モデルに含まれる説明変数間で、強い線形関係(相関)が見られる状態を指します。
例えば、マンション価格を予測するモデルを作る際、説明変数に「専有面積($m^2$)」と「坪数」の両方を入れたとします。この2つは単位が違うだけで実質的に同じ情報(相関係数 $\approx 1$)を持っています。このように重複した情報を持つ変数が同時に存在すると、モデルは「どちらの変数が価格に影響を与えたのか」を識別できなくなります。
なぜ問題なのか?
多重共線性が発生すると、以下のような弊害が生じます。
- 偏回帰係数の分散が大きくなる(不安定になる):データが少し変わるだけで、係数の値が大きく変動してしまいます。
- 係数の符号が直感と逆になる:本来プラスの影響があるはずの変数が、マイナスの係数として推定されることがあります(例:駅に近いほど家賃が安くなる、という結果が出る)。
- 有意差が出にくくなる:標準誤差が膨張するため、t値が小さくなり、実際には重要な変数であっても「有意ではない(p値が高い)」と誤判定されるリスクが高まります。
多重共線性の診断:VIF(分散拡大係数)
多重共線性の有無を客観的に判断するために最もよく使われる指標が、VIF(Variance Inflation Factor:分散拡大係数)です。
定義式
ある説明変数 $x_j$ のVIFは、その変数を「目的変数」、他のすべての説明変数を「説明変数」として回帰分析を行ったときの決定係数 $R_j^2$ を用いて計算されます。
$$
VIF_j = \frac{1}{1 – R_j^2}
$$
- $R_j^2$ が高い(=他の変数で $x_j$ を強く説明できる)ほど、分母が0に近づき、VIFの値は大きくなります。
- $x_j$ が他の変数と全く無関係であれば、$R_j^2 = 0$ となり、$VIF = 1$(最小値)となります。
判断基準
一般的に、以下の基準で多重共線性を疑います。
- VIF > 10:深刻な多重共線性がある(強く対処が推奨される)。
- VIF > 5:多重共線性の疑いがある(注意が必要、分野によっては対処する)。
ただし、これらの閾値は絶対的なものではなく、サンプルサイズや分析の目的によって柔軟に解釈する必要があります。
その他の診断サイン
VIFを計算する前でも、分析結果の挙動から多重共線性を疑うことができます。
- モデル全体の決定係数($R^2$)は高いのに、個々の偏回帰係数のt検定がどれも有意ではない。
- 説明変数を追加・削除した際に、他の変数の係数が劇的に変化する。
- 相関行列を確認した際、説明変数間の相関係数が高い(一般に $|r| > 0.8$ や $0.9$ など)。
多重共線性への対処法
VIFが高い変数が特定された場合、以下のような対処を行います。
1. 変数の削除(変数選択)
最もシンプルで一般的な方法です。相関が高い変数ペアのうち、一方をモデルから除外します。
- 基準:目的変数との相関が低い方を除外する、あるいはビジネス上の解釈がしにくい方を除外する。
- 例:「年収」と「資産」の相関が高い場合、購買予測には「年収」の方が重要と判断して「資産」を外す。
2. 変数の合成・加工
相関が高い複数の変数を一つにまとめます。
- 合計・平均をとる:「数学の点数」と「物理の点数」の相関が高い場合、「理系科目の平均点」という新しい変数を作成する。
- 主成分分析(PCA):多重共線性を回避しつつ情報を集約する次元削減の手法を用いる(第9章で詳述)。
3. 正則化手法の利用
変数を削除したくない場合、リッジ回帰(Ridge Regression)などの正則化手法を用いることで、多重共線性の影響を抑えながら推定を行うことが可能です(次項6.3で詳述)。
実例:住宅価格予測におけるマルチコ
住宅価格を予測するために、以下の3つの説明変数を用いたとします。
- 部屋数
- 延床面積
- 築年数
分析の結果、以下のようなVIFが得られました。
| 変数 | VIF | 判断 |
|---|---|---|
| 部屋数 | 12.5 | 高(>10) |
| 延床面積 | 14.2 | 高(>10) |
| 築年数 | 1.8 | 低(問題なし) |
解釈:
「部屋数」と「延床面積」のVIFがともに10を超えています。これは、部屋数が多い家は必然的に面積も広くなるため、この2変数間に極めて強い相関があることを示しています。
対処:
両方を入れるとモデルが不安定になるため、「延床面積」のみを残して「部屋数」を除外して再分析を行います。その結果、VIFはすべて低い値に収まり、係数の信頼性が向上します。
注意点
- カテゴリ変数のダミー変数化:
カテゴリ変数(例:血液型A, B, O, AB)をダミー変数にする際、すべてのカテゴリを説明変数に入れると完全に多重共線性(VIF=無限大)が発生します(ダミー変数トラップ)。これを防ぐため、n個のカテゴリがある場合は、1つを基準カテゴリとして除外し、n-1個のダミー変数を使用する必要があります。 - 交互作用項や二乗項:
モデルの表現力を高めるために $x$ と $x^2$ を同時に投入すると、必然的に高い相関が生じます。この場合のマルチコは「構造的なもの」であり、中心化(平均を引く)などの処理である程度緩和できますが、解釈上問題なければ許容されることもあります。
まとめ
多重共線性(マルチコ)は、重回帰分析において頻繁に遭遇する問題です。放置すると、「モデルの予測精度は良いのに、変数の効果が正しく説明できない」という状態に陥ります。
分析者は必ず相関行列を確認し、VIF値をチェックする習慣をつけるべきです。そして、VIFが高い場合には、変数の削除や合成といった適切な処置を施すことで、シンプルかつ堅牢なモデルを構築することが求められます。
