Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Basi per Statistica Inferenziale in Matlab Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Introduzione Stime puntuali ed intervalli Introduzione Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Statistica Inferenziale Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Motivazioni Fare inferenze circa un insieme di elemnti a partire da un insieme di osservazioni Es: inferire il risultato di un referendum dagli exit poll inferenza → asserzioni motivate (risultato referendum) insieme di elementi → popolazione (tutti i votanti) insieme di osservazioni → campione (persone intervistate) Statistica inferenziale ed analisi dei dati Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Analisi dei dati Dati → campione Es: tempi di esecuzione di due algoritmi su un certo numero n di istanze di problema inferenza → decidere quale dei due algoritmi e' piu' veloce insieme di elemetni → tutte le possibili istanze insieme di osservazioni → tempo di esecuzione sulle istanze n Statistica inferenziale ed analisi dei dati Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Example (Confronto Algoritmi) Stima Puntuale ed intervalli di condenza Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Stima Puntuale Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Stimare parametri di distribuzioni parzialmente note Dato un campione x1 , · · · , xn di valori Voglio stimare i parametri di una distribuzione che assumo sia la distribuzione della mia popolazione Es: assumo la distribuzione Gaussiana con media e varianza non note Voglio stimare la media e la varianza della mia distribuzione Stima Puntuale: terminologia Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza terminologia e concetti base Data una serie di variabili aleatorie X1 , · · · , Xn con un modello probabilistico pX (x , θ) Statistica: T = f (X1 , · · · , Xn ) Stimatore: θ̂ = f (X1 , · · · , Xn ) Stimatore Corretto (o non distorto): ET = θ Stimatori corretti Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Stimatori corretti per media e varianza assumo pX (x , θ) = N (µ, σ) se x1 , · · · , xn sono i campioni (valori numerici) Allora si puo dimostrare che P x̄ = 1/n =1 P x e' uno stimatore corretto di µ s 2 = 1/(n − 1) =1 (x − x̄ )2 e' uno stimatore corretto di σ2 n n n i i n i i n Stima puntuale in matlab Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Stimare media e varianza in matlab X = vettore di dati mean(X) = stimatore della media var(X) = stimatore corretto della varianza Campionamento dati Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Campionamento da distibuzioni note rand(M,1) estrae M campioni dalla distribuzione uniforme tra (0,1) normrnd(MU,SIGMA,M,1) estrae M campioni dalla distribuzione normale con media MU e varianza SIGMA Esempio stima puntuale Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Example (Stima media e varianza di campioni) X = vettore di dati X = normrnd(0,1,N,1) mean(X) = stimatore della media var(X) = stimatore corretto della varianza Visualizzazione dati: plot Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Cenni di graca 2-D plot(x,y) graco 2D di y rispetto ad x help plot per vedere tutte le possibili opzioni Example (graco di una distribuzione normale con media MU e varianza SIGMA) Es: x = [-10:0.01:10] y = normpdf(x,MU,SIGMA) plot(x,y) Visualizzazione dati: hist Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Cenni di graca 2-D: istogrammi hist(x,y) istogramma dei valori in x divisi in y contenitori help hist per vedere tutte le possibili opzioni Example (graco di una distribuzione normale con media MU e varianza SIGMA) Es: x = [-10:0.01:10] y = normpdf(x,MU,SIGMA) plot(x,y) Intervalli di condenza Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Motivazione La stima puntuale non ci dice il valore vero del parametro Vogliamo che la stima ci dia un valore ragionevolmente vicino a quello vero Intervallo di condenza: valore percentuale di condenza che il parametro appartenga all'intervallo stimato Intervalli di condenza: terminologia Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza terminologia e formule intervallo di condenza: P θ (T1 < h(θ) < T2 ) T1 = t1 (X1 , · · · , Xn ) T2 = t2 (X1 , · · · , Xn ) h(θ) appartiente a (t1 (x1 , · · · , xn ), t2 (x1 , · · · , xn )) con una condenza di livello 100α% condenza non probabilita' perche' valutiamo a valle del campionamento Intervallo di condenza per la media Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Popolazione normale con varianza nota Ipotesi X1 , · · ·, Xn ∼ N (µ, σ) ¯ Obiettivo P µ |Xσ/n√−µ|n < z(1+α)/2 = α zβ quantile β della normale standard (N (0, 1)) P (X ≤ z β ) = β Quantili sono deniti da tabelle note Soluzione µ̂ = X̄n ± z(1+α)/2 √σn Intervallo di condenza per la media Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Popolazione normale con varianza non nota Ipotesi X1 , · · · ,Xn ∼ N (µ, σ) Obiettivo P µ,σ |X¯n −µ| √ Sn2 /n < t(1+α)/2 (n − 1) =α tβ (m) quantile β ad m gradi di liberta' della distribuzione t di Student q 2 Soluzione µ̂ = X̄n ± t(1+α)/2 (n − 1) Snn Stima per grandi campioni Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Popolazione qualsiasi ma tanti campioni Per grandi campioni (n>=30) possiamo assumere che la popolazione abbia approssimativamente una distribuzione t di student Quindi per n grande (>=30) q usiamo sempre 2 µ̂ = X̄n ± t(1+α)/2 (n − 1) Snn Se n e' molto grande (n>=120) allora possiamo assumere che t(1+α)/2 (n − 1) ' z(1+α)/2 Quindi usiamo µ̂ = X̄n ± z(1+α)/2 √σn Sommario Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Calcolare intervalli di condenza Dati i campioni Calcolare media mean() Calcolare varianza var() Calcolare formula opportuna (utilizzando z o t) Per calcolare z o t caricare il le corrispondente: tvaluedSample95 oppure zvaluedSample95 Calcolo di t e z Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Come calcolare i quantili Leggiamo i quantili da le Per i quantili z vedere il le zvaluesSampled.dat Per i quantili t vedere il le tvaluesSampled95.dat Attenzione: il quantile t dipende da n ma non abbiamo tutti gli n nel le se n > 120 usare 1.6449 se n1 < n < n2 interpolare tra t (n1 ) ed t (n2 ) per interpolare utilizzare interp1(...) Visualizzazione dati: errorbar Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Cenni di graca 2-D molto simile a plot errorbar(x,y,u,l) graco 2D di y, y+u ed y-l rispetto ad x, help errorbar per vedere tutte le possibili opzioni Esercizi Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Esercizi intervalli di condenza Implementare zconnt (utilizzare zvaluesSampled.dat) campionare gaussiana, calcolare media ed intervallo di condenza (utilizzare zconnt) gracare media ed intervallo di condenza al variare del numero di campioni (utilizzare plotConfInt) Implementare tconnt95 (utilizzare tvaluesSampled95.dat) campionare gaussiana, calcolare media ed intervallo di condenza (utilizzare tconnt95) gracare media ed intervallo di condenza al variare del numero di campioni (utilizzare tplotConfInt) Esercizi II Basi per Statistica Inferenziale in Matlab Introduzione Stima Puntuale ed intervalli di condenza Intervalli di condenza Esercizi intervalli di condenza Calcolare media ed intervallo di condenza per dati in motifSearch.dat (usare tconnt95) Gracare l'andamento dei due algoritmi utilizzando errorbar