In [1]:
import numpy as np
import matplotlib.pyplot as plt
from math import factorial
funkce počítající pravděpodobnost podle Poissonova rozdělení
In [4]:
def poiss(k,nu):
return(nu**k/factorial(k)*np.exp(-nu))
vektorizace funkce poiss (aby mohla pracovat s polem)
In [7]:
vpoiss=np.vectorize(poiss)
simulace dat z poissonova rozdělení
In [12]:
nu = 0.777 #očekávaná hodnota
N = 2306 #počet dat
data = np.random.poisson(nu,N)
vytvoření a nakreslení histogramu
In [26]:
k=np.arange(0,9,1) #biny pro histogram
plt.hist(data,bins=k,label='data')
plt.step(k+1,N*vpoiss(k,nu),c='red', label='Poisson prediction')
plt.plot([0,1],[N*vpoiss(0,nu),N*vpoiss(0,nu)],c='red')
plt.xlim(0,8)
plt.legend()
plt.show()
In [28]:
np.histogram(data,bins=k)
Out[28]:
(array([1062, 845, 313, 71, 13, 2, 0, 0], dtype=int64), array([0, 1, 2, 3, 4, 5, 6, 7, 8]))