本文へスキップ
統計ロードマップ
2026-05-03·統計検定対策·⏱ 約 6

重回帰分析の多重共線性 ─ VIF で診断・解決する方法

重回帰で『個々の係数は有意でないのに F 検定では全体が有意』という奇妙な結果が出る原因『多重共線性』。VIF(分散拡大係数)で診断し、変数削減・PCA・リッジで解決する実装手順を Python コード付きで解説。

重回帰分析を実行したら『個々の係数は有意でないのに F 検定全体は有意』『身長が増えると体重が 減る という直感に反する係数』── こんな結果に出会ったことはありませんか? 原因の多くは 多重共線性(multicollinearity) です。本記事では現象の本質、VIF による診断、解決方法を順に解説します。

多重共線性とは

定義

重回帰モデル で、説明変数同士に強い線形相関がある 状態を多重共線性と呼ぶ。極端な場合(完全多重共線性)は が特異になり、 が計算不能になる。

なぜ問題になるのか ─ 直感的説明

「身長」と「座高」が同じモデルにあると…

身長と座高はほぼ同じ情報を持っています。両方をモデルに入れると、モデルは『どちらが体重を予測するか』を区別できず、係数が不安定になります。同じデータでサンプルを少し変えただけで、 が +5 → -3 のように暴れる現象が起きます。

症状チェックリスト

  • 係数の標準誤差が異常に大きい: モデルが係数を確信できていない
  • 個々の t 検定では有意でないのに、F 検定全体では有意: もっとも典型的なシグナル
  • 係数の符号が直感と逆: 説明変数の効果が他変数に『食われている』
  • 変数を 1 つ追加/削除すると係数が劇的に変化: 不安定性の証
  • 説明変数間の相関係数 |r| > 0.9 の組み合わせがある

VIF(分散拡大係数)による診断

VIF (Variance Inflation Factor)

$$

他の説明変数だけで を回帰したときの決定係数 が他変数で完全に予測できるなら で VIF は無限大、独立なら で VIF = 1。

VIF の判定基準(慣例)

| VIF | 判定 | |---:|---| | < 2 | 問題なし | | 2〜5 | 軽度の相関、注意 | | 5〜10 | 多重共線性の疑い | | > 10 | 強い多重共線性、対処必要 |

慣例で VIF > 10 が『危険』ライン、研究分野により VIF > 5 を採用することも。

Python での実装

statsmodels で VIF を計算
初回のみ Pyodide(~10MB)を CDN から読み込みます

解決方法 ─ 4 つのアプローチ

1. 変数を削減する

最もシンプル。VIF が高い変数のうち、ドメイン的に意味的に重複している方 を削除します。例: 身長と座高なら身長を残す、年収と年間支出なら年収を残す。

2. 変数を統合する

相関する変数を 合成変数 にまとめる。例: 「数学スコア + 物理スコア」を「理系総合スコア」に。意味が説明可能なら最も解釈しやすい解決策。

3. 主成分分析(PCA)で次元圧縮

説明変数を直交化(無相関化)した主成分スコアで回帰する。多重共線性は完全に解消されますが、係数の解釈性は失われる ため、予測重視の場面で。

4. リッジ回帰(L2 正則化)

で、 を加えることで の特異性を回避。バイアスは増えるが分散が大幅に減り、予測精度が向上する場合が多い。Lasso(L1)も類似。

統計検定 2 級での出題傾向

  • 多重共線性の症状を選ばせる問題(『個別 t 値が小さいのに F 検定で全体有意』を選ぶ)
  • VIF の式と判定基準:
  • 対処法を選ばせる問題: 変数削減・PCA
  • よくある選択肢の罠: 『サンプルサイズを増やす』は対症療法にすぎず、根本解決ではない

実務での教訓

前処理段階で気付こう

回帰モデルを fit する に、説明変数の相関行列(`df.corr()`)を必ず確認する習慣を。|r| > 0.8 のペアがあれば、回帰前に統合・削除を検討しましょう。Kaggle・社内データ分析でも同じです。

まとめ

  • 多重共線性 = 説明変数同士の強い相関 → 係数が不安定に
  • VIF > 10 で要注意、> 5 で警戒
  • 解決: 変数削減 → 統合 → PCA → リッジの順で検討
  • 前処理での相関行列確認が予防策

関連リンク

  • [統計検定2級 教科書 3.3 重回帰](/textbook/grade-2#ch3-sec3)
  • [用語集 → 多重共線性](/glossary/%E5%A4%9A%E9%87%8D%E5%85%B1%E7%B7%9A%E6%80%A7)
  • [用語集 → VIF](/glossary/VIF)
  • [ブログ: 重回帰分析を1から](/blog/multiple-regression-explained)
Sponsored / Recommended

本気で AI エンジニアを目指すなら ─ 関連スクール

以下は当サイトと提携しているスクールの紹介です。リンク経由でのお申込で運営費を支援できます(読者の皆様の追加負担はありません)。

Related Articles

関連記事