如何计算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