Comprensione geometrica della PCA nello spazio soggetto (doppio)


19

Sto cercando di ottenere una comprensione intuitiva di come funziona l'analisi dei componenti principali (PCA) nello spazio soggetto (doppio) .

Considerare un set di dati 2D con due variabili, x1 e e punti dati (la matrice di dati è e si presume che sia centrata). La normale presentazione di PCA è che consideriamo punti in , annotiamo la matrice di covarianza e troviamo i suoi autovettori e autovalori; il primo PC corrisponde alla direzione della massima varianza, ecc. Ecco un esempio con matrice di covarianza . Le linee rosse mostrano gli autovettori ridimensionati dalle radici quadrate dei rispettivi autovalori.x2nXn×2nR22×2C=(4222)

PCA nello spazio di esempio

Ora considera cosa succede nello spazio soggetto (ho imparato questo termine da @ttnphns), noto anche come doppio spazio (il termine usato nell'apprendimento automatico). Questo è uno spazio dimensionale in cui i campioni delle nostre due variabili (due colonne di ) formano due vettori e . La lunghezza quadrata di ciascun vettore variabile è uguale alla sua varianza, il coseno dell'angolo tra i due vettori è uguale alla correlazione tra di essi. Questa rappresentazione, tra l'altro, è molto standard nei trattamenti di regressione multipla. Nel mio esempio, lo spazio soggetto appare così (mostro solo il piano 2D attraversato dai due vettori variabili):nXx1x2

PCA nello spazio argomenti 1

I componenti principali, essendo combinazioni lineari delle due variabili, formeranno due vettori e sullo stesso piano. La mia domanda è: qual è la comprensione / intuizione geometrica di come formare i vettori delle variabili dei componenti principali usando i vettori delle variabili originali su tale trama? Dati e , quale procedura geometrica produrrebbe ?p1p2x1x2p1


Di seguito è la mia attuale parziale comprensione di esso.

Prima di tutto, posso calcolare i componenti / assi principali attraverso il metodo standard e tracciarli sulla stessa figura:

PCA nello spazio argomenti 2

Inoltre, possiamo notare che è scelto in modo tale che la somma delle distanze al quadrato tra (vettori blu) e le loro proiezioni su sia minima; quelle distanze sono errori di ricostruzione e sono mostrate con linee tratteggiate nere. Equivalentemente, massimizza la somma delle lunghezze quadrate di entrambe le proiezioni. Questo specifica completamente e ovviamente è del tutto analogo alla descrizione simile nello spazio primario (vedi l'animazione nella mia risposta a Rilevare l'analisi dei componenti principali, autovettori ed autovalori ). Vedi anche la prima parte della risposta di @ ttnphns qui .p1xip1p1p1

Tuttavia, questo non è abbastanza geometrico! Non mi dice come trovare tale e non ne specifica la lunghezza.p1

La mia ipotesi è che , , e giacciono tutti su un'ellisse centrata su con e come assi principali. Ecco come appare nel mio esempio:x1x2p1p20p1p2

inserisci qui la descrizione dell'immagine

Q1: come dimostrarlo? La dimostrazione algebrica diretta sembra essere molto noiosa; come vedere che questo deve essere il caso?

Ma ci sono molte diverse ellissi centrate su e che passano attraverso e :0x1x2

inserisci qui la descrizione dell'immagine

Q2: Cosa specifica l'ellisse "corretta"? La mia prima ipotesi fu che è l'ellisse con l'asse principale più lungo possibile; ma sembra essere sbagliato (ci sono ellissi con asse principale di qualsiasi lunghezza).

Se ci sono risposte a Q1 e Q2, allora vorrei anche sapere se si generalizzano al caso di più di due variabili.


È vero che ci sono molte possibili ellissi che sono centrate sull'origine (dove x1 e x2 si intersecano) e entrano in contatto con le estremità lontane di x1 & x2? Avrei pensato che ce ne sarebbe stato solo uno. Certamente possono essercene molti se rilassi 1 di quei 3 criteri (centro e 2 punte).
gung - Ripristina Monica

Ci sono molte ellissi centrate sull'origine che passa attraverso due vettori. Ma per i vettori non collineari e ce n'è solo uno che è il cerchio unitario nella doppia base. È il locus di doveMolto può essere appreso dai suoi assi principali. ( c , d ) x ( a , b ) + y ( c , d ) | ( a c b d ) - 1 ( x y ) | 2 = 1.(a,b)(c,d)x(a,b)+y(c,d)
|(acbd)1(xy)|2=1.
whuber

3
variable space (I borrowed this term from ttnphns)- @amoeba, devi sbagliarti. Le variabili come vettori nello spazio (originariamente) n-dimensionale sono chiamate spazio soggetto (n soggetti come assi "hanno definito" lo spazio mentre le variabili p lo "abbracciano"). Lo spazio variabile è, al contrario, il contrario - cioè il solito diagramma a dispersione. Ecco come viene stabilita la terminologia nelle statistiche multivariate. (Se nell'apprendimento automatico è diverso - non lo so - allora è molto peggio per gli studenti.)
ttnphns

Si noti che entrambi sono spazi vettoriali: vettori (= punti) è ciò che si estende, gli assi è ciò che definisce le direzioni e sopporta le tacche di misurazione. Nota anche la dialettica: entrambi gli "spazi" sono in realtà lo stesso spazio (formulato solo in modo diverso per uno scopo attuale). Si vede, per esempio, nell'ultima foto di questa risposta . Quando sovrapponi le due formulazioni ottieni il biplot, o doppio spazio.
ttnphns,

My guess is that x1, x2, p1, p2 all lie on one ellipseQuale potrebbe essere l'aiuto euristico dall'ellisse qui? Ne dubito.
ttnphns,

Risposte:


5

Tutti i riassunti di visualizzati nella domanda dipendono solo dai suoi secondi momenti; o, equivalentemente, della matrice X ' X . Perché stiamo pensando di X come nuvola di punti punto --Ogni è una fila di X --abbiamo può chiedere ciò che semplici operazioni su questi punti conservano le proprietà di X ' X .XXXXXXX

Uno è quello di sinistra-moltiplicare da un n × n matrice U , che produrrebbe un altro n × 2 matrice U X . Perché questo funzioni, è essenzialeXn×nUn×2UX

XX=(UX)UX=X(UU)X.

L'uguaglianza è garantita quando è la matrice di identità n × n : cioè quando U è ortogonale .UUn×nU

È noto (e facile da dimostrare) che le matrici ortogonali sono prodotti di riflessioni e rotazioni euclidee (formano un gruppo di riflessione in ). Scegliendo le rotazioni con saggezza, siamo in grado di semplificare notevolmente X . Un'idea è quella di concentrarsi sulle rotazioni che interessano solo due punti nel cloud alla volta. Questi sono particolarmente semplici, perché possiamo visualizzarli.RnX

Specificamente, lasciate e ( x j , y j ) essere due punti distinti nulli nella nube, costituendo righe i e j di X . Una rotazione dello spazio di colonna R n che interessa solo questi due punti li converte in(xi,yi)(xj,yj)ijXRn

{(xi,yi)=(cos(θ)xi+sin(θ)xj,cos(θ)yi+sin(θ)yj)(xj,yj)=(sin(θ)xi+cos(θ)xj,sin(θ)yi+cos(θ)yj).

Ciò equivale a disegnare i vettori e ( y i , y j ) nel piano e ruotarli di un angolo θ . (Notate come le coordinate si confondono qui! Le x vanno l'una con l'altra e le y vanno insieme. Pertanto, l'effetto di questa rotazione in R n di solito non sembrerà una rotazione dei vettori ( x i , y i ) e ( x j , y j )(xi,xj)(yi,yj)θxyRn(xi,yi)(xj,yj) come disegnato in R2 )

Scegliendo l'angolo giusto, possiamo azzerare uno di questi nuovi componenti. Per essere concreti, scegliamo modo cheθ

{cos(θ)=±xixi2+xj2sin(θ)=±xjxi2+xj2.

Questo rende . Scegli il segno per rendere y j0 . Chiamiamo questa operazione, che cambia i punti i e j nella nuvola rappresentata da X , γ ( i , j ) .xj=0yj0ijXγ(i,j)

Applicando ricorsivamente a X , la prima colonna di X sarà diversa da zero solo nella prima riga. Geometricamente, avremo spostato tutto tranne un punto nella nuvola sull'asse y . Ora possiamo applicare una singola rotazione, potenzialmente coinvolgendo le coordinate 2 , 3 , ... , n in R n , per comprimere quelle nγ(1,2),γ(1,3),,γ(1,n)XXy2,3,,nRn punto verso il basso per un singolo punto. Equivalentemente, X è stato ridotto a una forma di bloccon1X

X=(x1y10z),

con e z entrambi i vettori di colonna con n - 1 coordinate, in modo tale che0zn1

XX=((x1)2x1y1x1y1(y1)2+||z||2).

Questa rotazione finale riduce ulteriormente alla sua forma triangolare superioreX

X=(x1y10||z||0000).

X2×2(x1y10||z||)

Per illustrare, ho disegnato quattro punti iid da una distribuzione normale bivariata e arrotondato i loro valori a

X=(0.090.120.310.630.740.231.80.39)

Questa nuvola di punti iniziale viene mostrata a sinistra della figura successiva usando punti neri solidi, con frecce colorate che puntano dall'origine a ciascun punto (per aiutarci a visualizzarli come vettori ).

Figure

γ(1,2),γ(1,3),γ(1,4)yX||z||(x1,y1)

X

(1)θ  (cos(θ)x1,cos(θ)y1+sin(θ)||z||)

mentre il secondo vettore traccia lo stesso percorso secondo

(2)θ  (sin(θ)x1,sin(θ)y1+cos(θ)||z||).

{(cos(θ),sin(θ)):0θ<2π}

(1,0)  (x1,0);(0,1)  (y1,||z||),

θ(1) (2)θ

Figure 2

Poiché questi sono ortogonali e sono diretti lungo gli assi dell'ellisse, rappresentano correttamente gli assi principali : la soluzione PCA. Che risponde alla domanda 1.


R2p=2R2

γ(i,j)QXRDVX=UDVU

p2


Sebbene la tua risposta possa essere esemplare da sola, non è chiaro - per me - come si collega alla domanda. Stai parlando del cloud di dati X (e i vettori che ruoti sono punti di dati, righe di X). Ma la domanda riguardava lo spazio soggetto ridotto . In altre parole, non abbiamo dati X, abbiamo solo covarianza 2x2 o matrice scatter X'X.
ttnphns,

(cont.) Rappresentiamo le 2 variabili riassunte da essa come 2 vettori con lunghezze = sqrt (elementi diagonali) e angolo = loro correlazione. Quindi l'OP chiede come possiamo risolvere in modo puramente geometrico per i componenti principali. In altre parole, OP vuole spiegare la geometria geometrica (autovalori e autovettori o, meglio, caricamenti) della matrice di covarianza simmetrica 2x2.
ttnphns,

(cont.) Guarda la seconda foto . Ciò che l'OP della domanda attuale cerca è trovare strumenti o trucchi geometrici (trigonometrici ecc.) Per disegnare i vettori P1 e P2 su quella foto, avendo solo i vettori X e Y forniti.
ttnphns,

1
@ttnphns. Non importa quale sia il punto di partenza: la prima metà di questa risposta mostra che puoi ridurre qualsiasi nuvola di puntiXa una coppia di punti che contengono tutte le informazioni suX'X. La seconda metà dimostra che la coppia di punti non è unica, ma ciononostante ognuno giace sulla stessa ellisse. Dà una costruzione esplicita di quell'ellisse che inizia con qualsiasi rappresentazione a due punti diX'X(come la coppia di vettori blu mostrati nella domanda). I suoi assi maggiore e minore producono la soluzione PCA (i vettori rossi).
whuber

1
Grazie, sto cominciando a capire il tuo pensiero. (Vorrei che tu abbia aggiunto i sottotitoli / sinossi proprio nella tua risposta sulle due "metà" di esso, solo per strutturarlo per un lettore.)
ttnphns
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.