34 - Quando la binomiale diventa Poisson: molti tentativi, eventi rari
15-09-2026
Probabilità e combinatoria nei giochi
MATH
15-09-2026
Probabilità e combinatoria nei giochi
Nell'articolo 10 abbiamo studiato la distribuzione binomiale:
n prove indipendenti
stessa probabilità p a ogni prova
X = numero di successi
con:
$$ P(X=k) = \binom{n}{k} p^k (1-p)^{n-k} $$
La formula è esatta.
Ma immaginiamo ora un esperimento con:
1.000 prove
e un successo molto raro:
$$ p = 0,001 $$
Il numero medio di successi è soltanto:
np = 1
La binomiale resta il modello esatto, ma compare una distribuzione molto utile che può sostituirla con grande precisione: la Poisson.
L'idea non è:
"evento raro"
→
"uso automaticamente Poisson"
La situazione che ci interessa è più precisa:
n grande
p piccolo
np = λ mantenuto moderato
Vediamo da dove nasce l'approssimazione e quanto possiamo fidarci.
Una variabile casuale Poisson di parametro λ > 0 assume i valori:
0, 1, 2, 3, ...
con probabilità:
$$ P(Y=k) = e^{-\lambda} \lambda^k / k! $$
Il parametro λ ha un'interpretazione immediata:
$$ \begin{gathered} E[Y] = \lambda \ \operatorname{Var}(Y) = \lambda \end{gathered} $$
Nel confronto con una binomiale scegliamo:
λ = np
perché anche la binomiale ha media:
E[X] = np
Quindi i due modelli descrivono lo stesso numero medio di successi.
Prendiamo una successione di binomiali nella quale:
$$ p = \lambda/n $$
Così, mentre n cresce:
p → 0
ma:
np = λ
resta costante.
Per un valore fissato k:
$$ P(X=k) = \binom{n}{k} (\lambda/n)^k (1-\lambda/n)^{n-k} $$
Riscriviamo il coefficiente binomiale:
$$ \binom{n}{k} = n(n-1)...(n-k+1)/k! $$
Otteniamo:
P(X=k)
=
[n(n-1)...(n-k+1) / n^k]
·
[λ^k/k!]
·
(1-λ/n)^n
·
(1-λ/n)^(-k)
Quando n tende all'infinito, con k e λ fissati:
n(n-1)...(n-k+1) / n^k
→ 1
inoltre:
(1-λ/n)^n
→ e^(-λ)
mentre:
(1-λ/n)^(-k)
→ 1
Quindi:
P(X=k)
→
e^(-λ) λ^k/k!
che è precisamente la massa di una Poisson di parametro λ.
Questo è il motivo matematico dell'approssimazione.
Manteniamo sempre:
λ = np = 1
ma cambiamo n e p:
n=10 p=0,1
n=20 p=0,05
n=100 p=0,01
n=1.000 p=0,001
Tutti e quattro i modelli hanno:
$$ E[X]=1 $$
La Poisson usata per approssimarli è quindi sempre:
Y ~ Poisson(1)
Consideriamo la probabilità di almeno 3 successi.
Per la Poisson:
$$ P(Y\ge 3) = 1 - P(Y=0) - P(Y=1) - P(Y=2) $$
Poiché λ=1:
$$ P(Y\ge 3) = 1 - e^{-1}(1 + 1 + 1/2) $$
quindi:
P(Y>=3)
≈
0,0803013971
=
8,03013971%
Confrontiamola con la binomiale esatta.
n p Binomiale esatta P(X>=3) Poisson(1) Errore assoluto
10 0,1 7,01908264% 8,03013971% 1,01105707 pp
20 0,05 7,54836738% 8,03013971% 0,48177233 pp
100 0,01 7,93732023% 8,03013971% 0,09281948 pp
1.000 0,001 8,02093428% 8,03013971% 0,00920542 pp
Il parametro λ è identico in tutti i casi.
Eppure l'approssimazione migliora drasticamente quando:
n aumenta
p diminuisce
Quindi non basta dire:
Il numero medio di successi è piccolo.
Conta come quel numero medio viene ottenuto.
Questo è un esempio classico di regime Poisson.
La binomiale esatta dà:
P(X>=3)
≈
0,0802093428
La Poisson con:
λ=np=1
dà:
P(Y>=3)
≈
0,0803013971
La differenza assoluta è:
$$ \approx 0,0000920542 $$
cioè circa:
0,009205 punti percentuali
La Poisson è quindi molto vicina alla risposta esatta pur usando una formula più semplice.
Sempre per:
$$ \begin{gathered} n=1.000 \ p=0,001 \ \lambda=1 \end{gathered} $$
abbiamo:
k Binomiale Poisson(1) Errore assoluto
0 0,3676954248 0,3678794412 0,0001840164
1 0,3680634883 0,3678794412 0,0001840471
2 0,1840317441 0,1839397206 0,0000920235
3 0,0612825094 0,0613132402 0,0000307308
4 0,0152899554 0,0153283100 0,0000383546
La massa più diversa, in questo confronto, è quella di k=1:
errore assoluto
≈
0,0001840471
ossia circa:
0,018405 punti percentuali
Ancora una volta: molto piccolo, ma non zero.
Questo articolo non sostituisce la binomiale.
Se il modello è realmente:
n prove Bernoulli indipendenti
p costante
allora:
Binomiale(n,p)
rimane la legge esatta.
La Poisson è un'approssimazione utile quando il regime lo giustifica.
La distinzione è importante perché una Poisson può assumere qualsiasi intero non negativo:
0,1,2,3,...
mentre una binomiale non può superare:
$$ n $$
Quando n è grande e p molto piccolo, la massa Poisson oltre n è trascurabile.
Quando il regime non è sufficientemente rarefatto, questa differenza strutturale può invece diventare uno dei segnali che l'approssimazione è meno convincente.
Per la binomiale:
Var(X)
=
np(1-p)
=
λ(1-p)
Per la Poisson:
$$ \operatorname{Var}(Y)=\lambda $$
Quindi, se p è piccolo:
λ(1-p)
≈
λ
Nel nostro confronto con λ=1:
n=10, p=0,1 Var binomiale = 0,9
n=20, p=0,05 Var binomiale = 0,95
n=100, p=0,01 Var binomiale = 0,99
n=1000, p=0,001 Var binomiale = 0,999
Poisson(1) Var = 1
Anche da questo punto di vista i modelli diventano sempre più simili.
Non è una dimostrazione dell'approssimazione, ma è un buon controllo di coerenza.
Supponiamo di osservare un insieme di dati con pochi eventi.
Non possiamo concludere automaticamente:
"sembrano rari"
→
"sono Poisson"
Prima dobbiamo avere un modello plausibile.
Nel caso binomiale che stiamo studiando, le ipotesi sono molto chiare:
numero di prove fissato
prove indipendenti
stessa probabilità p
p piccolo
n grande
Altri fenomeni possono avere:
dipendenza fra eventi
probabilità che cambia nel tempo
cluster reali
vincoli fisici
stagionalità
numero di opportunità non ben definito
In quei casi, vedere pochi eventi non basta a giustificare la Poisson.
Nell'articolo 24 avevamo citato il confronto storico fra impatti osservati in celle spaziali e una distribuzione di Poisson.
Ora possiamo capire meglio il punto metodologico: una Poisson è un modello quantitativo da verificare, non un'etichetta da applicare a qualunque configurazione che sembri casuale o irregolare.
Lo standalone C# associato a questo articolo è:
ApprossimazionePoisson.cs
Per confrontare le due distribuzioni non è necessario calcolare direttamente:
$$ \binom{1000}{k} $$
per ogni k.
Possiamo generare le masse ricorsivamente.
Per la binomiale:
$$ P(X=0)=(1-p)^n $$
poi:
P(X=k+1)
=
P(X=k)
·
(n-k)/(k+1)
·
p/(1-p)
Per la Poisson:
$$ P(Y=0)=e^{-\lambda} $$
poi:
$$ P(Y=k+1) = P(Y=k) \cdot \lambda/(k+1) $$
Uno snippet essenziale è:
static double[] Binomiale(int n, double p)
{
var pmf = new double[n + 1];
pmf[0] = Math.Pow(1.0 - p, n);
double rapporto = p / (1.0 - p);
for (int k = 0; k < n; k++)
{
pmf[k + 1] =
pmf[k]
* (n - k)
/ (k + 1)
* rapporto;
}
return pmf;
}
static double[] Poisson(double lambda, int maxK)
{
var pmf = new double[maxK + 1];
pmf[0] = Math.Exp(-lambda);
for (int k = 0; k < maxK; k++)
{
pmf[k + 1] =
pmf[k] * lambda / (k + 1);
}
return pmf;
}
Il file standalone associato all'articolo confronta automaticamente i quattro casi con λ=1, misura l'errore massimo fra le masse e verifica il caso n=1000, p=0,001 contro i valori pubblicati sopra.
La Poisson non è una scorciatoia magica per qualsiasi evento raro.
È il limite naturale di una binomiale nel regime:
n → grande
p → piccolo
np → λ
Per k fissato:
$$ \binom{n}{k} p^k (1-p)^{n-k} \approx e^{-\lambda} \lambda^k/k! $$
Nel nostro confronto con λ=1:
n=10, p=0,1
produce ancora una differenza visibile.
Con:
$$ n=1000, p=0,001 $$
la differenza è già molto piccola.
La regola metodologica resta quella introdotta nell'articolo 19:
se la formula esatta è disponibile,
conoscila prima
poi usa l'approssimazione sapendo:
quale limite la giustifica
quanto errore introduce
quali ipotesi stai facendo
Con questo articolo si completa il percorso sui nuovi modelli discreti. Nel prossimo passaggio passeremo da distribuzioni e conteggi a processi che evolvono passo dopo passo, iniziando dalla random walk.