Relazione tra distribuzioni Binomiale e di Poisson
Hai appena sentito che la distribuzione di Poisson è il limite della distribuzione Binomiale per eventi rari. Ha senso se pensi alle relative “storie”. Supponi di fare una prova di Bernoulli ogni minuto per un’ora, ciascuna con probabilità di successo 0,1. Faremo 60 prove e il numero di successi è distribuito secondo una Binomiale; ci aspettiamo circa 6 successi. È proprio come la storia della Poisson discussa nel video, in cui otteniamo in media 6 visite a un sito web all’ora. Quindi, la distribuzione di Poisson con tasso di arrivo pari a \(np\) approssima una distribuzione Binomiale per \(n\) prove di Bernoulli con probabilità \(p\) di successo (con \(n\) grande e \(p\) piccolo). È importante notare che la distribuzione di Poisson è spesso più semplice da usare perché ha un solo parametro invece di due come la Binomiale.
Esploriamo computazionalmente queste due distribuzioni. Calcolerai la media e la deviazione standard di campioni da una distribuzione di Poisson con tasso di arrivo 10. Poi calcolerai la media e la deviazione standard di campioni da una distribuzione Binomiale con parametri \(n\) e \(p\) tali che \(np = 10\).
Questo esercizio fa parte del corso
Pensare in modo statistico con Python (Parte 1)
Istruzioni dell'esercizio
- Usando la funzione
rng.poisson(), estrai10000campioni da una distribuzione di Poisson con media10. - Crea una lista dei valori di
nepda considerare per la distribuzione Binomiale. Sceglin = [20, 100, 1000]ep = [0.5, 0.1, 0.01]in modo che \(np\) sia sempre 10. - Usando
rng.binomial()all'interno delforfornito, estrai10000campioni da una distribuzione Binomiale per ciascuna coppian, pe stampa la media e la deviazione standard dei campioni. Ci sono 3 coppien, p:20, 0.5,100, 0.1e1000, 0.01. All'interno del ciclo puoi accedervi comen[i], p[i].
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))