📊 STEP 8: 相関分析と因果関係の見極め
「相関」と「因果」の違いを理解し、正しい結論を導こう
📋 このステップで学ぶこと
- 相関係数の意味と計算方法(ピアソン、スピアマン)
- 「相関がある」≠「原因と結果の関係」の重要性
- 因果関係を示唆する方法とその限界
- ExcelとPythonでの相関分析の実践
- ビジネスでよくある間違いと対策
🔍 1. 相関とは何か
相関の基本概念
相関(そうかん)とは、2つの変数が一緒に動く傾向のことです。
例えば、「気温が上がると、アイスクリームの売上も上がる」というような関係です。
1. 正の相関(正相関)
一方が増えると、もう一方も増える関係
例:身長が高い人ほど、体重も重い傾向がある
2. 負の相関(負相関)
一方が増えると、もう一方は減る関係
例:気温が下がると、暖房器具の売上が増える
3. 相関なし
2つの変数に関係が見られない
例:靴のサイズと数学の成績
相関係数とは
相関係数(そうかんけいすう)は、相関の強さを-1から+1の数値で表したものです。
ピアソンの相関係数とスピアマンの相関係数
| 種類 | 説明 |
|---|---|
| ピアソンの相関係数 |
直線的な関係を測定 例:身長と体重(比例関係) 使用条件:両方のデータが数値で、直線的な関係がある場合 最も一般的に使われる |
| スピアマンの相関係数 |
順位の関係を測定 例:テストの順位と成績(必ずしも直線的ではない) 使用条件:データが順序尺度(順位)の場合や、非線形の関係がある場合 外れ値の影響を受けにくい |
基本的にはピアソンの相関係数を使います。
ただし、以下の場合はスピアマンを検討:
・データに極端な値(外れ値)が含まれる
・データが順位データ(1位、2位、3位…)
・関係が曲線的(直線ではない)
⚠️ 2. 「相関」≠「因果」の重要性
最も重要な原則
「相関がある」≠「原因と結果の関係がある」
2つの変数に相関があっても、それは一方が原因で、もう一方が結果という意味ではありません。
間違った因果関係の例
データ:アイスクリームの売上が増えると、溺死者数も増える(強い正の相関)
間違った結論:「アイスクリームを食べると溺死する!」
正しい解釈:
両方とも「夏」という第三の要因によって増えている。
・夏 → 暑い → アイスクリームが売れる
・夏 → 海やプールに行く人が増える → 溺死者が増える
→ アイスクリームと溺死に直接の因果関係はない
データ:靴のサイズが大きい子どもほど、読解力が高い(正の相関)
間違った結論:「大きい靴を履かせると頭が良くなる!」
正しい解釈:
「年齢」という第三の要因が影響している。
・年齢が上がる → 靴のサイズが大きくなる
・年齢が上がる → 読解力が向上する
→ 靴のサイズと読解力に直接の因果関係はない
データ:広告費が多い月ほど、売上が高い(正の相関)
間違った結論:「広告費を増やせば売上が上がる!」
慎重な解釈:
可能性1:広告が効果を出している(因果関係がある)
可能性2:売上が良い月に、広告予算を増やしている(逆の因果)
可能性3:「季節」が影響(12月はボーナス時期で売上も広告費も増える)
→ さらに詳しい分析が必要
なぜ「相関」と「因果」を混同してしまうのか
- 人間の脳はパターンを見つけるのが得意
- 2つのことが同時に起きると、「関係がある」と思い込みやすい
- 特に、自分の信じたい結論に合うデータは、すぐに信じてしまう(確証バイアス)
因果関係を疑うべきケース
- 第三の要因が隠れている可能性(例:季節、景気、年齢)
- 逆の因果かもしれない(A→BではなくB→A)
- 偶然の一致(たまたま同時に起きただけ)
- サンプルサイズが小さい(たまたまそうなっただけ)
- 自分に都合の良い結論が出た時(確証バイアス)
🔬 3. 因果関係を示唆する方法
因果関係を確認するための基準
因果関係を完全に証明することは難しいですが、以下の条件が揃うと因果関係の可能性が高まります。
1. 時間的順序
原因が結果より先に起きている
例:広告を出す → その後、売上が増える
2. 関連の強さ
相関係数が高い(0.7以上など)
強い相関ほど、因果関係の可能性が高い
3. 一貫性
何度調べても同じ結果が出る
異なる状況でも同じ関係が見られる
4. 用量反応関係
原因が増えると、結果も比例して増える
例:広告費を2倍にすると、売上も増える
5. 理論的妥当性
「なぜそうなるか」の理屈が説明できる
例:広告を見る人が増える → 認知度が上がる → 購入者が増える
6. 実験的証拠
最も強い証拠:ランダム化比較試験(RCT)やA/Bテスト
広告を「出すグループ」と「出さないグループ」を比較
因果関係を示唆する実践的アプローチ
方法1:時系列データでの確認
原因と結果の時間的な前後関係を確認
例:広告を出した日と、売上が増えた日を比較
→ 広告の後に売上が増えていれば、因果の可能性が高まる
方法2:A/Bテスト(ランダム化比較試験)
最も信頼性が高い方法
グループA:広告を出す
グループB:広告を出さない
→ 2つを比較して、売上に差があれば因果関係の証拠
方法3:第三の要因をコントロール(多変量解析)
他の要因(季節、景気など)の影響を統計的に取り除く
例:重回帰分析で、季節要因を考慮した上で広告の効果を測定
→ STEP 11で詳しく学びます
ビジネスでは、完璧な因果関係の証明は難しいことが多いです。
そのため、実務では:
- 相関があることを確認
- 因果関係の可能性が高いと判断できる証拠を集める
- 「因果関係がある」ではなく「因果関係が示唆される」と表現
- 結論には「ただし〜の可能性もある」と限界を明記
慎重に、正直に結論を伝えることが大切です。
💻 4. Excelでの相関分析
散布図での可視化
まず、散布図(さんぷず)でデータの関係を視覚的に確認します。
相関係数の計算(CORREL関数)
実践例:広告費と売上の相関分析
| 月 | 広告費(万円) | 売上(万円) |
|---|---|---|
| 1月 | 50 | 300 |
| 2月 | 60 | 350 |
| 3月 | 70 | 400 |
| 4月 | 55 | 320 |
| 5月 | 80 | 450 |
| 6月 | 90 | 500 |
分析手順:
- 散布図を作成 → 右上がりの傾向が見える
- CORREL関数で計算 → 0.85(強い正の相関)
- 解釈:広告費と売上には強い正の相関がある
- 注意:これだけでは因果関係は証明できない
分析ツールを使った詳細分析
🐍 5. Pythonでの相関分析
必要なライブラリのインポート
サンプルデータの作成
散布図の作成
ピアソンの相関係数の計算
スピアマンの相関係数
相関行列とヒートマップ
近似直線の追加
- pandas:データを表形式で管理(df.corr()で相関係数)
- numpy:数値計算(np.polyfitで近似直線)
- matplotlib:グラフ描画(散布図、直線)
- seaborn:美しい可視化(ヒートマップ)
- scipy.stats:統計検定(p値の計算)
まず散布図を見る → 関係の傾向を視覚的に確認
次に相関係数を計算 → 関係の強さを数値化
p値を確認 → 統計的に意味があるか判定
ヒートマップ → 複数変数の関係を俯瞰
⚠️ 重要:相関があっても因果関係とは限りません!
⚠️ 6. よくある間違いと対策
間違い1:相関があれば因果関係があると決めつける
「広告費と売上の相関係数は0.85だ。だから広告費を増やせば売上が上がる!」
✅ 正しい表現
「広告費と売上には強い正の相関が見られる(r=0.85)。
ただし、これは因果関係を証明するものではなく、他の要因(季節要因など)が影響している可能性もある。
因果関係を確認するには、A/Bテストなどの追加分析が必要。」
間違い2:相関がないから関係ないと判断する
相関係数が低くても、非線形の関係がある場合があります。
例:気温と暖房費の関係
・気温が低い → 暖房費が高い
・気温が高い → 暖房費が低い
→ 直線的ではなくU字型の関係なので、ピアソン相関係数は低く出る
対策:必ず散布図で視覚的に確認する
間違い3:サンプルサイズが小さいのに結論を急ぐ
データが5件しかないのに「相関がある!」と判断するのは危険。
サンプルサイズが小さいと、たまたまの可能性が高い
目安:
・最低でも30件以上のデータが望ましい
・可能なら100件以上あると信頼性が高まる
間違い4:外れ値を無視する
1つの極端な値(外れ値)が、相関係数を大きく変えてしまうことがあります。
対策:
・散布図で外れ値がないか確認
・外れ値がある場合、その理由を調査
・外れ値を除いた場合の相関も計算して比較
正しい分析フロー
- 散布図を作成 → 視覚的に関係を確認
- 外れ値をチェック → 極端な値がないか確認
- 相関係数を計算 → 関係の強さを数値化
- p値を確認 → 統計的に有意か確認(STEP 17で詳しく学習)
- 因果関係を慎重に判断 → 第三の要因、時系列、理論的妥当性を検討
- 結論に限界を明記 → 「〜が示唆される」「ただし〜の可能性もある」
📝 STEP 8 のまとめ
1. 相関係数
- 2つの変数の関係の強さを-1〜+1で表す
- 0.7以上で強い相関、0.4〜0.7で中程度の相関
2. ピアソンとスピアマン
- ピアソン:直線的な関係を測定(最も一般的)
- スピアマン:順位の関係を測定(外れ値に強い)
3. 最重要原則
- 相関がある ≠ 因果関係がある
- 第三の要因に注意
4. 因果関係の判断基準
- 時間的順序、一貫性、理論的妥当性など
- A/Bテストが最も確実な方法
5. ExcelとPython
- Excel:CORREL関数、散布図
- Python:pandas, scipy, seaborn でヒートマップ
データ分析で最も犯しやすい間違いが「相関と因果を混同すること」です。
ビジネスでは「因果関係がありそう」という判断で進めることもありますが、必ず限界を明記しましょう。
「データを見て飛びつくな。じっくり考えろ。」
これがデータアナリストの基本姿勢です。
次のSTEP 9では、「データ収集の基本」を学びます。どんなデータがビジネスに存在するか、どうやって集めるか、データの質をどう確保するかを習得しましょう!
📝 理解度チェック
学んだ内容を確認しましょう。解答を見る前に、まず自分で考えてみてください。
以下の相関係数のうち、最も強い相関を示しているのはどれですか?
A) 0.3 B) -0.8 C) 0.6 D) -0.2
解説:
相関係数の強さは、絶対値(|数値|)の大きさで判断します。
- A) |0.3| = 0.3
- B) |-0.8| = 0.8 ← 最も大きい
- C) |0.6| = 0.6
- D) |-0.2| = 0.2
-0.8は負の相関(一方が増えると他方が減る)ですが、相関の強さは0.8と強いです。
ピアソンの相関係数とスピアマンの相関係数の違いを説明してください。
ピアソンの相関係数:
- 直線的な関係を測定する
- 両方のデータが数値で、直線的な関係がある場合に使用
- 最も一般的に使われる
スピアマンの相関係数:
- 順位の関係を測定する
- データが順序尺度(順位)の場合や、非線形の関係がある場合に使用
- 外れ値の影響を受けにくい
使い分け:基本はピアソン、外れ値がある場合や順位データの場合はスピアマン
「靴のサイズと年収に正の相関がある」というデータが出ました。
「大きい靴を履けば年収が上がる」と結論づけるのは正しいですか?理由も含めて説明してください。
理由:
これは「相関と因果の混同」の典型例です。靴のサイズと年収に相関があっても、靴のサイズが年収の原因ではありません。
考えられる第三の要因:
- 性別:男性の方が靴のサイズが大きく、一般的に年収も高い傾向がある
- 靴のサイズと年収の両方が「性別」という第三の要因によって説明できる
正しい結論:
「靴のサイズと年収には相関が見られるが、これは性別などの第三の要因によるものと考えられる。靴のサイズが年収の原因であるという因果関係は証明されていない。」
因果関係の判断基準(ヒルの基準)を3つ以上挙げてください。
- 時間的順序:原因が結果より先に起きている
- 関連の強さ:相関係数が高い(0.7以上など)
- 一貫性:何度調べても同じ結果が出る
- 用量反応関係:原因が増えると、結果も比例して増える
- 理論的妥当性:「なぜそうなるか」の理屈が説明できる
- 実験的証拠:A/BテストやRCTで確認できている
※上記6つのうち、3つ以上挙げられればOKです。
あなたの会社で、SNS広告費と売上のデータを分析したところ、相関係数が0.75でした。
上司に「SNS広告を増やせば売上が上がる」と報告する前に、どのような追加分析や確認をすべきですか?少なくとも3つ挙げてください。
1. 時間的順序の確認
SNS広告を出した後に売上が増えているか、時系列データで確認する。逆に、売上が良い月に広告費を増やしている可能性もある(逆の因果)。
2. 第三の要因(季節性など)の検討
12月などの繁忙期は、広告費も売上も両方増える可能性がある。季節要因をコントロールした上で、広告の効果を分析する必要がある。
3. A/Bテストの実施
最も確実な方法は、ランダムに選んだ顧客グループに対して:
・グループA:SNS広告を見せる
・グループB:SNS広告を見せない
→ 2つのグループで売上を比較し、因果関係を検証する
その他の確認事項:
- 外れ値がないか散布図で確認
- サンプルサイズは十分か(最低30件以上)
- 他のマーケティング施策と同時に実施していないか
- 競合の動向(競合が広告を減らした影響で売上が増えた可能性)
❓ よくある質問
必ずしもそうとは限りません。
ピアソンの相関係数は「直線的な関係」しか捉えられません。例えば、U字型やS字型の関係がある場合、相関係数は低く出ますが、実際には関係があります。
対策:必ず散布図を作成して、視覚的に関係を確認しましょう。非線形の関係が疑われる場合は、スピアマンの相関係数や、曲線による回帰分析を検討します。
いいえ、p値が小さくても因果関係は証明できません。
p値(ピーち)は、「その相関がたまたまではない」ことを示すだけで、因果関係の証拠ではありません。
例:アイスクリームの売上と溺死者数の相関は、p < 0.05で統計的に有意かもしれませんが、だからといって「アイスクリームが溺死の原因」とは言えません。
p値については、STEP 17で詳しく学びます。
はい、意味がある場合もあります。
相関係数が0.3(弱い相関)でも、実務的には重要な場合があります。
例:広告と売上の相関が0.3だとしても、
・広告費1億円 → 売上3000万円増加なら、十分にROIが高い
→ 「弱い相関」でもビジネス的には意味がある
逆に、相関が0.9でも、実務的な影響が小さければ意味がないこともあります。
統計的な強さとビジネス的な重要性は別物です。
相関分析だけでは証明できません。
因果関係を示す最も確実な方法は:
- ランダム化比較試験(RCT)やA/Bテスト:実験的に原因を操作して、結果を観察
- 時系列分析:原因が結果より先に起きていることを確認
- 多変量解析(重回帰分析など):他の要因をコントロールした上で関係を分析
ただし、これらでも「因果関係が強く示唆される」までで、完全な証明は難しいことが多いです。
実務では、「因果関係の可能性が高い」と判断できれば、その情報をもとに意思決定を進めます。
「相関がある」→「因果関係がある」と決めつけないこと
特にビジネスでは、上司や経営層に報告する際、「相関があるから〜すべき」と断言してしまいがちです。
推奨される報告の仕方:
❌「広告費と売上に相関があるので、広告を増やすべきです」
✅「広告費と売上には強い正の相関が見られます(r=0.85)。ただし、これだけでは因果関係は証明できないため、A/Bテストで検証することを提案します。」
慎重に、正直に結論を伝えることが、データアナリストとしての信頼につながります。
はい、「相関行列」と「ヒートマップ」を使います。
複数の変数がある場合、すべての組み合わせの相関係数を計算し、行列形式で表示します。
Excel:「データ分析」→「相関」で複数変数の相関行列を作成
Python:pandas の df.corr() と seaborn の heatmap() を組み合わせて可視化
ヒートマップで色分けすると、どの変数間の相関が強いか一目でわかります。色が濃い(赤or青)ほど相関が強いことを示します。
学習メモ
ビジネスデータ分析・意思決定 - Step 8