A具有 n x m
矩阵,其中行 i
表示变量 V_i
的时间序列 . 我想计算 n x n
相关矩阵 M
,其中 M_{i,j}
包含 V_i
和 V_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 回答
leewangzhong(在评论中)是正确的,Pearson的r没有定义为恒定时间序列,因为它们的标准偏差为零 . 谢谢!