如何計算python中的相關矩陣?我有一個n維向量,其中每個元素都有5維。例如我的矢量看起來像python中的相關矩陣
[ [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維。如何以最簡單的方式構建矩陣?
感謝
如何計算python中的相關矩陣?我有一個n維向量,其中每個元素都有5維。例如我的矢量看起來像python中的相關矩陣
[ [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維。如何以最簡單的方式構建矩陣?
感謝
使用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. ]])
下面是計算使用Python一個相關性矩陣形式的多個時間序列的pretty good example。包含的源代碼使用Pandas,NumPy和matplotlib計算一組外匯貨幣對的相關矩陣,以生成相關圖。
樣本數據是一組歷史數據文件,輸出是單個相關矩陣和圖。該代碼是非常有據可查的。
如果您不想再次編寫矩陣,也可以使用np.array。
import numpy as np
a = np.array([ [0.1, .32, .2, 0.4, 0.8], [.23, .18, .56, .61, .12], [.9, .3, .6, .5, .3], [.34, .75, .91, .19, .21]])
b = np.corrcoef(a)
print b
謝謝。對於我的實際應用程序,我收到以下錯誤AttributeError:'int'object has no attribute'corrcoef' – user1964587
聽起來像您已將'np'定義爲'int'。上面,'numpy'已經被導入爲'np'。你需要消除這兩者的歧義。 – unutbu
如何繪製相關矩陣。我嘗試過以下函數imshow(corr_matrix,interpolation ='bilinear') colorbar() show() 圖形矩陣的原點是(0,n)而不是(0,0)。我怎樣才能做到這一點。矩陣的尺寸是5000X5000 – user1964587