以下の統計検定2級対策動画で用いられているスライドの一部です。
こんな疑問、ありませんか?
-
「広告費を増やすと、サイトの訪問者数も増えるのだろうか?」
-
「学習時間が長い学生ほど、テストの点数も高い傾向にあるのか?」
このように、 2つのデータ(変数) の間に
どのような関係があるのかを分析したい場面は多くあります。
相関係数とは?
2つの異なるデータ(変数)の間にどのような関係があるのかを、 客観的な数値 で示してくれる便利な指標です。
- 関係性の強さ
- 関係性の方向 (プラスの関係か、マイナスの関係か)
を、たった一つの数字で表現できます。
ステップ1
具体例から相関係数を理解する
具体例:最高気温とアイスコーヒーの販売数
あるカフェの5日間のデータを使って、2つの変数の関係性を調べてみましょう。
問題:
以下のデータから、最高気温とアイスコーヒー販売数の関係性を分析しなさい。
| 日 | 最高気温 $x$ (°C) | アイスコーヒー販売数 $y$ (杯) |
|---|---|---|
| 1 | 25 | 40 |
| 2 | 28 | 50 |
| 3 | 30 | 55 |
| 4 | 27 | 45 |
| 5 | 30 | 60 |
計算プロセス Step 1: 平均値を求める
まず、それぞれのデータの平均値 $\bar{x}$ と $\bar{y}$ を計算します。
- 最高気温の合計: $25 + 28 + 30 + 27 + 30 = 140$
- 販売数の合計: $40 + 50 + 55 + 45 + 60 = 250$
データ数は $n=5$ なので、
$$
\bar{x} = \frac{140}{5} = 28
$$
$$
\bar{y} = \frac{250}{5} = 50
$$
平均気温は 28°C、平均販売数は 50杯 です。
計算プロセス Step 2: 偏差などを計算する
次に、各データが平均値からどれだけ離れているか(偏差)などを計算し、表にまとめます。
| $x_i$ | $y_i$ | $x_i - \bar{x}$ | $y_i - \bar{y}$ | $(x_i - \bar{x})(y_i - \bar{y})$ | $(x_i - \bar{x})^2$ | $(y_i - \bar{y})^2$ |
|---|---|---|---|---|---|---|
| 25 | 40 | -3 | -10 | 30 | 9 | 100 |
| 28 | 50 | 0 | 0 | 0 | 0 | 0 |
| 30 | 55 | 2 | 5 | 10 | 4 | 25 |
| 27 | 45 | -1 | -5 | 5 | 1 | 25 |
| 30 | 60 | 2 | 10 | 20 | 4 | 100 |
| 合計: 140 | 合計: 250 | 合計: 65 | 合計: 18 | 合計: 250 |
計算プロセス Step 3: 共分散を求める
共分散 は、2つの変数がどの程度 同じように動くか を示す指標です。
- 偏差の積の合計
65をデータ数5で割ります。
$$
s_{xy} = \frac{65}{5} = 13
$$ - 共分散は 13 です。
計算プロセス Step 4: 標準偏差を求める
標準偏差 は、データの ばらつき度合い を示す指標です。
-
最高気温 $x$ の標準偏差 $s_x$
$$
s_x^2 = \frac{18}{5} = 3.6 \quad \rightarrow \quad s_x = \sqrt{3.6} \approx 1.897
$$ -
販売数 $y$ の標準偏差 $s_y$
$$
s_y^2 = \frac{250}{5} = 50 \quad \rightarrow \quad s_y = \sqrt{50} \approx 7.071
$$
計算プロセス Step 5: 相関係数を求める
最後に、共分散を2つの標準偏差の積で割って、相関係数 $r$ を計算します。
$$
r = \frac{s_{xy}}{s_x s_y}
$$
$$
r = \frac{13}{1.897 \times 7.071} \approx \frac{13}{13.413} \approx 0.969
$$
結果の解釈
相関係数 $r \approx 0.97$ は何を意味する?
相関係数の見方:関係の「方向」
相関係数 $r$ の符号によって、関係の方向がわかります。
-
正の相関 ($r > 0$)
- 一方が増加すると、もう一方も 増加 する傾向。
- 今回の例 ($r \approx 0.97$) はこれに該当します。
-
負の相関 ($r < 0$)
- 一方が増加すると、もう一方は 減少 する傾向。
- 例:商品の価格と販売数量
-
無相関 ($r \approx 0$)
- 2つの変数間に 直線的な関係は見られない。
相関係数の見方:関係の「強さ」
相関係数の 絶対値 の大きさで、関係の強さがわかります。
| 相関係数の絶対値 $|r|$ | 関係の強さ |
|---|---|
| $0.7 \le |r| \le 1.0$ | 強い相関 がある |
| $0.4 \le |r| < 0.7$ | 中程度の相関がある |
| $0.2 \le |r| < 0.4$ | 弱い相関がある |
| $0.0 \le |r| < 0.2$ | ほとんど相関がない |
※この基準はあくまで一般的な目安です。
【結論】今回の例の解釈
- 相関係数 $r \approx 0.97$
この結果は…
- 方向: 0より大きいので 正の相関
- 強さ: 絶対値が0.7以上なので 強い相関
つまり、「 最高気温とアイスコーヒーの販売数には、
非常に強い正の相関がある 」と結論付けられます。(気温が高い日ほど、アイスコーヒーが多く売れる)
重要!
相関係数を利用する上での注意点
注意点1:相関関係 ≠ 因果関係
相関係数が高いからといって、「一方がもう一方の原因である」とは限りません。
-
例: 「アイスクリームの売上」と「プールでの溺水事故件数」
- この2つには夏に共に増加するため、 強い正の相関 が見られます。
- しかし… アイスクリームが事故の 原因ではありません。
- 真の原因(交絡因子): 「気温の上昇」が両方を引き起こしています。
- このような見かけ上の相関を 疑似相関 と呼びます。
注意点2:直線的な関係しか捉えられない
相関係数は、あくまで 直線的な関係 の強さを示す指標です。
- U字型の関係のように、明確な関係性があっても、それが直線でなければ相関係数は 0に近くなる ことがあります。
- 相関分析では、必ず 散布図を描画して データの分布を視覚的に確認することが重要です。
グラフ生成用 Pythonコード (Google Colab用)
import numpy as np
import matplotlib.pyplot as plt
# Generate U-shaped data
np.random.seed(0)
x = np.linspace(-3, 3, 100)
y = x**2 + np.random.randn(100) * 1.5
# Create scatter plot
plt.figure(figsize=(8, 6))
plt.scatter(x, y, alpha=0.7)
plt.title('Example of a Non-linear Relationship (U-shape)')
plt.xlabel('Variable X')
plt.ylabel('Variable Y')
plt.grid(True)
plt.show()
ステップ2
一般化と定義
定義:相関係数とは?
ここまでの内容を一般化して定義します。
相関係数
2つの量的変数の間にある 直線的な関係の強さ と 方向 を示す指標。
一般的にアルファベットの $r$ で表される。
相関係数の値は、必ず -1から1まで の範囲に収まります。
$$
-1 \le r \le 1
$$
公式:相関係数の計算方法
相関係数 $r$ は、 共分散 を2つの変数の 標準偏差の積 で割ることで求められます。
$$
r = \frac{s_{xy}}{s_x s_y}
$$
- $r$ : 相関係数
- $s_{xy}$ : 変数xと変数yの 共分散
- $s_x$ : 変数xの 標準偏差
- $s_y$ : 変数yの 標準偏差
公式:共分散と標準偏差
$n$ はデータ数、$\bar{x}, \bar{y}$はそれぞれの平均値です。
-
共分散 (2つの変数が同じように動く度合い)
$$
s_{xy} = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})
$$ -
標準偏差 (データのばらつき度合い)
$$
s_x = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2}
$$
まとめ
-
相関係数は、2つの変数の 直線的な関係の強さと方向 を $-1$ から $1$ の数値で示す指標。
-
値が $1$ に近いほど強い正の相関、 $-1$ に近いほど強い負の相関 を示す。
-
「相関関係 ≠ 因果関係」 である点に注意が必要。
-
非線形な関係は捉えられない ため、散布図での確認が重要。
相関係数はデータ分析の強力なツールです。 ぜひこの知識を、ご自身のデータ分析に活用してみてください。
