7

Curve_fit を使用してカーブをフィッティングしています。決定係数と絶対二乗和を読み取る方法はありますか? ありがとう、ウッドピッカー

4

1 に答える 1

5

doc によると、最適化を使用するとcurve_fit

f(xdata, *popt) - ydata の 2 乗誤差の合計が最小になるようなパラメーターの最適値

次に、使用します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モデル、パラメーター、入力データを使用yして、真の出力データとモデル出力の差を返すメソッドです。fax

メソッドは、 RSquared と RMSE を自分で計算するためoptimize.leastsqに使用できる多くの情報を返します。RSQuardの場合、次のことができます

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
于 2013-05-09T21:35:14.210 に答える