【问题标题】:corrcoef gives nan as outputcorrcoef 将 nan 作为输出
【发布时间】:2020-05-19 13:12:54
【问题描述】:
  import numpy as np
  print(np.corrcoef([0.594, 0.405],[0.5, 0.5]))

为什么会导致 nan ?

一种可能性是,在计算过程中,当表达式除以0方差时,结果为nan。如何克服?

【问题讨论】:

    标签: python numpy nan correlation


    【解决方案1】:

    确实,问题是除以 0 方差。您可以通过以下方式自行检查:

    a = np.array([[0.594, 0.405],[0.5, 0.5]])
    
    a.std(axis=1)
    # array([0.0945, 0.    ])
    

    您可能有兴趣通过获得covariance 矩阵来获得一个非归一化 版本,该矩阵不除以方差也不减去均值:

    np.cov(a)
    array([[0.0178605, 0.       ],
           [0.       , 0.       ]])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 2014-09-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2015-10-29
      • 1970-01-01
      相关资源
      最近更新 更多