【发布时间】: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
import numpy as np
print(np.corrcoef([0.594, 0.405],[0.5, 0.5]))
为什么会导致 nan ?
一种可能性是,在计算过程中,当表达式除以0方差时,结果为nan。如何克服?
【问题讨论】:
标签: python numpy nan correlation
确实,问题是除以 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. ]])
【讨论】: