Jako przykład:
import pylab as py
import numpy as np
from scipy import optimize
# Generate a
y = np.random.standard_normal(10000)
data = py.hist(y, bins = 100)
# Equation for Gaussian
def f(x, a, b, c):
return a * py.exp(-(x - b)**2.0/(2 * c**2))
# Generate data from bins as a set of points
x = [0.5 * (data[1][i] + data[1][i+1]) for i in xrange(len(data[1])-1)]
y = data[0]
popt, pcov = optimize.curve_fit(f, x, y)
x_fit = py.linspace(x[0], x[-1], 100)
y_fit = f(x_fit, *popt)
plot(x_fit, y_fit, lw=4, color="r")
To zmieści Gaussa działki do podziału, należy użyć pcov
podanie numeru ilościowego jak dobre dopasowanie jest.
Lepszym sposobem określenia, jak dobrze dane są w układzie Gaussa, lub jakiejkolwiek dystrybucji jest Pearson chi-squared test. Trzeba trochę praktyki, aby to zrozumieć, ale jest to bardzo potężne narzędzie.
Czy ten przykład może pomóc? http://matplotlib.org/examples/api/histogram_demo.html – DMH
Nie, to w zasadzie to, czego nie chcę. Nie chcę znormalizować. –