相関係数(行列)(numpy)を計算するPythonコード
Pythonコード
numpy
モジュールのcorrcoef()
関数を利用し, 相関係数(行列)を出力する。
corrcoef(x,y)
として, x
とy
にデータを指定する。x
とx
, x
とy
, y
とx
, y
とy
の相関係数を並べた行列が出力される。
相関係数のみ出力する場合, corrcoef(x,y)[1,0]
などと表記し, 行列の $(1, 0)$ 成分のみを出力する。
3変量以上の相関係数行列を出力する場合は, 各リスト(データ)をnumpy.array()
でndarray
型に変換しcorrcoef()
を利用する。
入力例①. [1, 2, 3, 4, 5]
と[4, 4, 7, 10, 12]
のデータの相関係数行列と相関係数を出力する。
import numpy as np
x = [1, 2, 3, 4, 5]
y = [4, 4, 7, 10, 12]
print(np.corrcoef(x, y))
print(np.corrcoef(x, y)[1,0])

入力例②. [1, 2, 3, 4, 5]
と[4, 4, 7, 10, 12]
, [-3, 0, -3, -4, -4]
のデータの相関係数行列を出力する。
import numpy as np
x = [1, 2, 3, 4, 5]
y = [4, 4, 7, 10, 12]
z = [-3, 0, -3, -4, -4]
data = np.array([x, y, z])
corr_matrix = np.corrcoef(data)
print(corr_matrix)
