6
我使用curve_fit擬合曲線。有沒有辦法讀出決定係數和絕對平方和? 謝謝,WoodpickerPython-R平方和可通過scipy.optimize curve_fit獲得的絕對平方和?
我使用curve_fit擬合曲線。有沒有辦法讀出決定係數和絕對平方和? 謝謝,WoodpickerPython-R平方和可通過scipy.optimize curve_fit獲得的絕對平方和?
According to doc,與curve_fit
優化讓你
爲參數的優化值,使得誤差平方的F (XDATA,* POPT)的總和 - YDATA最小
然後,使用optimize.leastsq
import scipy.optimize
p,cov,infodict,mesg,ier = optimize.leastsq(
residuals,a_guess,args=(x,y),full_output=True,warning=True)
與此對residuals
:
def residuals(a,x,y):
return y-f(x,a)
residuals
是該方法返回true輸出數據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
我想跟着你,但沒成功。我是否需要同時使用curve_fit和leastsq?我能不能用我的curve_fit以某種方式使用pcov?根據文檔,curve_fit已經使用leastsq - 或者是我需要計算的r square沒有從leastsq移交到curve_fit的信息? – Woodpicker 2013-05-11 14:13:23
最關鍵的是,如果在最低限度功能中的「a_guess」 - 這是什麼意思?謝謝... – Woodpicker 2013-05-11 14:24:42
行了,它是估計值...現在有效,謝謝 – Woodpicker 2013-05-11 18:52:57