Elementi di probabilita’ utili per la Statistica
Scalia Tomba March 25, 2020
1 I ch. 4.3 - 5... + qualche esempio di R...
- Demo R, numeri pseudo-aleatori, simulazione e LLN, 12 U[0,1]
- Convergenza in distribuzione, Normale + multivariata + CLT multivar - Legge limite del massimo + Bin →Poisson
Adesso provo a riassumere le parti importanti e indicare gli esercizi necessari.
1.1 R, probabilita’ e simulazione
E’ tempo di fare un po’ di amicizia con R, se non l’avete gia’ fatto... Andate a www.r-project.org, scaricate R per il vostro sistema operativo, installatelo e in- iziate a leggere il manuale sul sito... Ecco alcuni comandi utili per Probabilita’:
- se a un vettore x si e’ assegnato valori, tipo x = c(1,2,3,2), i commandi mean(x)
= media, var(x) = varianza, sd(x) deviazione standrd, summary(x) un po’ di per- centili, tutti campionari, hist(x) un istogramma dei dati;
- ci sono funzioni legate a tutte le distribuzioni note, non me le ricordo tutte, basta fare help(distributions)...
Prendiamo per esempio la distribuzione normale, in R si chiama norm... Ogni nome di distribuzione puo’ essere preceduto da p, q, d o r... Ognuno dei comandi risultanti ha poi opzioni per mettere parametri e scegliere opzioni, basta fare e.g.
help(pnorm) per vedere cosa offre pnorm. Le lettere hanno i seguenti significati:
pnorm(x) da ’ la funzione di ripartizione della normale standard nel punto x, le opzioni permettono di direttamente cambiare media e sd e se calcolare a sinistra o destra... qnorm(p) da’ l’inversa, cioe’ l’argomento per pnorm(x) = p, dnorm(x) da’ il valore della densita’ normale nel punto x (per grafici e altro) e rnorm(10) da’ 10 numeri pseudoaleatori con distribuzione normale N(0,1)...
I numeri pseudoaleatori sono numeri prodotti da un algoritmo deterministico che sembrano casuali e che soddisfanno la legge dei grandi numeri per quanto concerne
frequenze e medie e altro delle distribuzioni indicate. La teoria di questi numeri e’ divertente, ma porta abbastanza in fretta a questioni di algebra e teoria dei numeri. L’algoritmo piu’ classico si chiama ”congruential pseudo random num- ber generator” (vedere Wikipedia per dettagli) e si basa su un risultato algebrico:
iterando certe funzioni ( si parte da x0 e poi si calcola xn+1 = f (xn), si ottiene una sequenza che, scegliendo opportunamente la funzione f , sembrera’ una sequenza di numeri indipendenti e identicamente distribuiti con distribuzione uniforme.
Esempio: f (x) = 17x + 3 mod 32 x0 = 0
> x=0
> v=numeric(33)
> f=function(x){(17*x+3)%%32}
> for( i in 1:40){v[i]=x;x=f(x)}
La sequenza generata e’ 0 3 22 25 12 15 2 5 24 27 14 17 4 7 26 29 16 19 6 9 28 31 18 21 8 11 30 1 20 23 10 13 0
e poi si ripete... I primi 32 numeri sono tutti differenti tra 0 e 31 e si succedono in ordine apparentemente ”casuale”. Si divide poi questi numeri con 32 o 33 e si ot- tengono numeri uniformemente distribuiti sull’intervallo [0,1]. L’esempio diventa piu’ interessante quando invece di 32 si prende per esempio 264 e si fa la stessa cosa. La distribuzione e’ indistinguibile dalla U[0,1] continua... Esiste una vasta letteratura su questo e altri metodi per generare numeri pseudocasuali. In R e tutti i linguaggi di programmazione c’e’ anche un metodo per mettere il ”seed”
prima di generare una sequenza pseudoaleatoria. Questo gioca il ruolo di x0 e per- mette di riprodurre piu’ volte la stessa sequenza di numeri, per esempio per fare confronti tra due situazioni nelle quali il ”caso” e’ lo stesso. Rimane la questione come fare in modo che i numeri abbiano distribuzione per esempio normale invece di uniforme. Un risultato semplice sulle trasformazioni di variabili aleatorie e’ il seguente: se una data distribuzione ha funzione di ripartizione F con inversa F−1 e U e’ una variabile aleatoria con distribuzione aleatoria, allora la variabile F−1(U ) ha la distribuzione data da F. Ma ci sono parecchi altri trucchi per ottenere dis- tribuzioni sia continue che discrete da variabili uniformi.
Potendo adesso generare quello che funziona come una realizzazione di una se- quenza iid (indipendenti e identicamente distribuiti) di va (variabili aleatorie), il LLN ci fornisce adesso il modo di ”simulare” (approssimativamente) tutte le prob- abilita’ e valori attesi e altro che vogliamo...
Per esempio, sappiamo che P (Z ≤ 1.96) = 0.975 nella N(0,1) (grazie a una tabella o al commando qnorm(0.975)...). Se non lo sapessi, genererei una sequenza molto lunga di numeri ”aleatori” N(0,1) e calcolerei quale proporzione e’ ≤ 1.96 oppure
quale numero si trova al percentile 0.975...
> x=rnorm(10^6)
> sum(x<=1.96)/10^6
# x<= e’ un vettore booleano con TRUE e FALSE che funzionano anche come 1 e 0 [1] 0.974888
> sort(x)[975000]
[1] 1.961896
Se rifate questo, otterrete dei numeri leggermente differente, forse, perche’ la vos- tra sequenza sara’ differente...
Per spiegarvi cosa vuol dire 12U[0,1]... Era un trucco per ottenere numeri con (approssimativamente) distribuzione N(0,1) con numeri uniformi senza applicare trasformazioni non-lineari... Nella distribuzione U[0,1] il valore atteso e’ 1/2 e la varianza 1/12. Percio’ la variabile Z = U1+ . . . + U12− 6 avra’ valore atteso 0 e varianza 1 (controllate...) e, grazie al CLT, la sua distribuzione sara’ approssima- tivamente normale...
> x=numeric(10^6)
> for(i in 1:10^6){x[i]=sum(runif(12))-6}
> hist(x,prob=T)
> curve(dnorm(x),xlim=c(-4,4),add=T)
Vedete varie options, T vuol dire TRUE, la riga 2 simula 106 istanze della formula che dicevo, ecc... Il risultato e’
Histogram of x
x
Density
-4 -2 0 2 4
0.00.10.20.3
Figure 1: Confronto istogramma con distribuzione teorica N(0,1)
1.2 Convergenza in distribuzione
Visto che saremo molto interessati della convergenza in distribuzione, vale la pena definirla meglio:
una sequenza di distribuzioni Pn converge in distribuzione a P , per n che tende all’infinito, se le corrispondenti funzioni di ripartizione Fn(x) convergono a F (x) in tutti i punti di continuita’ x. Un punto di continuita’ e’ un punto dove non c’e’
un ”salto”. Per capire questa precisazione, pensiamo al caso dove Pn concentra tutta la massa 1 nel punto 1/n (Xn = 1/n con probabilita’ 1). La corrispondente funzione di ripartizione e’ Fn(x) = 0 per x < 1/n e Fn(x) = 1 per 1/n ≤ x. E’
chiaro che le distribuzioni Pn devono convergere verso ”la massa 1 in x=0”, la cui funzione di ripartizione e’ F (x) = 0 per x < 0 e F (x) = 1 per 0 ≤ x. Se adesso fissiamo un punto x < 0 oppure x > 0 vediamo che Fn(x) → F (x), ma la convergenza fallisce proprio in x = 0, poiche’ Fn(0) = 0, ∀n ma F (0) = 1.
Per una distribuzione multivariata, si rimpiazzano intervalli con insiemi sul cui
”bordo” non c’e’ massa nella misura di probabilita’ limite.
La convergenza CLT puo’ essere definita per tutti i valori di x della distribuzione normale poiche’ questa non ha salti . . . Notate che di solito si attribuisce la con- vergenza in distribuzione alle variabili aleatorie, scrivendo ”Xn converge in dis- tribuzione a X”, oppure ”Xn converge in distribuzione a N(0,1)”, oppure Xn−→ Xd o Xn −→ N (0, 1), ma si tratta unicamente di convergenza delle corrispondenti dis-d tribuzioni.
1.3 La normale multivariata e CLT multivariato
Serve anche un Teorema Limite Centrale per variabili aleatorie multidimensionali, del tipo (Xn, Yn)−→ (X, Y ), dove pero’ bisogna permettere delle dipendenze tra Xd e Y. Percio’ si definisce cosa si intende con una distribuzione Normale multivariata, fatta in modo da avere proprieta’ desiderabili.
Definiamo prima cosa generalizza valore atteso e varianza per una variabile mul- tivariata o vettore aleatorio.
Sia X = (X1, . . . , Xn) ∈ Rnun vettore aleatorio (pensato come una matrice n × 1).
Allora E(X) = (E(X1), . . . , E(Xn)) e la sua matrice di covarianza Cov(X) la ma- trice n×n con elementi Cov(Xi, Xj). Notate che Cov(X, X) = V ar(X) per una va X e che si puo’ creare una matrice n × n con elementi XiXj con il prodotto XXT. Il valore atteso conserva le sue proprieta’ lineari con costanti vettoriali e matriciali adatte, mentre per la matrice di covarianza rimane vero che traslazione lascia la covarianza invariata, mentre moltiplicazione di X con una matrice A risulta in
Cov(AX) = ACov(X)AT.
Sia Z1, . . . , Zn variabili iid N(0,1) (dunque si conosce la loro distribuzione con- giunta; inoltre pensiamo a loro come un vettore Z ∈ Rn). Sia anche µ ∈ Rn e A una matrice n × n. Allora diciamo che X = (X1, . . . , Xn) = µ + AZ ha una distribuzione normale multivariata con valore atteso µ e matrice di covarianza Σ = AAT. Questa definizione implica per esempio che una trasformazione lineare di X continua ad avere una distribuzione multivariata normale, anche se la trasfor- mazione non e’ Rn → Rn ma Rn → Rm. Valore atteso e matrice di covarianza seguono le formule indicate sopra. Un caso particolare e’ quando si considera la distribuzione di una singola componente di X o di solo alcune componenti.
La CLT multivariata funziona adesso come quella univariata, ma con notazione multivariata. . .
Sia X un vettore aleatorio con valore atteso µ e matrice di covarianza Σ. Siano X1, . . . , Xndelle variabili indipendenti con la stessa distribuzione di X e Snla loro somma. Allora
Sn− nµ
√n
−d
→ N (0, Σ).
1.4 Legge limite del massimo
La CLT multivariata e’ probabilmente la legge di convergenza in distribuzione generale piu’ importante, ma non l’unica interessante. . .
Consideriamo per esempio X1, . . . , Xn iid U[0,1] e Mn = max(X1, . . . , Xn). La funzione di ripartizione di Mn e’ facile da calcolare poiche’ P (Mn ≤ t) = P (X1 ≤ t, . . . , Xn ≤ t) = P (X1 ≤ t) . . . P (Xn ≤ t) = tn, ∀0 ≤ t ≤ 1. Da questo (ma anche senza...) si vede che Mn
−d
→ 1. Pero’ possiamo anche constatare che P (n(1−Mn) ≤ t) = P (Mn ≥ 1 − t/n) = 1 − (1 − t/n)n → 1 − exp(−t). Questo vuol dire n(1 − Mn)−→ Exp(1). Notate che la ”velocita’ e’ n e nond √
n come nel CLT e che la legge limite non e’ normale. . .
1.5 Bin(n,p) → Poisson
Un altro esempio famoso e’ la legge dei piccoli numeri, cioe’ il fatto che la dis- tribuzione binomiale Bin(n,p) si puo’ approssimare con una legge di Poisson se n e’ ”grande”, p ”piccolo” e il prodotto np ”non troppo grande”. Una formu- lazione piu’ precisa e’ che se Xn ∼ Bin(n, pn) e npn → λ quando n → ∞, allora P (Xn = k) → exp(−λ)λk/k!, ∀k, cioe’ Xn −→ P o(λ). Notate che per una variabiled discreta che converge a un’altra variabile discreta, basta controllare la convergenza
per ogni valore fissato della variabile limite.
La dimostrazione e’ un esercizio semplice di analisi:
P (Xn= k) = n(n − 1) . . . (n − k + 1)
k! pkn(1 − pn)n−k
Ognuno dei fattori nel numeratore della frazione si accoppia con una pn e il prodotto converge a λ, il k! c’e’ gia’, rimane l’ultimo fattore, che pero’ si puo’
scrivere (1 − (npn)/n)n)(1 − pn)−k. Il primo termine, per una convergenza nota, converge a exp(−λ), il secondo a 1. QED. . .
Questa convergenza e’ vera anche per la somma di variabili binomiali ”rare” non indipendenti, a patto che la dipendenza sia ”debole”. La dimostrazione, cosi’
come la definizione di ”debolezza”, e’ piu’ complicata, ma si applica al conteggio di configurazioni ”rare” in grafi aleatori e altro; gli interessati possono googlare
”Stein-Chen method”.
1.6 Il seguito...
E’ molto importante in questa fase fare molti esercizi, per esempio la prima decina di ogni sezione principale. Per la prossima lezione, preparate gli esercizi 1.2, 1.6, 1.13,1.14, 1.18, 1.20, 2.1, 2.2, 2.4, 2.8, 2.12, 2.16, 2.20, 2.26, 2.27, 2.28.