Appunti sulle v.a. gaussiane multidimensionali ed applicazione a PCA
Transcript
Appunti sulle v.a. gaussiane multidimensionali ed applicazione a PCA
Riassunto sulle gaussiane uni-dimensionali Nel caso unidimensionale, abbiamo definito la gaussiana canonica N0, 1 e la gaussiana generica Nμ, σ 2 descrivendo esplicitamente le loro densità di probabilità. Si verifica con un po’ di calcoli che μ e σ 2 sono media e varianza. Tra le varie proprietà c’è che Z ∼ N0, 1 ⇒ X := σZ + μ ∼ Nμ, σ 2 X−μ e viceversa, data X ∼ Nμ, σ 2 , esiste Z ∼ N0, 1 (data da Z := σ ) tale che X = σZ + μ. Quindi, una volta definita la gaussiana canonica tramite la sua densità, avremmo potuto definire le gaussiane generiche dicendo che erano le v.a. X della forma X = σZ + μ. Gaussiane multi-dimensionali Nel caso multidimensionale, la definizione di gaussiana canonica è abbastanza naturale: un vettore Z = Z 1 , ..., Z n si dice gaussiano canonico se le sue marginali Z 1 , ..., Z n sono gaussiane canoniche indipendenti. Questo equivale a chiedere che la densità congiunta f Z z 1 , ..., z n di Z sia il prodotto delle densità marginali, quindi f Z z 1 , ..., z n = 1 exp − 1 z 21 + ... + z 2n . n/2 2 2π Invece la definizione di gaussiana generica è più laboriosa. Un modo veloce di risolvere questa difficoltà è di definire le gaussiane generiche X in più dimensioni come tutti i vettori aleatori X = X 1 , ..., X k che si ottengono da gaussiane canoniche Z = Z 1 , ..., Z n tramite operazioni affini: X = AZ + μ dove A è una matrice n × k e μ = μ 1 , ..., μ k è un vettore dato. Affermiamo, senza dimostrazione (si deve usare il teorema di cambio di variabile negli integrali multipli), che se la matrice k × k Q = AA T è invertibile, allora X ha densità congiunta f X x 1 , ..., x k = 1 2π k/2 det Q exp − 1 〈Q −1 x − μ, x − μ 〉 . 2 Si potrebbe partire da questa formula come definizione, ma col difetto che essa vale solo nel caso in cui Q sia invertibile. Si verifichi, a titolo di esempio, che la densità unidimensionale di una Nμ, σ 2 è un caso particolare di questa espressione più complessa. Se Q non è invertibile, pur avendo senso in concetto di v.a. gaussiana (definita come trasformazione affine di una canonica), essa non ha densità, in quanto ha distribuzione concentrata su un sottospazio vettoriale di R n strettamente più piccolo di R n stesso. La funzione caratteristica invece ha la forma ϕλ = e i 〈Qλ,λ〉 2 +〈λ,μ〉 dove interviene solo Q e non la sua inversa. Quindi ϕλ è sempre definita, anche se Q non è invertibile. Q è la matrice di covarianza Dato un vettore aleatorio X = X 1 , ..., X k (anche non gaussiano), si chiama matrice di covarianza di X la matrice k × k, che indicheremo con Q, di componenti Q ij = CovX i , X j = EX i − μ i X j − μ j dove μ = μ 1 , ..., μ k è il vettore dei valori medi: μ i = EX i . Per un vettore aleatorio con diswtribuzione qualsiasi, le grandezze medie μ e Q catturano alcune caratteristiche ma non tutte. Invece, per un vettore gaussiano, essere descrivono interamente la distribuzione. Chiariamo questo fatto a partire dalla definizione data sopra di vettore gaussiano: una trasformazione affine di un vettore gaussiano canonico, cioè X = AZ + μ. Per componenti, questo significa n Xi = ∑ A ij Z j + μ i . j=1 Della gaussiana canonica Z usiamo il fatto che EZ j = 0, VarZ j = 1, CovZ j , Z j ′ = 1 per i = i ′ , CovZ j , Z j ′ = 0 per i ≠ i ′ . Vale allora: n EX i = E ∑ A ij Z j + μ i j=1 n = ∑ A ij EZ j + μ i = μ i j=1 n VarX i = Var ∑ A ij Z j + μ i j=1 n = Var ∑ A ij Z j j=1 n n n j=1 j=1 j=1 ∑ VarA ij Z j = ∑ A 2ij VarZ j = ∑ A 2ij = AA T i,i n j=1 j ′ =1 ∑ A ij Z j , ∑ A i j Z j CovX i , X i ′ = Cov = n ′ ′ n n j=1 j ′ =1 ′ ∑ ∑ A ij A i j CovZ j , Z j ′ ′ ′ n = ∑ A ij A i j = AA T i,i ′ ′ j=1 Abbiamo quindi verificato che, nella definizione X = AZ + μ, μ è il vettore dei valori medi e Q = AA T è la matrice di covarianza. Abbiamo detto sopra che, noti μ e Q, la distribuzione del vettore gaussiano è identificata. Questo si capisce facendo riferimento alla densità di probabilità, che è espressa solo tramite essi. Ci chiediamo però, cosa rilevante per alcune conisderazioni pratiche (es. di simulazione): dati μ e Q, come ricostruiamo A in modo che valga X = AZ + μ con Z canonico? Questo può essere molto utile per generare un campione preveniente da una gaussiana di media e covarianza assegnata: se troviamo A, basta generare un campione gaussiano canonico (per la qual cosa basta generare un vettore di campioni gaussiani canonici indipendenti) ed applicare la trasformazione affine. Per calcolare, data Q, una matrice A tale che Q = AA T , basta usare i comandi: require(mgcv) A <- mroot(Q) Provare ad esempio con Q <- B%*%t(B) dove B<-matrix(runif(80),10,8) verificando alla fine che A%*%t(A) è uguale a Q. Osserviamo però che la ricostruzione di A data Q non è univoca: se A verifica Q = AA T , allora per ogni matrice quadrata U tale che UU T = I (dette matrici unitarie o di rotazione) vale che pure AU verifica AUAU T = AUU T A T = AA T = Q. Questo non deve stupire intuitivamente: prendere la matrice AU al posto di A significa usare la rappresentazione X = AUZ + μ, dove però anche UZ è canonico (la rotazione di una gaussiana simmetrica è una gaussiana simmetrica). Si può dimostrare che date A e B che risolvono entrambe il problema Q = AA T , Q = BB T , esiste una rotazione U tale che B = AU, cioè A e B differiscono per una rotazione (un cambio di coordinate). Questi ragionamenti sono alla base anche delle rotazioni nel metodo dell’analisi fattoriale. Aggiungiamo infine che la matrice di correlazione Θ è invece definita Θ ij = CovX i , X j . VarX i VarX j Essa non compare nella densità gaussiana o nella definizione di gaussiana. Però è utile per riconoscere il legame tra le componenti, libero dal problema dell’unità di misura. La correlazione tra due v.a. infatti è sempre compresa tra -1 e 1. Segnaliamo infine che, mentre per una coppia di v.a. qualsiasi l’indipendenza implica covarianza (e quindi correlazione) nulla ma il voceversa non vale in generale, invece per una coppia gaussiana l’indipendenza è equivalente a covarianza (e quindi correlazione) nulla. Esempio: caso 2-dimensionale La matrice di covarianza in questo caso ha la forma Q= σ 2X CovX, Y CovX, Y σ 2Y = σ 2X ρσ X σ Y ρσ X σ Y σ 2Y quindi Q −1 = = 1 2 2 σ X σ Y − ρ 2 σ 2X σ 2Y 1 1 − ρ2 σ 2Y −ρσ X σ Y −ρσ X σ Y σ 2X ρ − σXσY 1 σ 2X ρ − σXσY . 1 σ 2Y Pertanto x y Q −1 x y = 1 1 − ρ2 2 x 2 + y − 2 ρxy σXσY σ 2Y σ 2X ed essendo det Q = 1 − ρ 2 σ 2X σ 2Y , troviamo infine fx, y = 1 2πσ X σ Y 1 − ρ 2 exp − 1 21 − ρ 2 x 2 + y 2 − 2 ρxy σXσY σ 2X σ 2Y . Insiemi di livello di una gaussiana multi-dimensionale Limitiamoci a ragionare sul caso in cui Q è invertibile. Gli insiemi di livello della densità sono gli ellissoidi 〈Q −1 x − μ, x − μ 〉 = r 2 al variare di r ≠ 0. Vediamone in dettaglio la ragione, in modo da capire meglio anche il ruolo degli autovettori ed autovalori di Q. Senza restrizione, ragioniamo nel caso μ = 0, altrimenti basta ripetere le considerazioni sostituendo μ all’origine degli assi cartesiani. Affermiamo che la superficie 〈Q −1 x, x 〉 = r 2 è un ellissoide. Infatti Q è una matrice simmetrica definita positiva. Per un noto teorema, esiste (almeno) una base ortonormale di R n , che indichiamo con e 1 , ..., e n , fatta di autovettori di Q: Qe i = λ i e i . Supponiamo ordinati in modo decrescente gli autovalori λ i : λ 1 ≥ λ 2 ≥ ... ≥ λ n . Se gli autovalori sono diversi tra loro, la base e 1 , ..., e n è unica, altrimenti no. Riscrivendo Q nella base e 1 , ..., e n , essa diventa una matrice diagonale, con elementi λ 1 , λ 2 , ..., λ n sulla diagonale. Automaticamente, ragionamenti analoghi valgono per Q −1 : si dimostra facilmente che Q −1 e i = 1 e i λi (nell’ipotesi che Q sia invertibile, gli autovalori non possono essere nulli), quindi Q −1 , nella base e 1 , ..., e n , diventa una matrice diagonale con elementi λ11 , λ12 , ..., λ1n sulla diagonale. Pertanto, dette y = y 1 , ..., y n le coordinate nella base e 1 , ..., e n , l’equazione 〈Q −1 x, x 〉 = a si scrive y 21 y2 y2 + 2 + ... + n = r 2 . λ1 λ2 λn Questa è l’equazione di un’ellisse avente come assi principali gli assi cartesiani, e come ampiezze lungo tali assi i valori λ i . Ad esempio, l’ellisse 2 x2 + y = 1 4 25 ha la forma della figura 1. 2 y 1 -4 -2 0 2 x 4 -1 -2 2 x Ellisse di equazione 25 + y4 = 1. Ricordiamo però di aver eseguito un cambio di base: pertanto, nelle coordiante originarie x = x 1 , ..., x n gli insiemi di livello di f sono ellissoidi con assi dati dagli autovettori di Q, ed ampiezza lungo gli assi data dalle radici quadrate dei corrispondenti autovalori. Osserviamo infine che se estraiamo un campione sperimentale da X, i punti sperimentali formeranno più o meno una nuvoletta ellissoidale simile agli ellissoidi di Q. Quindi Q è legato alla geometria dei dati sperimentali. Naturalmente questo permette anche di stimare Q a partire da tali dati. 2 Spiegazione del metodo PCA Media e covarianza descrivono quindi, nel caso gaussiano, la “geometria” della densità di probabilità. Se immaginiamo di estrarre a caso un centinaio di valori da una tale gaussiana, i valori sperimentali si troveranno causalmente distribuiti secondo la densità, quindi più concentrati dove f è più grande e viceversa. Quindi i valori sperimentali formeranno una sorta di nuvola vagamente ellissoidale, in cui la forma elissoidale segue gli ellissoidi descritti sopra (e centrati in μ, non nell’origine). Questa è la base logica dietro il metodo delle Componenti Principali (Principal Component Analysis, PCA). Dato un campione sperimentale x 1 , ..., x N di numerosità N, fatto di punti di R n , si immagina che esso sia generato (almeno approssimativamente) da una gaussiana ad n dimensioni; si calcola la covarianza empirica Q a partire dal campione sperimentale e si ipotizza che sia una buona approssimazione della covarianza teorica Q della gaussiana; si calcolano autovettori ed autovalori di Q (che diremo “empirici”), e 1 , ..., e n , λ 1 , ..., λ n , che si immaginano essere una buona approssimazione di quelli teorici di Q. Questo, innanzi tutto, chiarisce cosa fa il SW per realizzare il grafico descritto nella prima lezione: calcola Q e ne esegue l’analisi spettrale. Se ora ci mettiano nella base e 1 , ..., e n , gli ellissoidi sono riferiti agli assi cartesiani. Il SW visualizza il piano e 1 , e 2 e la proiezione su esso dei dati e degli assi coordinati originari. Si noti che gli autovalori di e 1 , e 2 sono i più grandi, cioè e 1 , e 2 sono gli assi “più lunghi” degli ellissoidi. Come abbiamo detto nella prima lezione, questa è in un certo senso la miglior visualizzazione dei dati. E’ il punto di vista secondo cui essi appaiono più distinguibili. Riapriamo R e rieseguiamo le operazioni delle prima lezione. Aggiungiamo però un po’ di analisi. Eseguiamo sum marypca. Questo fornisce l’importanza delle componenti e 1 , ..., e n . Nella prima riga viene data la deviazione standard dei dati rispetto a ciascuna componente. Si può dimostrare che il loro quadrati, cioè la varianza dei dati rispetto alle componenti, sono uguali agli autovalori: λ i è la varianza dei dati letti secondo (cioè proiettati lungo) l’asse e i . Naturale quindi che le deviazioni standard riportare dal SW siano in ordine decrescente. La seconda riga riporta la proporzione di varianza “spiegata” da ciascuna componente e 1 , ..., e n . Ad esempio, 0.6662453, la proporzione della prima componente, è il rapporto tra la varianza della prima componente e la somma delle varianze di tutte le componenti. La terza riga cumula questi valori. Questo serve a verificare ad occhio la proporzione di varianza spiegata dalle prime k componenti (es. dalle prime due). In questo esempio, le prime due, e 1 , e 2 , contengono l’84% della variabilità complessiva. Un buon indice della loro rilevanza e del fatto che non si commette troppo errore a trascurare la raffigurazione rispetto alle altre componenti. Osserviamo ora che il metodo PCA è efficace se accade quanto vediamo in questo esempio, cioè che le prime, poche, componenti contengono quasi tutta la varianza. Altrimenti significherebbe che gli ellissoidi sono quasi delle sfere, nel qual caso non servono rotazioni e diversi punti di vista: comunque vediamo i dati, essi sono disposti abbastanza sfericamente (quindi il metodo è inutile). Esame della correlazione tra gli indicatori E’ interessante eseminare la matrice Q direttamente, col SW. Eseguendo Q < −covIB si carica nella tabella Q la matrice di covarianza empirica dei dati, che poi si può leggere scrivendo semplicemente Q. Gli elementi sulla diagonale sono le varianze degli indicatori, pari ad 1 in questo esempio perche’ abbiamo standardizzato i dati all’inizio. Gli altri numeri indicano la maggior o minor relazione tra le variabili, ed il segno della relazione. Si può anche visualizzare il risultato col comando (un po’ noioso): filled.contour(Q, color = terrain.colors, plot.title = title(main = ”Correlation Matrix”, xlab = ”indicatore”, ylab = ”indicatore”), plot.axes = { axis(1, seq(1, 15, by = 5)) axis(2, seq(1, 15, by = 5)) }, key.title = title(main=”covar”), key.axes = axis(4, seq(-1, 1, by = 0.2))). Conviene, come sempre, avere questi comandi salvati su un file di riferimento. Previsione con le componenti principali? Nel caso 2D, trovare le componenti principali somiglia ad effettuare la regressione lineare. Si pensi ad una nuvola di punti nel piano. Se la nuvola è abbastanza ellissoidale, l’asse principale dell’ellissoide - che si trova col metodo PCA - è anche la retta di regressione, cioè la retta che passa più vicina ai dati. Quando si possiede la retta di regressione tra dati X ed Y, la si può usare per prevedere i valori di Y in corrispondenza a valori di X ancora non sperimentati. In realtà questa corrispondenza tra PCA e regressione non è completamenta vera. Infatti l’usuale regressione lineare utilizza come criterio di vicinanza tra dati e retta la distanza in verticale tra questi. Invece PCA è più geometrico, legato quindi alla distanza euclidea (perpendicolare alla retta, per così dire). In più di due dimensioni, l’intuizione geometrica è meno ovvia e non l’approfondiamo. Però il metodo Factor analysis descritto nel seguito è in un certo senso una risposta (se pur teorica) a questa domanda.