Związek między rozkładem dwumianowym a rozkładem Poissona
Właśnie dowiedziałeś się, że rozkład Poissona jest granicą rozkładu dwumianowego dla rzadkich zdarzeń. Ma to sens, jeśli pomyślisz o opisach obu rozkładów. Wyobraź sobie, że co minutę przez godzinę przeprowadzasz próbę Bernoulliego, każdą z prawdopodobieństwem sukcesu 0,1. Wykonasz 60 prób, a liczba sukcesów ma rozkład dwumianowy – możemy się spodziewać około 6 sukcesów. To dokładnie odpowiada historii o rozkładzie Poissona omówionej w materiale wideo, gdzie witryna internetowa otrzymuje średnio 6 odwiedzin na godzinę. Rozkład Poissona ze współczynnikiem napływu równym \(np\) przybliża zatem rozkład dwumianowy dla \(n\) prób Bernoulliego z prawdopodobieństwem sukcesu \(p\) (przy dużym \(n\) i małym \(p\)). Co istotne, rozkład Poissona jest często prostszy w użyciu, ponieważ ma tylko jeden parametr – w odróżnieniu od dwóch parametrów rozkładu dwumianowego.
Przeanalizujmy oba rozkłady obliczeniowo. Obliczysz średnią i odchylenie standardowe próbek z rozkładu Poissona o współczynniku napływu równym 10. Następnie obliczysz średnią i odchylenie standardowe próbek z rozkładu dwumianowego z parametrami \(n\) i \(p\) takimi, że \(np = 10\).
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 1)
Instrukcje do ćwiczenia
- Używając funkcji
rng.poisson(), wylosuj10000próbek z rozkładu Poissona o średniej równej10. - Utwórz listę wartości
nipdo rozważenia dla rozkładu dwumianowego. Wybierzn = [20, 100, 1000]ip = [0.5, 0.1, 0.01], tak aby \(np\) zawsze wynosiło 10. - Używając
rng.binomial()wewnątrz dostarczonej pętlifor, wylosuj10000próbek z rozkładu dwumianowego dla każdej paryn, pi wydrukuj średnią oraz odchylenie standardowe próbek. Są 3 paryn, p:20, 0.5,100, 0.1i1000, 0.01. Dostęp do nich wewnątrz pętli uzyskasz jakon[i], p[i].
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Draw 10,000 samples out of Poisson distribution: samples_poisson
# Print the mean and standard deviation
print('Poisson: ', np.mean(samples_poisson),
np.std(samples_poisson))
# Specify values of n and p to consider for Binomial: n, p
# Draw 10,000 samples for each n,p pair: samples_binomial
for i in range(3):
samples_binomial = ____
# Print results
print('n =', n[i], 'Binom:', np.mean(samples_binomial),
np.std(samples_binomial))