多変量データにおいて、すべての変数ペアの相関係数を網羅的に計算し、行列(テーブル)の形式で一覧化したものを「相関行列(Correlation Matrix)」と呼びます。探索的データ分析において、散布図行列による視覚的な確認と併せて、相関行列の数値を体系的に読み解くことは、データ構造の理解と予測モデル構築のための必須プロセスです。
相関行列は、変数の数を $p$ としたとき、$p \times p$ の正方行列となります。行列の対角成分は「同一変数同士の相関」であるため常に $1$ となり、対角線を軸として右上(上三角行列)と左下(下三角行列)は全く同じ数値が並ぶ対称行列の性質を持ちます。そのため、実務においては対角線で分割された片側の三角領域のみを確認するのが一般的です。
目的変数と説明変数の関係性を見極める
相関行列を読み解く際、最初に注目すべきは「予測したい対象(目的変数 $Y$)」と「各要因(説明変数 $X_i$)」の相関関係です。目的変数に対して絶対値の大きな相関係数を持つ説明変数は、予測モデルにおいて重要な特徴量(Feature)となる可能性が高いと判断できます。
例えば、相関行列のある列(または行)が目的変数である場合、その列を縦にスキャンし、$|r| \geq 0.4$ や $|r| \geq 0.6$ といった一定の基準を超える変数をリストアップします。ただし、前述の通り、相関係数が低いからといって「全く関係がない」と即断してはなりません。非線形な関係性が潜んでいる可能性を考慮し、必ず散布図での確認を並行して行います。
説明変数間の相関と多重共線性の検知
目的変数との相関を確認した後に最も重要となるステップが、「説明変数同士の相関($X_i$ と $X_j$ の相関)」の確認です。重回帰分析などの多変量解析手法を適用する前提として、説明変数間に極めて強い相関が存在してはならないという制約があります。この問題は「多重共線性(Multicollinearity:マルチコ)」と呼ばれます。
説明変数 $X_1$ と $X_2$ の間に強い相関(目安として $|r| \geq 0.8$)がある場合、両者は実質的にほぼ同じ情報を持っていることを意味します。これらを同時にモデルに投入すると、回帰係数の分散が不必要に拡大し、以下のような深刻な問題を引き起こします。
- 回帰係数の符号が、直感やビジネス上のセオリーと逆転する。
- データのわずかな変動によって、算出される係数の値が極端に変動し、モデルの安定性が失われる。
- 係数の統計的な有意性を正しく検定できなくなる。
相関行列は、この多重共線性の兆候をモデリングの事前段階で検知するための早期警戒システムとして機能します。
相関行列の視覚化表現(ヒートマップ)
変数の数が数十に及ぶ場合、数字の羅列から強い相関を見つけ出すことは困難です。そのため、相関係数の大きさに応じてセルに色の濃淡をつける「ヒートマップ(Heatmap)」の表現が用いられます。以下は、強い正の相関(赤系)と強い負の相関(青系)を視覚化し、多重共線性の疑いがある箇所を明示的にハイライトした相関行列の例です。
| 変数 | 賃料 (Y) | 専有面積 (X1) | 部屋数 (X2) | 築年数 (X3) | 駅徒歩 (X4) |
|---|---|---|---|---|---|
| 賃料 (Y) | 1.00 | 0.78 | 0.65 | -0.55 | -0.42 |
| 専有面積 (X1) | 0.78 | 1.00 | 0.89 | -0.05 | 0.12 |
| 部屋数 (X2) | 0.65 | 0.89 | 1.00 | 0.02 | 0.15 |
| 築年数 (X3) | -0.55 | -0.05 | 0.02 | 1.00 | 0.22 |
| 駅徒歩 (X4) | -0.42 | 0.12 | 0.15 | 0.22 | 1.00 |
※ 対角線に対して対称となるため、通常は上半分または下半分のみに着目します。赤枠は説明変数間で強い相関(多重共線性のリスク)を持つセルを示しています。
(図1. 相関行列のヒートマップ(多重共線性のハイライト付き))
実務事例 不動産賃料の予測モデルにおける変数選択
背景
ある不動産テック企業において、新規物件の適正な賃料を自動算出する予測モデルの開発を行っています。収集されたデータセットには、目的変数である「賃料」に加え、説明変数として「専有面積」「部屋数」「築年数」「駅からの徒歩分数」が含まれています。
分析と問題点
分析の初期段階で上記の相関行列を作成しました。目的変数である「賃料」との相関を見ると、「専有面積($r=0.78$)」と「部屋数($r=0.65$)」が高い正の相関を示しており、予測に有用な変数であることが確認できます。
しかし、説明変数同士の関係を確認すると、「専有面積」と「部屋数」の間に $r=0.89$ という極めて強い正の相関(赤枠のセル)が存在していることが判明しました。面積が広い物件ほど部屋数が多いというのは物理的に当然の構造ですが、これをそのまま重回帰モデルに投入すると多重共線性が発生し、「部屋数が増えると賃料が下がる」といった不自然な偏回帰係数が算出されるリスクがあります。
(図2. 説明変数間の強い相関(多重共線性のリスク))
解決策
相関行列から得られた知見に基づき、モデルの安定性を確保するための特徴量エンジニアリングを実施します。具体的には以下のいずれかのアプローチを採用します。
- 目的変数との相関がより強い「専有面積」のみをモデルに残し、「部屋数」を説明変数から除外する。
- 「1部屋あたりの平均面積」という新しい単一の変数を合成し、元の2変数を置き換える。
- 重回帰分析ではなく、多重共線性の影響を抑制できる正則化手法(リッジ回帰やLasso回帰など)を採用する。
このように、相関行列を正しく読み解くことは、単に「関係性の強さ」を知るためだけでなく、統計モデリングにおける重大なエラーを未然に防ぎ、適切な変数選択を行うための羅針盤となります。

