2015-06-07 39 views
5

Dopo questo istogramma,Trova migliori parametri di fit utilizzando Python

enter image description here

vorrei per adattarsi con una distribuzione del chi quadrato, il cui pdf è:

enter image description here

dove beta è variabile, d1 e beta_zero sono 2 parametri.

La mia domanda è: come trovare i parametri migliori con l'istogramma usando Python?

Aggiornamento: So che ho bisogno di utilizzare curve_fit in scipy.optimize. Il mio xdata è matrix_beta, che nella forma di una matrice e i cui elementi sono beta. Quindi definisco una funzione func(beta,beta_zero,d1) come nella formula. Quindi come procedere con ydata?

+0

Onestamente, hanno tutto ciò che si potrebbe aver bisogno, ma li rendono di default: 'def istogramma (qualcosa, another_something, different = True) '... Questo tipo di cose in modo che tu possa fare affidamento sui valori predefiniti se non hai bisogno di nulla. – Zizouz212

risposta

1

È possibile utilizzare ad esempio il pacchetto SciPy, in questo modo:

import numpy,math 
import scipy.optimize as optimization import 
matplotlib.pyplot as plt 
xdata = numpy.array([0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5])#your x coordinate 
ydata = numpy.array([25.,40.,22.,12.,8.,3.,1.,1.,0.0,0.0])#your y coordinates 
x0 = numpy.array([0.0, 0.0]) 
sigma = numpy.array([1.0,1.0,1.0,1.0,1.0,1.0])#your errors, e.g. sqrt() 
def func(d1, Bo): 
    return d1*Bo #definition of your function 
print optimization.curve_fit(func, xdata, ydata, x0, sigma) #result 

Potete vedere più informazioni qui http://python4mpia.github.io/fitting_data/least-squares-fitting.html