如何解决OptimizeWarning:无法估计参数的协方差 - 它的真正含义是什么?
我正在尝试将曲线/函数拟合到一组 2D 点 (x,y)。
我为此使用了 sp.optimize.curve_fit
。
我正在尝试将这个目标函数拟合到我的数据中。
def objective_f(x,a1,a2,a3,a4,a5,b1,b2,b3,b4,b5,c):
s1 = np.log(x+1.0)
s2 = (x+1.0)
s3 = np.log(x+1.0) * (x+1.0)
s4 = (x+1.0)*(x+1.0)
s5 = np.exp ( (x+1.0) / 1e8 )
return a1 * s1 + a2 * s2 + a3 * s3 + a4 * s4 + a5 * s5 + b1 / s1 + b2 / s2 + b3 / s3 + b4 / s4 + b5 / s5 + c
我只是通过这个简单的调用来做到的:
popt,_ = sp.optimize.curve_fit(objective_f,x,y)
这里的 x
和 y
仅取自现有 Pandas DataFrame
的 2 列,如下所示:
x = df2['population'].astype('float64').values
y = df2['budget'].astype('float64').values
我返回的参数似乎很好,并且可以很好地估计给定数据。
但我一直收到这个警告
minpack.py:829: OptimizeWarning: Covariance of the parameters Could not be estimated category=OptimizeWarning)
我用谷歌搜索并找到了几页,但似乎没有一个能很好地解释这是关于什么的。
为什么我会收到此警告?
这个警告是我应该担心的吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。