Pandas⑩ (相関係数)

相関係数

相関係数 は、相関関係の強さ を数値化したものです。

相関係数 は、-1 ~ 1 までの値をとります。

相関係数が 正(プラス)の時は正の相関 があることになり、負(マイナス)の時は負の相関関係 があることになります。

相関の強弱の目安を以下の一覧にまとめます。

相関係数(絶対値) 相関の強さ
~0.3未満 ほとんど相関なし
0.3~0.5未満 弱い相関がある
0.5~0.7未満 相関がある
0.7以上 強い相関がある

サンプルコード

Numpy には相関関数を算出する corrcoef関数 があります。

csvファイルをデータフレームに読み込み、気温と売り上げ数の 相関係数 を算出します。

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
import pandas as pd
import numpy as np

df = pd.read_csv('data1.csv') # CSVファイルの読み込み
x = df['最高気温'] # 1列目のデータをベクトルに代入
y = df['売上数'] # 2列目のデータをベクトルに代入

# 気温と売上数の相関係数を求める
np.corrcoef(x, y)

読み込むCSVファイルは以下の通りです。

30日間の最高気温とその日の売上数がまとめられています。

data1.csv (文字コードUTF-8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
最高気温,売上数
26,84
25,61
26,85
24,63
25,71
24,81
26,98
26,101
25,93
27,118
27,114
26,124
28,156
28,188
27,184
28,213
29,241
29,233
29,207
31,267
31,332
29,266
32,334
33,346
34,359
33,361
34,372
35,368
32,378
34,394

[実行結果]

相関係数は 0.97024837 と表示され、相関の強弱の一覧によると 強い相関 があることになります。

つまり、気温と売上の関係には十分に 強い相関関係 があることが分かりました。