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 N0, 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 ∼ N0, 1 ⇒ X := σZ + μ ∼ Nμ, σ 2 
X−μ
e viceversa, data X ∼ Nμ, σ 2 , esiste Z ∼ N0, 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 = CovX i , X j  = EX i − μ i X j − μ j 
dove μ = μ 1 , ..., μ k  è il vettore dei valori medi:
μ i = EX 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 EZ j  = 0, VarZ j  = 1, CovZ j , Z j ′  = 1
per i = i ′ , CovZ j , Z j ′  = 0 per i ≠ i ′ . Vale allora:
n
EX i  = E
∑ A ij Z j + μ i
j=1
n
=
∑ A ij EZ j  + μ i = μ i
j=1
n
VarX 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
∑ VarA ij Z j  = ∑ A 2ij VarZ j  = ∑ A 2ij = AA T  i,i
n
j=1
j ′ =1
∑ A ij Z j , ∑ A i j Z j
CovX i , X i ′  = Cov
=
n
′ ′
n
n
j=1
j ′ =1
′
∑ ∑ A ij A i j CovZ 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
AUAU 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 =
CovX i , X j 
.
VarX i VarX 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
CovX, Y
CovX, 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
fx, y =
1
2πσ X σ Y 1 − ρ 2
exp −
1
21 − ρ 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 marypca.


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 < −covIB
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.