【发布时间】:2017-07-08 12:12:28
【问题描述】:
我正在使用 numpy 的 polyfit 来找到一组数据的最佳拟合曲线。但是,numpy 的 polyfit 返回一个 float64 数组,并且由于计算的系数非常大/小(即 1e-200),它返回了乘法中遇到的溢出错误:
RuntimeWarning:在乘法中遇到溢出 scale = NX.sqrt((lhs*lhs).sum(axis=0))
我尝试将初始数组转换为 float128,但这似乎不起作用。有没有办法解决这个溢出问题/处理这么大的系数?
【问题讨论】:
-
你指定的度数是多少?
-
相当大 - 我将其设置为 75 以尽量减少最佳拟合曲线中的振荡。我拥有的数据集之一类似于高斯曲线,但将 polyfit 设置为 deg = 45,错误消失了,但最佳拟合曲线振荡得更多。