IniziaInizia gratis

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)

Visualizza il corso

Istruzioni dell'esercizio

  • Usando la funzione rng.poisson(), estrai 10000 campioni da una distribuzione di Poisson con media 10.
  • Crea una lista dei valori di n e p da considerare per la distribuzione Binomiale. Scegli n = [20, 100, 1000] e p = [0.5, 0.1, 0.01] in modo che \(np\) sia sempre 10.
  • Usando rng.binomial() all'interno del for fornito, estrai 10000 campioni da una distribuzione Binomiale per ciascuna coppia n, p e stampa la media e la deviazione standard dei campioni. Ci sono 3 coppie n, p: 20, 0.5, 100, 0.1 e 1000, 0.01. All'interno del ciclo puoi accedervi come n[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))
Modifica ed esegui il codice