Python/Scipy - 将optimize.curve_fit的sigma实现到optimize.leastsq中

Woo*_*ker 6 python curve-fitting scipy least-squares

我使用逻辑模型拟合数据点.由于我有时会有ydata错误的数据,我首先使用curve_fit及其sigma参数来包含我在拟合中的各个标准偏差.

现在我切换到了最小化,因为我还需要一些曲率拟合无法提供的拟合优度估计.一切都运作良好,但现在我错过了权衡最小平方的可能性,因为"sigma"与curve_fit有关.

有人一些代码示例关于我如何在最小方格中加权最小二乘?

谢谢,Woodpicker

ev-*_*-br 5

假设您的数据位于数组中x,y并且yerr模型为f(p, x),只需将要最小化的误差函数定义为(y-f(p,x))/yerr。


Woo*_*ker 5

我刚刚发现可以结合两个世界的最佳组合,并使用选项full_output从curve_fit()获得完整的leastsq()输出:

popt, pcov, infodict, errmsg, ier = curve_fit(func, xdata, ydata, sigma = SD, full_output = True)
Run Code Online (Sandbox Code Playgroud)

这给了我infodict,我可以用来计算我所有的Fitness of Fit,并让我同时使用curve_fit的sigma选项......