Python-R平方和可通过scipy.optimize curve_fit获得的绝对平方和?
我正在使用曲线拟合来拟合曲线。有没有办法读出决定系数和绝对平方和? 感谢Woodpicker,曲线拟合优化为您提供 参数的最佳值,使平方误差之和 f(扩展数据,*popt)-ydata的最小值 然后,使用Python-R平方和可通过scipy.optimize curve_fit获得的绝对平方和?,python,scipy,curve-fitting,Python,Scipy,Curve Fitting,我正在使用曲线拟合来拟合曲线。有没有办法读出决定系数和绝对平方和? 感谢Woodpicker,曲线拟合优化为您提供 参数的最佳值,使平方误差之和 f(扩展数据,*popt)-ydata的最小值 然后,使用optimize.leastsq import scipy.optimize p,cov,infodict,mesg,ier = optimize.leastsq( residuals,a_guess,args=(x,y),full_output=True,warning=Tru
optimize.leastsq
import scipy.optimize
p,cov,infodict,mesg,ier = optimize.leastsq(
residuals,a_guess,args=(x,y),full_output=True,warning=True)
对于残差
:
def residuals(a,x,y):
return y-f(x,a)
residuals
是返回真实输出数据y
和模型输出之间差异的方法,其中f
模型,a
参数,x
输入数据
方法optimize.leastsq
返回大量信息,您可以使用这些信息自己计算RSquared和RMSE。对于RSQuared,您可以
ssErr = (infodict['fvec']**2).sum()
ssTot = ((y-y.mean())**2).sum()
rsquared = 1-(ssErr/ssTot )
关于什么是infodict['fvec']
In [48]: optimize.leastsq?
...
infodict -- a dictionary of optional outputs with the keys:
'fvec' : the function evaluated at the output
我试着跟着你,但没有成功。我是否需要同时使用曲线拟合和最小二乘法?我可以不使用曲线拟合的pcov吗?根据文档,curve_fit已经使用了leastsq-或者我计算r square所需的信息没有从leastsq传递到curve_fit?如果leastsq函数中的“a_猜测”,我最困惑的是-这意味着什么?谢谢……是的,你猜什么是?您编写代码的方式,
a_guess
没有定义。。。