用python(scipy.odr)在正交回归中遇到零除

时间:2014-05-02 05:01:17

标签: python numpy scipy

this discussion执行Orthogonal distance regression之后,对于特定数据集,例程遇到错误:

/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?导致此错误的计算是什么?

编辑:this是返回错误的数据集,this是相关错误的数据。

1 个答案:

答案 0 :(得分:1)

相关的错误不得为零。例如,可以将其替换为NaN值,或者将其从数据集中删除。