NumPy与NaN的相关矩阵

时间:2013-12-05 14:00:30

标签: python numpy matrix correlation

A有n x m矩阵,其中行i表示变量V_i的时间序列。我想计算n x n相关矩阵M,其中M_{i,j}包含V_iV_j之间的相关系数(Pearson's r)。

然而,当我在numpy中尝试以下内容时:

numpy.corrcoef(numpy.matrix('5 6 7; 1 1 1'))

我得到以下输出:

array([[  1., nan],
       [ nan, nan]])

似乎numpy.corrcoef不喜欢单位向量,因为如果我将第二行更改为7 6 5,我会得到预期的结果:

array([[  1., -1.],
       [ -1.,  1.]])

numpy.corrcoef的这种行为是什么原因?

1 个答案:

答案 0 :(得分:0)

leewangzhong(在评论中)是正确的,Pearson的r没有定义为恒定时间序列,因为它们的标准偏差为零。谢谢!