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. ]]
コメント