trend power lorentzian law fit examples python scipy curve-fitting least-squares

power - Python/Scipy-implementando el sigma de optimize.curve_fit en optimize.leastsq



python fit power law (2)

Acabo de descubrir que es posible combinar lo mejor de ambos mundos, y tener la salida completa leastsq () también de curve_fit (), usando la opción full_output:

popt, pcov, infodict, errmsg, ier = curve_fit(func, xdata, ydata, sigma = SD, full_output = True)

Esto me da un infodict que puedo usar para calcular todas mis cosas de Goodness of Fit, y me permite usar la opción sigma de curve_fit al mismo tiempo ...

Estoy ajustando puntos de datos usando un modelo logístico. Como a veces tengo datos con un error de ydata, primero utilicé curve_fit y su argumento sigma para incluir mis desviaciones estándar individuales en el ajuste.

Ahora cambié a leastsq, porque también necesitaba una estimación de Bondad de ajuste que curve_fit no podía proporcionar. Todo funciona bien, pero ahora echo de menos la posibilidad de pesar los mínimos cuadrados como lo hace "sigma" con curve_fit.

¿Alguien tiene algún ejemplo de código sobre cómo podría ponderar los mínimos cuadrados también en leastsq?

Gracias, Woodpicker


Suponiendo que sus datos están en las matrices x , y con yerr , y el modelo es f(p, x) , simplemente defina la función de error para minimizarla como (yf(p,x))/yerr .