Sappiamo che il 12% della popolazione mondiale è mancina. Qual è la probabilità che in un campione casuale di 100 persone il numero di mancini sia compreso tra 10 e 14 (estremi inclusi)?
Indichiamo con Xi pari ad 1 o a 0 il fattoche l'i-ma persona
sia o no mancina.
Dobbiamo valutare Pr(10 ≤ X1+X2+...+X100 ≤ 14).
Possiamo procedere in vari modi.
(1)
La somma degli Xi ha andamento approssimativamente normale
(vedi),
con media 12%·100 = 12 e varianza pari a 100 volte la varianza degli
s.q.m. = √10.56 = 3.24961536
Calcolando la probabilità con il computer (ad es. con lo script "gaussiana" presente
qui) otteniamo:
0.55829987074 se a=9.5 b=14.5 m=12 sigma=3.2496.
Dunque la probabilità cercata è 56%.
Nota. Nell'approssimare il fenomeno discreto col continuo devo prendere l'intervallo [9.5,14.5],
non l'intervallo [10,14]; questo sarebbe un grave errore (purtroppo frequente), che darebbe luogo ad un valore
ben diverso: 0.46 invece di 0.56. Non basta conoscere le formulette, occorre tener conto di che cosa si
sta facendo!
(2) In alternativa, e con più sicurezza, potremmo simulare il fenomeno con un programmino. Facciamolo prima in Basic:
10 n = 50000 ' num. iniziale delle prove 20 v = 0 ' n. delle persone cercate 30 FOR i=1 TO n : k = 0 40 for j=1 to 100 ' prendo a caso 100 persone 45 if rnd <= 0.12 then k=k+1 46 next ' ho contato quante sono mancine 50 if k >= 10 and k <= 14 then v=v+1 ' incremento v se sono tra 10 e 14 55 next 60 print v/n*100;"% n = "; n ' la probabilita' che siano tra 10 e 14 55.652% n = 50000
Per valuatare la precisione facciamo più prove (50000, 50000*2,...):
10 n = 50000 ' num. iniziale delle prove 20 v = 0 : volte = 1 ' n. delle persone cercate, n. volte che ripeto l'esperimento 30 FOR i=1 TO n : k = 0 40 for j=1 to 100 ' prendo a caso 100 persone 45 if rnd <= 0.12 then k=k+1 46 next ' ho contato quante sono mancine 50 if k >= 10 and k <= 14 then v=v+1 ' incremento v se sono tra 10 e 14 55 next 60 print v/(n*volte)*100;"%"; ' la probabilita' che siano tra 10 e 14 70 print " n = "; n*volte; : input " batti 1 per continuare "; a$ : volte=volte+1 : goto 30 56.292% n = 50000 batti 1 per continuare 1 56.013% n = 100000 batti 1 per continuare 1 55.95% n = 150000 batti 1 per continuare 1 55.941%5 n = 200000 batti 1 per continuare 1 55.8628% n = 250000 batti 1 per continuare 1 55.84766666666666% n = 300000 batti 1 per continuare 1 ... 55.83076923076923% n = 1950000 batti 1 per continuare 1 55.83145% n = 2000000 batti 1 per continuare 1 ... 55.82640506329114% n = 3950000 batti 1 per continuare 1 55.82395% n = 4000000 batti 1 per continuare 1
Posso concludere che la probabilità (arrotondata) è 55.8%.
Se facessi più prove (500000, 500000*2,...), impiegando molto più tempo, otterrei:
10 n = 500000 ' num. iniziale delle prove ... 55.8126% n = 500000 batti 1 per continuare 1 55.8223% n = 1000000 batti 1 per continuare 1 ... 55.81828888888889% n = 9000000 batti 1 per continuare 1 55.81890526315789% n = 9500000 batti 1 per continuare 1 55.81629% n = 10000000 batti 1 per continuare ... 55.82127% n = 30000000 batti 1 per continuare
Potri concludere che la probabilità è 55.82% (± 0.01%).
Vediamo, in alternativa, come simulare il fenomeno con un programmino in JavaScript:
n=1e7; V=0; for(i=1; i<=n; i=i+1)
{ k=0; for(j=1; j<101; j=j+1) if(Math.random()<=0.12) k=k+1
if(k>=10 && k<=14) V=V+1 } document.write(V/n)
Facendo 3 prove otteniamo: 0.5583431 0.5578698 0.5583903
Potremmo procedere con "n" maggiore, ma ci bastano queste uscite per concludere con sicurezza che la probabilità (arrotondata) è
55.8%. Comunque con n = 1e8 potremmo ottenere 0.55825148 o valori vicini a 0.5582.