>>>>>

Scheda 3 - Probabilità condizionata, legge di distribuzione binomiale

1. Eventi e variabili casuali INDIPENDENTI. Verifica della possibilita` di usare RND per simulare variabili indipendenti.

    Abbiamo simulato l'esito del lancio di due dadi ( scheda 2, quesito 9) con:

        U1=INT(RND*6)+1 : U2=INT(RND*6)+1 : U=U1+U2

    Affinché la simulazione sia corretta non basta che RND abbia distribuzione uniforme: l'uscita di un dado deve essere indipendente da quella dell'altro, cioè U1 e U2 devono essere "stocasticamente" indipendenti: la probabilità che esca un certo valore di U1 non deve dipendere dal valore di U2 che esce, e viceversa (è una condizione più forte della indipendenza funzionale, o deterministica; un esempio di dipendenza funzionale è quella di U da U1 e U2). Ciò si verifica anche se abbiamo usato per ottenere sia U1 che U2 lo stesso generatore di numeri pseudocasuali?

    In altre parole, è corretto considerare le due comparse di RND all'interno del sottoprogramma Prova, chiamato nel ciclo FOR-NEXT di FA_RND.BAS, come due variabili casuali indipendenti?

    Voglio verificare questa indipendenza al calcolatore. Per farlo devo caratterizzare meglio matematicamente questo concetto.

Esempio-idea:   nel paese XX il 21% degli abitanti sono biondi e il 52% sono femmine. Qual è la percentuale di abitanti che sono femmine bionde?

    Suppongo, ragionevolmente, che l'essere biondo e l'essere femmina siano caratteristiche indipendenti, cioè che i biondi si distribuiscano tra i maschi allo stesso modo che tra le femmine: la percentuale di biondi tra i maschi e tra le femmine sia uguale a quella che c'è nel complesso degli abitanti. Quindi dalla tabella sottostante a sinistra, che rappresenta le informazioni iniziali, posso ottenere la tabella a destra riproducendo la riga in basso nelle righe soprastanti modificandola proporzionalmente mediante i fattori moltiplicativi 48% e 52% (ovvero riproducendo la colonna a destra moltiplicandola per i fattori 21% e 79%):

 

B

not B

tot

F

   

52%

M

   

48%

tot

21%

79%

100%

  
 

B

not B

tot

F

21%·52%

79%·52%

52%

M

21%·48%

79%·48%

48%

tot

21%

79%

100%

    In formula, ho fatto:
    FrequenzaRelativa(B and F) = FrequenzaRelativa(B) · FrequenzaRelativa(F)
dove B indica la modalità "essere biondo" e F la modalità "essere femmina".

    Se indico con la variabile Sesso a valori in {"m", "f"} il sesso di un generico abitante di XX e con la variabile Biondo a valori in {"sì", "no"} il suo essere o no biondo, posso esprimere la supposizione fatta inizialmente dicendo che Sesso e Biondo sono variabili casuali indipendenti.

    Passando dalla frequenza alla probabilità, possiamo scrivere:
    Pr(Biondo="sì" and Sesso="f") = Pr(Biondo="sì") · Pr(Sesso="f").

    Più in generale definiamo gli eventi A e B indipendenti se:

(§)   Pr(A and B) = Pr(A)·Pr(B)

    e le variabili casuali U1 a valori in {a1, …, an} e U2 a valori in {b1, …, bm} indipendenti se:

($)   per ogni a in {a1, …, an} e ogni b in {b1, …, bm}, U1=a e U2=b sono eventi indipendenti.

1

  Esegui e analizza le uscite del programma TESTDADI.bas:

Via:
INPUT "m,n"; m,n
N1=0 : N2=0 : N12=0 ' variabili per rilevare le frequenze
FOR i=1 TO 1000
  U1=INT(RND*6)+1 : U2=INT(RND*6)+1
  IF U1=m THEN N1=N1+1
  IF U2=n THEN N2=N2+1
  IF U1=m AND U2=n THEN N12=N12+1
NEXT
PRINT "FreqRel(U1=m) * FreqRel(U2=n)=" TAB(31) N1/1000*N2/1000
PRINT "FreqRel(U1=m and U2=n)=" TAB(31) N12/1000
GOTO Via

    Il programma dà luogo a uscite simili a quelle a fianco. Come si vede, si ottengono valori che sembrano confermare sperimentalmente la validità di:

Pr(U1=m and U2=n) = Pr(U1=m)·Pr(U2=n)

    Passando da 1000 prove a un numero maggiore di prove si ottengo valori ancora più vicini tra loro.

 
m,n? 1,1
FreqRel(U1=m) * FreqRel(U2=n)= .024332
FreqRel(U1=m and U2=n)=        .022
m,n? 1,2
FreqRel(U1=m) * FreqRel(U2=n)= .024864
FreqRel(U1=m and U2=n)=        .025
m,n? 1,2
FreqRel(U1=m) * FreqRel(U2=n)= .031229
FreqRel(U1=m and U2=n)=        .027

    Dunque, simulando il lancio di due dadi mediante l'impiego di RND, l'uscita di un certo numero su un dado è indipendente dal numero che esce sull'altro. Come verificare che questo "buon comportamento" di RND è generale, cioè come verificare che più comparse di RND in un programma sono utilizzabili per rappresentare variabili casuali indipendenti? (con più comparse intendiamo 2, 3, …, 100, … comparse, ma, ovviamente, non milioni di comparse, altrimenti ci avvicineremmo alla quantità di "numeri casuali" che RND può assumere; del resto non ha senso realizzare programmi con così tante comparse di RND!)

    Dobbiamo passare dalla proprietà ($) utilizzata per il caso discreto a una proprietà che caratterizzi l'indipendenza nel caso in cui le variabili aleatorie U1 e U2 varino su intervalli I1 e I2 di numeri reali.

    È naturale definire U1 e U2 indipendenti se:

($$)   per ogni J1 e J2 sottointervalli di, rispettivamente, I1 e I2, U1J1 e U2J2 sono eventi indipendenti.

    Nel nostro caso I1=I2=[0,1) e le due variabili sono entrambe dotate di distribuzione uniforme.
Il programma seguente (TESTRND.bas) verifica sperimentalmente ($$) limitandosi ai sottointervalli di tipo [0,h): dalle proprietà delle misure di probabilità si deduce che è sufficiente la verifica per questi sottointervalli 
(un sottointervallo [p,q) di [0,1) è ottenibile come intersezione di [0,q) con [p,1), a sua volta ottenibile come complementare di [0,p); per gli intervalli del tipo (p,q) possiamo ricondurci agli intervalli [p,q) poiché, nel caso di U con distribuzione uniforme, P(U=p)=0; lo stesso possiamo fare per gli intervalli (p,q]).

Via: INPUT "a, b (0 < a, b < 1) "; a, b
NX = 0 : NY = 0 : NXY = 0
FOR i=1 TO 1000
X=RND : Y=RND
IF
X < a THEN NX = NX+1
IF Y < b THEN NY = NY+1
IF X < a AND Y < b THEN NXY = NXY+1
NEXT
PRINT
"FreqRel(X<a) * FreqRel(Y<b) = "; TAB(30) NX/1000*NY/10; "%"
PRINT "FreqRel(X<a and Y<b) = "; TAB(30) NXY/10; "%"
GOTO Via

    Sotto sono riprodotte alcune uscite:

a, b (compresi tra 0 e 1) ? 0.5,0.5
FrRel(X<a)*FrRel(Y<b)=        24.0408 %
FrRel(X<a and Y<b)=           25.1 %
a, b (compresi tra 0 e 1) ? 0.2,0.6 
FrRel(X<a)*FrRel(Y<b)=        11.5432 %
FrRel(X<a and Y<b)=           11.9 %
Nota. Così come accade per uguaglianza e diversità, mentre la dipendenza è transitiva l'indipendenza non lo è: verificare che una uscita di RND è indipendente da quella successiva non assicura che sia indipendente anche da una terza uscita. Per verificare l'indipendenza anche nel caso di simulazioni con più di due impieghidi RND occorre modificare il programma, ad es. inserire un FOR i=1 to n: Z=RND: NEXT tra X=RND e Y=RND e assegnare a n diversi numeri naturali. Anche con tali modifiche gli esiti sono simili ai precedenti.

<<<     Scheda precedente INDICE Paragrafo successivo     >>>