30

Pythonで相関行列を計算するにはどうすればよいですか? 各要素が5次元のn次元ベクトルがあります。たとえば、私のベクトルは次のようになります

[
 [0.1、.32、.2、0.4、0.8]、
 [.23、.18、.56、.61、.12]、
 [.9、.3、.6、.5、.3]、
 [.34、.75、.91、.19、.21]
]

この場合、ベクトルの次元は 4 で、このベクトルの各要素は 5 次元です。最も簡単な方法でマトリックスを構築する方法は?

ありがとう

4

4 に答える 4

42

numpyを使用すると、 np.corrcoefを使用できます。

In [88]: import numpy as np

In [89]: np.corrcoef([[0.1, .32, .2, 0.4, 0.8], [.23, .18, .56, .61, .12], [.9, .3, .6, .5, .3], [.34, .75, .91, .19, .21]])
Out[89]: 
array([[ 1.        , -0.35153114, -0.74736506, -0.48917666],
       [-0.35153114,  1.        ,  0.23810227,  0.15958285],
       [-0.74736506,  0.23810227,  1.        , -0.03960706],
       [-0.48917666,  0.15958285, -0.03960706,  1.        ]])
于 2013-02-02T00:53:53.880 に答える
2

これは、Python を使用して複数の時系列から相関行列を計算するかなり良い例です。含まれているソース コードは、Pandas、NumPy、および matplotlib を使用して一連の外国為替通貨ペアの相関行列を計算し、相関グラフを生成します。

サンプル データは一連の履歴データ ファイルであり、出力は単一の相関行列とプロットです。コードは非常によく文書化されています。

于 2015-12-31T06:46:11.117 に答える