スポンサーリンク

【Numpy】共分散行列と相関係数行列を算出するnumpy.cov, numpy.corrcoef

Numpy

Numpyで共分散行列と相関係数行列を算出するには、numpy.cov, numpy.corrcoefを使う。

numpy.covの使い方

numpy.covの引数に、2つの1次元配列を指定すると、共分散行列が算出されます。

import numpy as np

x = [-2.1, -1,  4.3]
y = [3,  1.1,  0.12]

print(np.cov(x, y))
# [[11.71       -4.286     ]
# [-4.286       2.14413333]]

2次元配列を指定すると、各列にが一つの変数として、共分散行列が算出されます。

X = np.stack((x, y), axis=0)
print(np.cov(X))
# [[11.71       -4.286     ]
# [-4.286       2.14413333]]

numpy.corrcoefの使い方

numpy.covと同様で、numpy.corrcoefの引数に2つの1次元配列を指定するか、2次元配列を指定すると、相関係数行列が算出されます。

print(np.corrcoef(x, y))
# [[ 1.         -0.85535781]
#  [-0.85535781  1.        ]]

X = np.stack((x, y), axis=0)
print(np.corrcoef(X))
# [[ 1.         -0.85535781]
#  [-0.85535781  1.        ]]

関連記事、参考資料

コメント