データと前処理

相関分析 そうかんぶんせき

相関分析相関係数ピアソン相関多重共線性変数間関係
相関分析について教えて

簡単に言うとこんな感じ!

2つの変数の「一緒に動く度合い」を数値で測る分析だよ。「気温が上がると売れるアイスの量」「身長と体重」みたいな関係を-1〜+1の数値で表すんだ。機械学習では特徴量同士が強く相関してると問題になることがあるから、事前チェックが大事!


相関分析とは

相関分析(Correlation Analysis)とは、2つの変数の間にどの程度の線形的な関係があるかを定量化する統計手法です。相関係数(Correlation Coefficient)という-1〜+1の値で表現されます。

機械学習では2つの目的で使われます。①特徴量とターゲットの関係確認(この変数は予測に役立つか)、②特徴量間の相関確認多重共線性の検出)です。


相関係数の解釈

相関係数の値解釈
+1.0完全な正の相関
+0.7〜+1.0強い正の相関
+0.3〜+0.7中程度の正の相関
-0.3〜+0.3ほぼ無相関
-0.7〜-0.3中程度の負の相関
-1.0〜-0.7強い負の相関
-1.0完全な負の相関

代表的な相関係数

種類適用場面特徴
ピアソン相関係数連続値の線形関係最もよく使われる。正規分布を仮定
スピアマン順位相関順序データ・外れ値がある場合順位に基づく。非線形にも対応
ケンドールの τ小サンプル・順序データ解釈が直感的
点双列相関連続値 × 二値変数分類問題での変数選択に使用

相関ヒートマップの活用

複数変数の相関を一覧で確認できるビジュアライゼーションです。

import seaborn as sns
import matplotlib.pyplot as plt

# 相関行列を計算してヒートマップで表示
corr_matrix = df.corr()
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
plt.show()

歴史と背景

  • 1888年:フランシス・ゴルトンが相関の概念を提唱
  • 1896年:ピアソン相関係数が定式化
  • 1904年:スピアマン順位相関係数が提案
  • 現在:pandas・seabornで簡単に計算・可視化できる標準的な探索的データ分析手法

相関と因果の違い

「相関がある」≠「因果関係がある」

例:
  「アイスクリームの売上と溺死者数が正の相関」
   → 原因:夏(気温の高さ)という第三の変数

機械学習で使うのは「相関」だけでOK。
予測モデルは因果関係がなくても機能する。
ただしビジネス意思決定では因果推論も重要。

関連用語