Ich weiß, es gibt vorherige Fragen zu dem Thema, aber ich kann nicht die Einzelheiten meiner Frage finden. Ich versuche, eine Poisson-Verteilung in einem Histogramm zu überlagern. Das erste, was ich versuchte, wurde die Poisson-Funktion aus dem Statistikmodul in scipy mit:overplot poisson Verteilung auf Histogramm
import numpy
from scipy.stats import poisson
mu = mean(data)
n, bins, patches = pyplot.hist(data, 20, normed = 1)
pyplot.plot(bins, poisson.pmf(bins, mu), 'r-')
pyplot.show()
jedoch wie in der Abbildung (in blau das Histogramm meiner Daten) gezeigt, erhalte ich die rote Handlung, die drei seltsame Spitzen hat .
So habe ich versucht, meine eigene Poisson-Verteilung Funktion zu schreiben:
def poisson(mu, x):
from scipy.misc import factorial
return numpy.exp(-mu) * mu**x * factorial(x)**-1
y = poisson(mu, bins)
Aber wenn ich versuche es mir ein Array von Nans erhalten zu drucken. Mache ich etwas falsch? Oder sind die Zahlen in den Behältern zu groß?
print y
[ nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
jedoch, wenn die Ergebnisse aus stats.poisson Druck erhalte ich:
[3.25452236e-06 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 3.63110218e-04 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 5.24385396e-03 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 1.06061293e-02
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
3.23183010e-03]
Hallo, richtig, ich hatte gedacht, dass für meine eigene Fakultätsfunktion ich die Bins ganze Zahlen machen musste, ich weiß nicht, warum es nicht für die poisson auftrat Funktion im scipy Modul. Ein bisschen dumm von mir. Vielen Dank! – user3412058