← 一覧へ
AI・データ
#다중공선성#회귀분석#VIF#PCA#Ridge#132회
最終更新 · 2026-09-30

多重共線性(Multicollinearity)

1. 概要

A. 定義

重回帰において独立変数(説明変数)どうしの間に強い線形相関が存在し、個々の回帰係数の推定が不安定になり解釈が歪む現象である。

重回帰分析の本質は、複数の説明変数が同時に存在するとき「他の変数をすべて統制した状態で、ある一つの変数が従属変数に与える純粋な固有効果」を係数として分離し推定することである。回帰係数βⱼが「他の変数が一定のときXⱼが一単位変化したときのYの変化量」と解釈されるのもこのためである。ところが、この効果の分離が統計的に成り立つには、各独立変数が互いに十分独立した情報を含んでいなければならない。二つの変数がほぼ同じ方向にともに動くと、回帰式は「従属変数の変化をAが生んだのかBが生んだのか」を区別する根拠を失う。

数学的に見ると、この問題は計画行列(design matrix)Xの列が線形従属に近づくことに帰着する。最小二乗推定量はβ̂ = (XᵀX)⁻¹Xᵀyで与えられるが、列が線形従属に近づくとXᵀXが特異行列(非可逆)に近づき、その行列式が0へ収束しながら逆行列の要素が爆発的に大きくなる。係数推定値の分散はこの逆行列の対角要素に比例するため、結局β̂の分散が膨張し、推定値は標本がわずかに変わっただけでも大きく揺れ動く。すなわち多重共線性はデータに誤りがあって生じる問題ではなく、変数構造そのものに由来する識別(identification)問題であると理解することが核心である。

B. 問題点と必要性

多重共線性が強いと三つの症状が現れる。第一に、係数の標準誤差が大きくなり(分散膨張)t検定統計量が小さくなって、実際には重要な変数であっても「統計的に有意でない」という誤った結論が出る。第二に、係数の符号が理論と逆に反転したり、非現実的に大きな値で推定される。たとえば所得と消費を同時に説明変数に入れると、両者の係数が互いに相殺・補償しあって符号が揺らぐ。第三に、標本をわずかに変えたり変数を一つ追加・除去しただけでも係数が劇的に変動し、モデルの安定性が崩れる。

興味深い点は、こうした状況でもモデル全体の予測力(R²、F検定)はそのまま保たれうることである。個々の変数の寄与を分けられないだけで、相関した変数が合わさって生み出す予測は依然として有効だからである。この観察が対応戦略の出発点となる。すなわち、「変数の影響を解釈・推論する」ことが目的なら必ず処理しなければならないが、「予測精度のみ」が目的なら放置するか正則化で管理するだけで十分な場合が多い。このように分析目的をまず規定することが、多重共線性対応の最初のボタンである。

2. 発生原因とメカニズム

多重共線性の原因を理解するには、「なぜ計画行列の列が線形従属に近づくのか」をデータ生成過程まで遡って見なければならない。以下は原因が係数の不安定へとつながる全体構造を示した概念図である。

flowchart LR
  A["変数設計の段階"] --> B["重複・派生変数の投入"]
  A --> C["自然相関の変数"]
  A --> G["標本不足・狭い分布"]
  B --> D["計画行列の列が線形従属に近接"]
  C --> D
  G --> D
  D --> E["XᵀX が非可逆に近接"]
  E --> F["逆行列の要素が爆発 → 係数分散が膨張"]
  F --> H["標準誤差↑ · 符号反転 · 不安定"]

第一に、同じ情報を単位や尺度だけ変えて重複投入する重複変数が最も深刻である。身長をcmとinchで同時に投入すると二つの列は正確に比例するため完全共線性(perfect collinearity)となり、この場合XᵀXは完全に非可逆となって係数推定そのものが不可能になる。カテゴリ変数をダミー化する際にすべてのカテゴリを入れて定数項と完全従属になるダミー変数の罠(dummy variable trap)も同じ性質の事例である。

第二に、既存変数から算術的に作った派生・合成変数は元の変数と構造的に絡む。たとえば「総点」と「国語・英語・数学の点数」をともに入れると、総点は三科目の和であるため完全従属となり、売上と単価・数量をともに入れても同様の問題が生じる。こうした派生変数は新しい情報を追加しないまま共線性だけを引き起こす。

第三に、データが発生する現実世界そのものの自然相関(natural correlation)が実務で最も多く、扱いが厄介である。所得と消費、住宅の面積と部屋数、年齢と職歴のように本質的にともに動く変数は除去も難しく、どれを残すかの判断が必要である。さらに、標本数が少ないか説明変数の分布が狭いと(例:特定の所得帯のみ観測)変数間の相関が偶然に誇張され、共線性が悪化する。

原因 例 性質 深刻度
重複変数 身長(cm)と身長(inch)を同時投入 完全共線性 非常に高い(除去で解決)
ダミー変数の罠 全カテゴリのダミー + 定数項 完全従属 高い(一カテゴリを除外)
派生・合成変数 総点 = 科目和、売上 = 単価×数量 構造的従属 高い
自然相関 所得-消費、面積-部屋数 近似共線性 判断が必要
標本不足・狭い分布 小標本、観測範囲の狭さ 偶然・構造の混在 中程度

3. 診断方法

診断の核心的な問いは「ある変数が残りの変数の線形結合でどれだけよく説明されるか」である。これを計量する代表的指標がVIF(分散膨張係数、Variance Inflation Factor)である。i番目の変数を残りの独立変数で回帰したときの決定係数をRᵢ²とすると、VIFᵢ = 1 / (1 − Rᵢ²)で定義される。この式の意味は直観的である。Rᵢ²が0に近いと(他の変数で説明されない)VIFは1に近く、Rᵢ²が1に近いと(他の変数でほぼ完全に説明される)VIFは無限大に発散する。たとえばRᵢ² = 0.9ならVIF = 1/(1−0.9) = 10となり、これはその変数の係数分散が共線性のまったくないときに比べて10倍膨張したことを意味する。したがって標準誤差は√10 ≈ 3.16倍大きくなる。

以下は診断手順を段階的に示した詳細プロセス図である。

flowchart TD
  S["説明変数の候補を確定"] --> C["① 相関行列 · 対別相関の確認"]
  C --> C1{"±0.8 以上か?"}
  C1 -->|疑い| V["② VIF計算 · 多変量関係の把握"]
  C1 -->|なし| V
  V --> V1{"VIF ≥ 10?"}
  V1 -->|はい| K["③ 条件指数 · 深刻度の診断"]
  V1 -->|いいえ| OK["共線性は軽微 · 続行"]
  K --> K1{"条件指数 30 以上か?"}
  K1 -->|はい| ACT["解決策を適用"]
  K1 -->|いいえ| OK

相関行列は二変数の対のみを見るため、三つ以上の変数がともに絡む多重共線性は見逃しうる。たとえばX₃ ≈ X₁ + X₂のように三変数が絡むと、X₁-X₃、X₂-X₃の対別相関はそれぞれ大きくないかもしれないが、三つをともに入れると深刻な共線性となる。この限界のためVIFと条件指数(condition index)で補完する。条件指数はXᵀX(または相関行列)の最大固有値と最小固有値の比の平方根で定義され、値が大きいほど行列が特異に近いことを意味する。通常、条件指数が10〜30なら中程度、30を超えると深刻な共線性と判断する。

診断は一つの指標だけで断定せず、三つの方法を段階的に併用するのが安全である。まず相関行列で明白な対別の問題をふるい落とし、VIFで多変量関係を定量化したうえで、境界事例は条件指数と固有値構造まで確認する。たとえばVIFが8〜9と閾値10の近辺にかかる変数は、標本が小さいか因果解釈が重要な分析なら保守的に処理し、予測重視の大規模データなら正則化で吸収するというように、文脈に応じて判断を変える。

方法 判断基準 原理 限界
相関係数 独立変数間 |r| ≥ 0.8 対別の線形関係を把握 3変数以上の関係を見逃す
VIF/許容度 VIF ≥ 10(厳格には5)、許容度=1/VIF ≤ 0.1 一変数を残りで説明した度合い 閾値が慣例的
条件指数 30以上で深刻 固有値の最大/最小比の平方根 解釈に経験が必要

4. 解決方策

最も重要な点は、解決策が先に規定した分析目的(解釈 vs 予測)と原因(重複 vs 自然相関)に応じて変わるということである。唯一の正解があるのではなく、状況ごとのトレードオフを判断する問題である。

解釈が目的のとき最も直接的な方法は変数除去である。相関の高い変数の対から、ドメイン上重要度が低いか測定が不正確な側を除去する。ただし理論的に必要な変数をなくすと欠落変数バイアス(omitted variable bias)が生じて残りの係数が歪みうるため、「共線性の解消」と「バイアスの誘発」の間の均衡を慎重に量らなければならない。情報損失が懸念されるなら、相関した変数を束ねて互いに無相関な新しい軸へ再構成する主成分分析(PCA)・因子分析を使う。PCAは共線性を根本から除去するが、新しい軸(主成分)が元の変数の意味を失い解釈力が落ちるという代償を伴う。

予測が目的なら、係数を0の側へ収縮させる正則化(規制)回帰が実用的である。Ridge回帰(L2正則化)は係数の二乗和に罰則を与え、共線性の下でも係数分散を大きく下げて安定化させ、変数を除去せずすべて保持したまま扱う。Lasso回帰(L1正則化)は係数の絶対値和に罰則を与え、相関変数の一部の係数を正確に0にして自動変数選択の効果を出す。両者を結合したElastic Netは相関した変数グループをともに選択または排除するのに強く、ゲノムデータのように変数が多く相関の強い高次元問題によく使われる。

このほか、標本拡大で情報量を増やせば偶然的相関が緩和され、交互作用項・多項項による共線性は変数を平均中心へ移す中心化(centering)でかなりの部分を減らせる。

方策 内容 適合状況 代償・注意
変数除去 相関の高い変数の一つを除去 重複・完全共線性、解釈目的 欠落変数バイアスの危険
次元縮約(PCA) 無相関の成分へ再構成 情報保存・多数の相関 解釈力の低下
正則化回帰 Ridge(L2)·Lasso(L1)·Elastic Net 予測目的・高次元 わずかなバイアスを甘受
データ補強・中心化 標本拡大、centering 小標本・交互作用項 根本解決でないことがある

5. 事例比較

具体的な数値で違いを見よう。住宅価格の予測モデルに「専用面積(㎡)」と「部屋数」をともに入れたところ、面積のVIFが8.5と出たとする。二つの変数は自然相関が強いが、それぞれ価格に独立した情報(同じ面積でも部屋が多ければ選好が異なる)を与えるため、むやみに除去するのは惜しい。このとき予測が目的ならRidgeで二つの係数を安定化するほうが合理的である。一方「政策報告書で部屋数1増加の純効果」を因果的に解釈しなければならないなら、面積を統制したうえで部屋数の係数を慎重に解釈するか、設計を見直さなければならない。同じデータでも目的によって処方が分かれるのである。

別の例として、マーケティングデータで「TV広告費」と「総広告費」をともに入れると(総広告費 = TV+オンライン+オフライン)完全に近い共線性が発生し、TV係数の符号が負に反転することがよくある。これは派生変数重複の典型であり、総広告費を外すかチャネル別のみで構成すれば解決する。ツリー系モデル(ランダムフォレスト・XGBoost)は分岐規則で動作し共線性に相対的に鈍感なため、純粋な予測が目的ならモデル選択そのものが対応策になることもある。

6. 深化:機械学習・正則化の観点からの最新の流れ

伝統的な統計学では多重共線性は「除去すべき欠陥」として扱われたが、現代の機械学習では正則化(Regularization)と特徴量エンジニアリング(feature engineering)で管理する対象へと観点が移っている。scikit-learn・statsmodelsのような標準ツールはVIF計算とRidge/Lasso/Elastic Netを標準で提供し、交差検証で正則化強度(λ)をデータ主導で選ぶことが標準実務となった。特に変数数pが標本数nより大きい高次元(p ≫ n)の状況(ゲノミクス、テキスト、センサーデータ)では共線性が必然であるため、変数除去よりL1/L2正則化と次元縮約が事実上唯一の実用解である。

MLOps・特徴量ストアの観点では、事後処方より事前予防が強調される。特徴量ストアに登録する段階で相関の高い派生特徴量を標準化・文書化し、データガバナンスの次元で重複特徴量の再生産を防ぐのである。また因果推論の分野では共線性が因果識別の根本的限界として再解釈され、単純な相関統制ではなく実験計画・操作変数(IV)のような識別戦略で接近する流れが強まっている。

7. 考慮事項および示唆点

  • 目的優先の判断:多重共線性は統計的欠陥ではなく、分析目的に応じた選択問題である。予測精度のみ必要なサービス(推薦・需要予測)なら共線性を許容し正則化で管理するのが合理的だが、政策・因果解釈が必要な分析(要因効果の究明)では必ず除去・再構成しなければならない。
  • モデル選択との連携:線形・ロジスティック回帰は共線性に敏感だが、ツリー系モデルと正則化モデルは相対的に鈍感である。したがって問題の性質に合ったアルゴリズム選択そのものが第一の防御線になりえ、アンサンブル・正則化は自然な対応機構である。
  • 事前予防が最善:事後の診断・処方より、ドメイン知識に基づく変数設計で重複・派生変数を最初から入れないことが最も効果的である。これは特徴量ストアの標準化、データガバナンス、再現可能なパイプライン管理に直結する。
  • 閾値の相対性:VIF ≥ 10、条件指数 ≥ 30のような基準は絶対法則ではなく慣例である。標本サイズ・モデル目的・業界慣行に応じて柔軟に適用しつつ、判断根拠と処理履歴を文書化して再現性と監査追跡性を確保すべきである。
  • 因果推論との境界:共線性の統制は相関を減らすだけで因果を保証しない。因果効果が必要なら、回帰技法を超えて実験計画・準実験(自然実験)・操作変数などの識別戦略を併用することが技術士の観点からの成熟した接近である。

参考資料


一言まとめ: 多重共線性は独立変数間の強い線形相関により計画行列XᵀXが非可逆に近づき回帰係数の推定が不安定になる識別問題であり、VIF(≥10)・条件指数(≥30)で診断し、分析目的(解釈 vs 予測)に応じて変数除去・PCA・Ridge/Lasso/Elastic Netで対応する。現代では事後除去より正則化・特徴量設計で管理する対象へと観点が移っている。