1 相関行列の基本
1.1 相関行列の定義
相関行列は、複数の変数の組み合わせについて「関連の強さ」と「方向」を、同じ型の表(行列)として整理したものです。行と列は変数を対応させ、各要素には当該2変数間の相関係数が入ります。これにより、変数全体の関係構造を一目で概観できます。
相関は、変数がどの程度同じ向き(または逆向き)に変化する傾向があるかを数値化した指標です。行列の形にすることで、個別ペアの比較を越えた俯瞰が可能になります。
1.2 相関係数の種類
相関係数には複数の系統があり、前提となる関係の形やロバスト性の性質が異なります。目的に合う係数を選ぶことが、解釈の妥当性を左右します。
また、相関係数の値は0が「無相関」、正が「正の同方向の傾向」、負が「逆方向の傾向」を示す点で共通しますが、「何が同方向とみなされるか」は係数の定義に依存します。
1.2.1 直線関係の相関係数
直線的な関係を主に捉える指標として代表的なのが、ピアソンの相関係数です。これは、2変数の平均からのずれの共分散を、各変数の分散で正規化した量として定義されます。値は通常−1から1の範囲に収まり、線形回帰の適合度の一種の見方にも関連します。
ピアソン相関は、線形性からのずれが大きい場合や外れ値が強い場合に、実態よりも小さい(または大きい)関連しか反映しないことがあります。
1.2.2 順位に基づく相関係数
順位に基づく相関は、単調な関係(増加とともに増える、または減少とともに減る)を捉えることを意図します。代表例としてスピアマンの順位相関係数やケンドールの順位相関係数があります。
スピアマンはデータを順位に置き換えたうえでピアソン相関を計算する形で、単調性の検出に向きます。ケンドールは順位の一致・不一致の数から関連の度合いを推定し、サンプルサイズやタイ(同順位)の扱いを含めて性質が異なります。極端値の影響を受けにくい傾向があります。
1.2.3 その他の関連指標と使い分け
相関係数以外にも「関連」を測る指標があります。たとえば距離相関は、非線形の依存関係を検出する設計がなされています。カテゴリ変数を含む場合には、適切な類似度や独立性検定に基づく指標を併用するのが一般的です。
係数の選択は、(1)変数の尺度(連続、順序、カテゴリ)、(2)想定する関係(線形、単調、一般的な依存)、(3)分布の歪みや外れ値の存在、(4)計算コストと解釈のしやすさ、の観点で決めます。
1.3 行列の性質
相関行列は、計算方法に依存しつつも、一般に理解しやすい規則性を持ちます。これらの性質はデータ品質の点検にも役立ちます。
1.3.1 対称性
多くの相関係数では、変数Aと変数Bの関係は入れ替えても同じ値になります。したがって相関行列は対称行列になり、i行j列の値はj行i列の値と一致します。対称性の崩れは、計算設定の違いや欠損処理の不一致、実装上の取り扱い漏れなどを示唆することがあります。
1.3.2 対角成分
対角成分は通常、各変数の「自己相関」に相当します。自己相関は定義によって1になることが多いですが、採用した係数や前処理(標準化の有無、スケールの扱い)によって実装上の値が変わり得ます。対角が期待値から大きく外れている場合は、定義の確認や分散ゼロ(変数が一定)の有無を点検します。
1.3.3 範囲と解釈上の注意
多くの相関係数は理論上−1から1の範囲に入りますが、すべての依存指標が同じ範囲とは限りません。比較可能性を担保するには、「同一の係数を一貫して計算したか」「前処理条件が揃っているか」を確認する必要があります。
解釈では、数値の大きさだけで関係の実用的強度を判断しないことが重要です。サンプル数、ばらつき、分布形状、非線形性によって同じ相関係数でも意味合いが変わります。
2 計算と実装
2.1 前処理の考え方
相関行列の品質は、係数そのものよりも前処理の影響を受けることが少なくありません。計算前にデータの形を整えることで、解釈の信頼性が上がります。
2.1.1 標準化の必要性
連続変数に対してピアソン相関を計算する場合、平均と分散に基づく正規化が係数定義に含まれるため、単位の違いは基本的に緩和されます。ただし実務では、実装ライブラリの仕様や欠損処理、変換の有無が結果に影響することがあります。
順位相関や非線形指標では、スケール変更の影響の度合いが変わるため、「どの変換が意味を壊さないか」を確認します。
2.1.2 欠損値への対応
欠損があると、ペアごとに利用できるデータ数が変わり、相関行列の要素間で比較条件が不揃いになります。実装では、(1)欠損を含む行・列を除外する、(2)欠損を補完してから計算する、(3)ペアワイズで計算する、などの選択肢があります。
補完は利便性がありますが、補完手法が依存構造を歪める可能性もあるため、目的に応じて妥当性を評価します。ペアワイズ除外では、対称性が崩れる場合がある点も確認対象です。
2.1.3 外れ値の影響
外れ値は線形相関を特に不安定にします。ピアソン相関では外れ値が共分散を押し上げるため、見かけの関連が強まったり弱まったりすることがあります。
外れ値の扱いは二段階で考えると整理しやすく、第一に「データ取得・入力の誤りがないか」を点検し、第二に「ロバストな係数(順位相関など)の採用」や「変換(対数など)」「極端値の影響低減」を検討します。
2.2 相関行列の算出手順
実装の段取りを固定化すると、再現性と検証可能性が高まります。以下は一般的な流れです。
2.2.1 データ整形
対象変数の選定を行い、データ型を揃えます。連続値の欠損・型の混在(数値列に文字が混ざる等)を修正し、必要なら変換(例:対数変換)を適用します。順位相関を使う場合は、同順位の扱い方も仕様として決めます。
また、スケールや単位の不整合が後段の可視化や解釈に影響するため、前処理後の状態を記録しておきます。
2.2.2 相関係数の計算
係数の種類を決め、各変数ペアに対して一貫した計算条件で相関を算出します。欠損の扱い(除外か補完か、ペアワイズか)もこの段階の仕様として固定します。
計算量を抑えたい場合は、変数数が多いときにブロック処理や型変換の最適化を行うことがありますが、結果の仕様が変わらない範囲で最適化します。
2.2.3 行列としての整理
算出された値を、変数名の順序に従って行列の形に配置します。対称性が理論的に期待される係数では、計算結果の配置が正しいかを点検します。
可視化や後続処理の都合で、行列をデータフレーム化したり、対角や欠損箇所の表現方法(NaNなど)を決めたりします。
2.3 ソフトウェアでの計算
ライブラリの選択と設定が、結果の細部を左右します。ここでは実装時に特に注意すべき点を整理します。
2.3.1 計算関数の選択
ピアソン、スピアマン、ケンドールといった関数が用意されている場合、デフォルト設定(欠損の扱い、計算の丸め、タイ処理)が文献と一致するとは限りません。関数名だけでなく、引数と計算仕様を確認することが重要です。
距離相関や相互情報量系の指標を使う場合は、推定法(カーネル、離散化、近傍数など)に依存します。これらはデータ規模と計算時間にも大きく影響します。
2.3.2 表示・出力の注意点
相関行列の表示では、色のスケールや欠損の色分けが解釈に直結します。ヒートマップでは上限・下限が固定されているか、色バーの範囲が一定かを確認します。
また、浮動小数の丸めにより対称性が崩れて見えることがあります。比較のために必要なら精度を維持し、可視化時のみ丸める運用が一般的です。
2.3.3 再現性の確保
乱数を用いる補完法や推定法を含む場合は、シードを固定します。ライブラリのバージョン変更で結果が変わる可能性もあるため、実験条件を記録します。
入力データの前処理(欠損処理、変換、フィルタ条件)も含めてパイプラインをコード化し、同じ手順を再実行できる状態にしておくことが望まれます。
3 可視化と解釈
3.1 ヒートマップによる読み取り
ヒートマップは、相関行列の値を色で表し、パターンを直感的に把握するのに適しています。強い正の関連や強い負の関連がまとまって見える場合、変数群の間に共通構造がある可能性が示唆されます。
読み取りでは、対角線以外の値に注目し、色の濃淡と色バーの対応を必ず確認します。縦横の軸ラベルの順序が元の変数順と一致しているかも重要です。
3.2 相関の強さと実務的意味
相関係数は、相手の変化と同時にどれだけ動きやすいかを要約しますが、実務上の意味は目的により変わります。
3.2.1 正の相関・負の相関
正の相関は、片方の増加に伴ってもう片方も増えやすい傾向を表します。負の相関は逆に、増えると減りやすい方向の関連を示します。
ただし、変数の定義(たとえば分母で割った指標やスコアの反転)によって符号の解釈が直感から外れることがあります。スコアの向きや計算式を確認して符号を理解するのが安全です。
3.2.2 相関が弱い場合の扱い
弱い相関は、無関係と同義ではありません。非線形の依存がある場合、線形相関では小さく見えることがあります。また、測定誤差が大きいと見かけの関連が減衰します。
したがって「小さい=意味なし」ではなく、「係数の選択が依存の形に合っているか」「誤差や変換の影響がないか」を検討します。
3.3 有意性と推定
相関係数の観測値は標本に基づくため、ばらつきが存在します。そのため、どの程度信頼できるかを推定する枠組みが必要になります。
3.3.1 有意差検定の考え方
有意性は、帰無仮説(例:母相関が0)に対して観測された値がどれほど起こりにくいかを評価する考え方です。サンプル数が大きいほど小さな相関でも有意になりやすく、逆に小規模では検出力が低下します。
検定を多数行う場合、見逃しや過剰発見を調整するための多重比較の考慮が重要になります。ヒートマップ上で「色が濃い」ことと「統計的に確かなこと」は別扱いにするのが適切です。
3.3.2 信頼区間の解釈
信頼区間は、母相関が取り得る値の範囲を示します。幅が広い場合、推定が不安定であることを意味します。
中心推定値だけで判断せず、区間が0を跨ぐかどうか、あるいは実務的に意味のある閾値より十分に離れているかを併せて見ます。信頼区間の作り方は推定法に依存するため、使用した手法の前提も確認します。
3.4 相関の落とし穴
相関の解釈は、因果推論や潜在構造の有無によって簡単に誤ります。注意点を理解することが実務の質を上げます。
3.4.1 相関と因果
相関は「同時に動く」ことを示しますが、原因と結果の向きを保証しません。介入の有無、時間順序、因果モデルの検討がない限り、因果の断定はできません。
たとえば、双方に影響する第三要因がある場合、見かけの関連はそれによって説明されることがあります。
3.4.2 潜在変数の存在
潜在変数は観測できない要因で、複数の変数に同時に影響します。これにより、実際には直接の関係がなくても相関が生じます。
潜在因子を扱うには、データに基づくモデル化(回帰、因子分析、構造推定など)や、追加の測定項目によって識別可能性を高める工夫が必要です。
3.4.3 非線形関係の見落とし
線形相関では、U字型や飽和型の依存が弱く見える場合があります。非線形の依存を意図的に捉える係数や検定、あるいは可視化(散布図の補助、平滑化曲線の重ね描き)を併用するのが有効です。
さらに、分布の歪みが強いと、単調な関係でも線形指標はずれます。その場合は順位ベースやロバスト指標の活用が検討対象になります。
4 応用例
4.1 変数選択と特徴量評価
相関行列は、特徴量の冗長性を見つけるための入口になります。互いに強く関連する変数群は、モデルにとって同じ情報を重複して持つ可能性があり、選択や削減の候補になります。
ただし、相関が高いからといって常に片方を捨てるのは適切ではありません。ターゲットとの関係や実務的な解釈、欠損率、計算コストなども含めて総合判断します。
4.2 多重共線性の検出
回帰分析などの線形モデルでは、多重共線性が推定の不安定さを招くことがあります。相関行列は、説明変数同士の強い関連を視覚的に把握する手段として使われます。
ただし、相関の高さがそのまま共線性の深刻度を表すとは限りません。複数変数の組み合わせによる近似が原因で問題が顕在化することがあるため、VIFなどの補助指標と併用するのが一般的です。
4.3 次元削減との関係
変数が多いとき、相関構造を利用して次元を圧縮する考え方があります。冗長な成分が多いほど、圧縮で情報損失を抑えやすくなります。
4.3.1 主成分分析の基礎
主成分分析(PCA)は、分散が大きい方向を新しい軸として定義し、データを少数の成分で近似する手法です。特徴量間の相関が強い場合、少数の主成分で多くのばらつきを説明できることがあります。
相関行列は、PCAにおける共分散構造の理解を助けます。特に変数が同じスケールで揃っているかどうかは、PCAの結果に影響するため注意が必要です。
4.4 実験・調査データでの活用
実験や調査では、複数の測定項目の相互関係を把握し、設問の整合性や指標の構成を検討する場面があります。
4.4.1 例:アンケート指標の関連
アンケートでは、複数の設問が同じ概念を測っている場合、回答間の関連が強く出ることがあります。相関行列を用いると、下位尺度同士の関係や、想定外に強い関連(設問の重複や誘導の可能性)を点検できます。
さらに、順位ベースの相関を使うことで、回答が順序尺度として扱える場面で解釈を揃えることができます。
4.4.2 例:センサー特徴量の相互関係
センサーから得られる特徴量では、物理的な性質のために相関が生じやすいことがあります。たとえば同一信号の派生統計量は類似した変動を反映し、相関が高くなる傾向があります。
相関行列に基づいて冗長な特徴を減らせれば、学習時間の短縮や過学習の抑制につながる場合があります。一方で、異常検知では弱い相関でも異なる情報源を含むことがあるため、削減は段階的に検証するのが望ましいです。