首页 文章

NumPy与NaN的相关矩阵

提问于
浏览
4

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

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

相关问题