在Python的正交回归中遇到零除错误(scipy.odr)
根据这个讨论,我们在进行正交距离回归时,发现对于某个特定的数据集,程序出现了错误:
/usr/local/lib/python2.7/site-packages/scipy/odr/odrpack.py:361: RuntimeWarning: divide by zero encountered in true_divide
return 1./numpy.power(sd, 2)
Beta: [ nan nan]
Beta Std Error: [ 0. 0.]
Beta Covariance: [[ 0. 0.]
[ 0. 0.]]
Residual Variance: 0.0
Inverse Condition #: 0.0482240040702
Reason(s) for Halting:
Numerical error detected
我原以为是因为回归数组中有一些空值,但看起来并不是这样。关于如何使用scipy.odr
的说明非常少,我也不是专家,所以我不知道发生了什么。sd
是什么?导致这个错误的计算过程是什么?
1 个回答
1
相关的错误值不能是零。比如可以用NaN值来替代它们,或者直接把这些错误值从数据集中去掉。