Dare un senso all'analisi dei componenti principali, autovettori e autovalori


976

Nell'odierna classe di riconoscimento dei modelli il mio professore ha parlato di PCA, autovettori ed autovalori.

Ne ho capito la matematica. Se mi viene chiesto di trovare autovalori ecc. Lo farò correttamente come una macchina. Ma non l'ho capito . Non ne ho avuto lo scopo. Non ne ho avuto la sensazione.

Credo fermamente nella seguente citazione:

Non capisci davvero qualcosa a meno che tu non possa spiegarlo a tua nonna. - Albert Einstein

Bene, non posso spiegare questi concetti a un laico o nonna.

  1. Perché PCA, autovettori e autovalori? Qual era la necessità di questi concetti?
  2. Come spiegheresti questi a un laico?

95
Buona domanda. Sono d'accordo anche con la citazione. Credo che ci siano molte persone in statistica e matematica che sono altamente intelligenti e possono approfondire molto il loro lavoro, ma non capiscono a fondo a cosa stanno lavorando. Oppure lo fanno, ma non sono in grado di spiegarlo agli altri. Faccio del mio meglio per fornire risposte qui in inglese semplice e porre domande che richiedono un piano in inglese.
Neil McGuigan,

7
Questo è stato chiesto sul sito di Matematica a luglio, ma non altrettanto e non ha ottenuto molte risposte (non sorprendente, vista la diversa attenzione lì). math.stackexchange.com/questions/1146/…
whuber

6
Simile alla spiegazione di Zuur et al in Analisi dei dati ecologici in cui parlano della proiezione della mano su un proiettore. Continui a ruotare la mano in modo che la proiezione sul muro sia abbastanza simile a come pensi che dovrebbe apparire una mano.
Roman Luštrik,

12
Questa domanda mi porta a un buon articolo, e anche se penso che sia un'ottima citazione, non proviene da Einstein. Questa è un'attribuzione errata comune, e la citazione originale più probabile è probabilmente questa di Ernest Rutherford che ha detto: "Se non puoi spiegare la tua fisica a un barista, probabilmente non è molto buona fisica". Comunque grazie per aver iniziato questa discussione.
Gavaletz,

23
Alice Calaprice, L'ultima citazione di Einstein , Princeton UP 2011 contrassegna la citazione qui come una delle tante "Probabilmente non di Einstein". Vedi p.482.
Nick Cox,

Risposte:


1293

Immagina una grande cena in famiglia, dove tutti iniziano a chiederti del PCA. Prima lo spieghi alla tua bisnonna; poi a te nonna; poi a tua madre; quindi al coniuge; infine, a tua figlia (che è un matematico). Ogni volta che la persona successiva è meno un laico. Ecco come potrebbe andare la conversazione.

Bisnonna: Ho sentito che stai studiando "Pee-See-Ay". Mi chiedo che cosa sia ...

Tu: Ah, è solo un metodo per riassumere alcuni dati. Senti, abbiamo alcune bottiglie di vino in piedi qui sul tavolo. Possiamo descrivere ogni vino in base al suo colore, a quanto è forte, a quanti anni ha e così via (vedi questa bella visualizzazione delle proprietà del vino prese da qui ). Possiamo comporre un intero elenco di caratteristiche diverse di ciascun vino nella nostra cantina. Ma molti misureranno le proprietà correlate e quindi saranno ridondanti. In tal caso, dovremmo essere in grado di riassumere ogni vino con meno caratteristiche! Questo è ciò che fa PCA.

Nonna: questo è interessante! Quindi questa cosa PCA controlla quali caratteristiche sono ridondanti e le elimina?

Tu: Ottima domanda, nonna! No, PCA non sta selezionando alcune caratteristiche e scartando le altre. Invece, costruisce alcune nuove caratteristiche che si rivelano per riassumere bene la nostra lista di vini. Naturalmente queste nuove caratteristiche sono costruite usando quelle vecchie; per esempio, una nuova caratteristica potrebbe essere calcolata come età del vino meno il livello di acidità del vino o qualche altra combinazione del genere (le chiamiamo combinazioni lineari ).

In effetti, PCA trova le migliori caratteristiche possibili, quelle che riassumono la lista dei vini e solo possibili (tra tutte le combinazioni lineari immaginabili). Ecco perché è così utile.

Madre: Hmmm, questo suona certamente bene, ma non sono sicuro di capire. Cosa intendi realmente quando dici che queste nuove caratteristiche dell'APC "riassumono" la lista dei vini?

Tu: immagino di poter dare due risposte diverse a questa domanda. La prima risposta è che stai cercando alcune proprietà (caratteristiche) del vino che differiscono fortemente tra i vini. In effetti, immagina di trovare una proprietà uguale per la maggior parte dei vini. Questo non sarebbe molto utile, no? I vini sono molto diversi, ma la tua nuova proprietà li rende tutti uguali! Questo sarebbe certamente un cattivo riassunto. Invece, PCA cerca proprietà che mostrano quante più variazioni possibili tra i vini.

La seconda risposta è che cerchi le proprietà che ti permetterebbero di prevedere o "ricostruire" le caratteristiche originali del vino. Di nuovo, immagina di trovare una proprietà che non ha alcuna relazione con le caratteristiche originali; se usi solo questa nuova proprietà, non è possibile ricostruire quelle originali! Questo, ancora una volta, sarebbe un cattivo riassunto. Quindi PCA cerca proprietà che consentano di ricostruire le caratteristiche originali nel miglior modo possibile.

Sorprendentemente, si scopre che questi due obiettivi sono equivalenti e quindi il PCA può uccidere due uccelli con una fava.

Coniuge: Ma tesoro, questi due "obiettivi" del PCA sembrano così diversi! Perché dovrebbero essere equivalenti?

Tu: Hmmm. Forse dovrei fare un piccolo disegno (prende un tovagliolo e inizia a scarabocchiare) . Scegliamo due caratteristiche del vino, forse l'oscurità del vino e il contenuto alcolico: non so se siano correlati, ma immaginiamo che lo siano. Ecco come potrebbe apparire una trama sparsa di vini diversi:

Dati esemplificativi PCA

Ogni punto in questa "nuvola di vino" mostra un vino particolare. Si vede che le due proprietà ( x ed y in questa figura) sono correlati. Una nuova proprietà può essere costruita tracciando una linea attraverso il centro di questa nuvola di vino e proiettando tutti i punti su questa linea. Questa nuova proprietà sarà data da una combinazione lineare w1x+w2y , dove ogni riga corrisponde ad alcuni valori particolari di e .w1w2

Ora guarda qui con molta attenzione: ecco come appaiono queste proiezioni per linee diverse (i punti rossi sono proiezioni dei punti blu):

Animazione PCA: varianza ed errore di ricostruzione

Come ho detto prima, PCA troverà la linea "migliore" secondo due diversi criteri di ciò che è il "migliore". Innanzitutto, la variazione dei valori lungo questa linea dovrebbe essere massima. Presta attenzione a come la "diffusione" (la chiamiamo "varianza") dei punti rossi cambia mentre la linea ruota; riesci a vedere quando raggiunge il massimo? In secondo luogo, se ricostruiamo le due caratteristiche originali (posizione di un punto blu) da quella nuova (posizione di un punto rosso), l'errore di ricostruzione sarà dato dalla lunghezza della linea rossa di collegamento. Osserva come cambia la lunghezza di queste linee rosse mentre la linea ruota; vedi quando la lunghezza totale raggiunge il minimo?

Se fissi questa animazione per qualche tempo, noterai che "la varianza massima" e "l'errore minimo" sono raggiunti contemporaneamente, vale a dire quando la linea punta alle zecche magenta che ho segnato su entrambi i lati della nuvola di vino . Questa linea corrisponde alla nuova proprietà vinicola che sarà costruita da PCA.

A proposito, PCA sta per "analisi dei componenti principali" e questa nuova proprietà è chiamata "primo componente principale". E invece di dire "proprietà" o "caratteristica" di solito diciamo "caratteristica" o "variabile".

Figlia: molto carina, papà! Penso di poter capire perché i due obiettivi ottengano lo stesso risultato: è essenzialmente a causa del teorema di Pitagora, no? Comunque, ho sentito che la PCA è in qualche modo correlata agli autovettori e agli autovalori; dove sono in questa foto?

Tu: osservazione brillante. Matematicamente, la diffusione dei punti rossi viene misurata come la distanza media quadrata dal centro della nuvola di vino a ciascun punto rosso; come sai, si chiama varianza . D'altra parte, l'errore di ricostruzione totale viene misurato come la lunghezza media quadrata delle corrispondenti linee rosse. Ma poiché l'angolo tra le linee rosse e la linea nera è sempre , la somma di queste due quantità è uguale alla distanza media quadrata tra il centro della nuvola di vino e ogni punto blu; questo è precisamente il teorema di Pitagora. Naturalmente questa distanza media non dipende dall'orientamento della linea nera, quindi maggiore è la varianza, minore è l'errore (poiché la loro somma è costante). Questo argomento ondulato a mano può essere reso preciso (90vedi qui ).

A proposito, puoi immaginare che la linea nera sia una barra solida e ogni linea rossa sia una molla. L'energia della molla è proporzionale alla sua lunghezza al quadrato (questa è conosciuta in fisica come la legge di Hooke), quindi l'asta si orienterà in modo tale da ridurre al minimo la somma di queste distanze al quadrato. Ho fatto una simulazione di come apparirà, in presenza di un certo attrito viscoso:

Animazione PCA: pendolo

Per quanto riguarda gli autovettori e gli autovalori. Sai cos'è una matrice di covarianza ; nel mio esempio è una matrice data daCiò significa che la varianza della variabile è , la varianza della variabile è e la covarianza tra loro è . Essendo una matrice quadrata simmetrica, può essere diagonale scegliendo un nuovo sistema di coordinate ortogonali, dato dai suoi autovettori (per inciso, questo si chiama teorema spettrale2×2

(1.070.630.630.64).
x1.07y0.640.63( 1,52 0 0 0,19 ) , 1,52); gli autovalori corrispondenti saranno quindi posizionati sulla diagonale. In questo nuovo sistema di coordinate, la matrice di covarianza è diagonale e assomiglia a quella: il che significa che la correlazione tra i punti ora è zero. Diventa chiaro che la varianza di qualsiasi proiezione sarà data da una media ponderata degli autovalori (sto solo disegnando l'intuizione qui). Di conseguenza, la massima varianza possibile ( ) sarà raggiunta se prendiamo semplicemente la proiezione sul primo asse delle coordinate. Ne segue che la direzione del primo componente principale è data dal primo autovettore della matrice di covarianza. ( Maggiori dettagli qui. )
(1.52000.19),
1.52

Potete vederlo anche sulla figura rotante: lì c'è una linea grigia ortogonale a quella nera; insieme formano una cornice di coordinate rotante. Cerca di notare quando i punti blu diventano non correlati in questa cornice rotante. La risposta, ancora una volta, è che accade esattamente quando la linea nera indica le zecche magenta. Ora posso dirti come li ho trovati: segnano la direzione del primo autovettore della matrice di covarianza, che in questo caso è uguale a .(0.81,0.58)


Per richiesta popolare, ho condiviso il codice Matlab per produrre le animazioni di cui sopra .


79
+1 Bel racconto e illustrazioni. ...then to your mother; then to your wife; finally, to your daughter (who is a mathematician)...Continuerei: e dopo la cena - per te. E qui ti sei improvvisamente bloccato ...
ttnphns

68
Adoro le illustrazioni che fai per queste risposte.
Shadowtalker

57
Di solito cerco solo Cross Validated per leggere le cose, ma non ho mai avuto motivo di creare un account ... principalmente perché il tipo di domande qui è al di fuori della mia esperienza e non posso davvero rispondere a nessuna. Di solito sono su StackOverflow e sono nella rete StackExchange da circa un anno. Tuttavia, oggi ho deciso di creare un account principalmente per migliorare il tuo post. Questa è probabilmente la migliore esposizione di PCA che io abbia mai letto e ne ho letti molti. Grazie per questo meraviglioso post: l'eccellente narrazione, la grafica ed è così facile da leggere! +1
rayryeng,

14
Nota per me: la mia risposta attualmente ha 100 voti, quella di JDLong ha 220 voti; se assumiamo una crescita costante, la mia ha 100 voti / anno e la sua ha 40 voti / anno. O meglio 55 / anno se calcolati da quando ha superato 100 voti [ottenuto un distintivo d'oro] nel gennaio 2014. Ciò significa che raggiungerò 2,5--3 anni, verso la fine del 2018. Vediamo :-)
amoeba

3
Nota per me cont .: Devo aggiornare il mio preventivo. Un mese dopo questa risposta ha ottenuto 18 voti contro 5 per JDLong. Ciò indica che potrei recuperare in meno di un anno da adesso. È interessante notare che 5 / mese è molto vicino alla mia stima di sopra di 55 / anno, ma 18 / mese è più del doppio sopra 100 / anno. Poiché la mia risposta non è cambiata, sembra che arrivare al secondo posto abbia accelerato la votazione (probabilmente a causa della maggiore visibilità).
amoeba,

376

Il manoscritto "Un tutorial sull'analisi dei componenti principali" di Lindsay I Smith mi ha davvero aiutato a capire PCA. Penso che sia ancora troppo complesso per spiegare a tua nonna, ma non è male. Dovresti saltare i primi bit sul calcolo degli eigeni, ecc. Vai all'esempio nel capitolo 3 e guarda i grafici.

Ho alcuni esempi in cui ho lavorato su alcuni esempi di giocattoli per capire la regressione lineare tra PCA e OLS. Proverò a scavare quelli e pubblicarli pure.

modifica: Non hai davvero chiesto la differenza tra Ordinary Least Squares (OLS) e PCA ma da quando ho scavato le mie note ho fatto un post sul blog a riguardo . La versione molto corta è OLS di y ~ x minimizza l'errore perpendicolare all'asse indipendente in questo modo (le linee gialle sono esempi di due errori):

testo alternativo

Se dovessi regredire x ~ y (al contrario di y ~ x nel primo esempio) minimizzerebbe l'errore in questo modo:

testo alternativo

e PCA minimizza efficacemente l'errore ortogonale al modello stesso, in questo modo:

testo alternativo

Ancora più importante, come altri hanno già detto, in una situazione in cui hai un INTERO MAZZO di variabili indipendenti, PCA ti aiuta a capire quali combinazioni lineari di queste variabili contano di più. Gli esempi sopra aiutano a visualizzare l'aspetto del primo componente principale in un caso davvero semplice.

Nel mio post sul blog ho il codice R per la creazione dei grafici sopra e per il calcolo del primo componente principale. Potrebbe valere la pena giocarci per costruire il tuo intuito attorno alla PCA. Tendo a non possedere veramente qualcosa finché non scrivo codice che lo riproduce. 


9
Buona chiamata al manoscritto di Lindsay I Smith: leggilo solo oggi; molto utile.
Stedy

7
Quindi la PCA equivale al totale dei minimi quadrati se ottimizza le distanze ortogonali dai punti alla linea di adattamento?
Marcin,

3
@Marcin - questo è corretto. È possibile ri-frase PCA come trovare il miglior rango stima ( 1 m p ) dell'originale p variabili ( x i jm1mpp ), con una funzione obiettivo di Σ n i = 1 Σ p j = 1 ( x i j - x i j ) 2 . La scelta del numero di PC equivale alla scelta del grado delle previsioni. x^iji=1,,nj=1,,pi=1nj=1p(xijx^ij)2
Probislogic,

3
Piccolo errore matematico in Smith: "tutti gli autovettori di una matrice sono perpendicolari ... non importa quante dimensioni hai" si applica solo alle matrici simmetriche, eccone una a 45 gradi di distanza . Smith nota la simmetria delle matrici di covarianza in precedenza, ma non le implicazioni: la simmetria garantisce nautovettori perpendicolari. In effetti, non tutte le n x nmatrici reali hanno anche autovalori reali (ad esempio {{0,1}, {- 1,0}}) e di quelli che hanno, non tutti hanno nautovettori indipendenti (ad esempio {{1,1}, {0 , 1}})! La simmetria conta!
Silverfish

8
Come matematico che insegna autovettori, devo leggere il manoscritto di Lindsay Smith. "... il vettore risultante è un multiplo intero dell'originale ..." - qual è il punto di menzionare il numero intero ? Un autovettore della matrice A è qualsiasi vettore X tale che AX è un multiplo di X. Non un multiplo intero, ma solo un multiplo! Anche un multiplo non intero va bene! Caspita perché non si crea confusione inutile dove non c'è nessuno?
Dmitri Zaitsev,

144

Facciamo prima (2). PCA adatta un ellissoide ai dati. Un ellissoide è una generalizzazione multidimensionale di forme sferiche distorte come sigari, pancake e uova. Questi sono tutti accuratamente descritti dalle direzioni e lunghezze dei loro principali (semi) assi, come l'asse del sigaro o dell'uovo o il piano del pancake. Non importa come l'ellissoide viene girato, gli autovettori puntano in quelle direzioni principali e gli autovalori ti danno le lunghezze. Gli autovalori più piccoli corrispondono alle direzioni più sottili che hanno la minima variazione, quindi ignorandole (che le fa collassare piatte) perde relativamente poche informazioni: si tratta di PCA.

(1) Oltre alla semplificazione (sopra), abbiamo bisogno di descrizioni, visualizzazioni e approfondimenti pithy. Essere in grado di ridurre le dimensioni è una buona cosa: semplifica la descrizione dei dati e, se siamo fortunati a ridurli a tre o meno, ci consente di disegnare un'immagine. A volte possiamo persino trovare modi utili per interpretare le combinazioni di dati rappresentati dalle coordinate nella figura, che possono fornire informazioni sul comportamento congiunto delle variabili.


La figura mostra alcune nuvole di punti ciascuna, insieme a ellissoidi contenenti il ​​50% di ciascuna nuvola e assi allineati con le direzioni principali. Nella prima fila le nuvole hanno essenzialmente un componente principale, che comprende il 95% di tutta la varianza: queste sono le forme di sigaro. Nella seconda fila le nuvole hanno essenzialmente due componenti principali, una circa il doppio dell'altra, che insieme rappresentano il 95% di tutta la varianza: queste sono le forme del pancake. Nella terza riga sono considerevoli tutti e tre i componenti principali: queste sono le forme delle uova.200

figure

Qualsiasi nuvola di punti 3D "coerente" nel senso di non mostrare grappoli, viticci o valori anomali apparirà come una di queste. Qualsiasi punto di intorbidamento 3D affatto non tutti i punti sono coincidenti --provided - può essere descritto da una di queste figure come punto iniziale di partenza per identificare ulteriormente il clustering o patterning.

L'intuizione che si sviluppa contemplando tali configurazioni può essere applicata a dimensioni superiori, anche se è difficile o impossibile visualizzare tali dimensioni.


2
Per aggiungere ciò, quando si hanno semiazi (quasi) uguali (ovvero l'ellissoide ha una sezione (quasi) circolare), indica che i due pezzi di dati corrispondenti a quegli assi hanno una dipendenza (quasi); si può parlare degli assi principali di un'ellisse, ma i cerchi hanno solo un raggio. :)
JM non è uno statistico il

6
Sarei più cauto qui, JM First, solo per chiarire, per "quasi dipendenza" si intende "quasi indipendente". Ciò sarebbe vero per una variabile multinormale, ma in molti casi la PCA viene eseguita con dati marcatamente non normali. In effetti, le analisi di clustering che seguono alcuni calcoli di PCA possono essere viste come un modo per valutare una forte forma di non normalità. Matematicamente, i cerchi non hanno assi principali, ma non sono solo determinati unicamente: si può scegliere una qualsiasi coppia ortogonale dei raggi come i loro assi principali.
whuber

1
Sì, scusa, suppongo che "gli assi principali di un cerchio sono indeterminati" sarebbe stato un modo migliore per dirlo.
JM non è uno statistico il

2
Interpretazione molto bella! Cercando di capirlo meglio ... dove in PCA la matematica può vedere che "PCA si adatta a un ellissoide ai dati"?
Kochede,

4
@Kochede Un ellissoide è un contorno di una forma quadratica. La matrice di covarianza è una forma quadratica. PCA identifica i suoi assi e le loro lunghezze.
whuber

106

Ecco, ecco una versione completamente non matematica del PCA ...

Immagina di aver appena aperto un negozio di sidro. Hai 50 varietà di sidro e vuoi capire come assegnarle sugli scaffali, in modo che i sidri dal sapore simile vengano messi sullo stesso scaffale. Ci sono molti gusti e trame diversi nel sidro: dolcezza, asprezza, amarezza, lievito, fruttato, chiarezza, frizzante ecc. Quindi, ciò che devi fare per mettere le bottiglie in categorie è rispondere a due domande:

1) Quali sono le qualità più importanti per identificare gruppi di sidro? ad es. la classificazione basata sulla dolcezza rende più facile raggruppare i sidri in gruppi con un sapore simile rispetto alla classificazione basata sulla fruttosità?

2) Possiamo ridurre il nostro elenco di variabili combinandone alcune? ad esempio, esiste davvero una variabile che è una combinazione di "lievito, chiarezza e effervescenza" e che costituisce una scala davvero buona per classificare le varietà?

Questo è essenzialmente ciò che fa PCA. I componenti principali sono variabili che spiegano utilmente le variazioni in un set di dati - in questo caso, che differenziano utilmente tra i gruppi. Ogni componente principale è una delle variabili esplicative originali o una combinazione di alcune variabili esplicative originali.


4
Che dire degli autovettori e degli autovalori?
Ηλίας,

3
Va bene: l'Eigenvalue associato a ciascun componente principale ti dice quanta variazione nel set di dati spiega (nel mio esempio, come separa chiaramente le tue bottiglie in gruppi). Di solito sono espressi in percentuale della variazione totale nel set di dati. Per quanto riguarda gli autovettori, beh, è ​​qui che, come dicevano gli artigli, seguo l'output di un'analisi come una macchina;) Nella mia testa, sono legati a come ruoti il ​​cellulare di Vince sul suo orientamento "migliore", ma questo potrebbe non essere il modo giusto di pensarli.
Freya Harrison,

17
Gli autovettori sono solo le combinazioni lineari delle variabili originali (nello spazio dei fattori semplice o ruotato); hanno descritto come le variabili "contribuiscono" a ciascun asse del fattore. Fondamentalmente, pensa al PCA come un modo per costruire nuovi assi che puntano alle direzioni della varianza massima (nello spazio variabile originale), come espresso dall'autovalore, e come i contributi delle variabili vengono ponderati o trasformati linearmente in questo nuovo spazio.
chl

come sarebbe la matrice di covarianza di questo problema? cosa ci dice delle variabili (dolcezza, asprezza, amarezza, lievito, fruttato, chiarezza, vertigini, ecc. ecc.)?
JustCurious

1
Non so di cosa si tratti su statistici e bevande alcoliche, ma Whisky Classified fa esattamente questo per i whisky scozzesi ...
Nekomatic

96

Risponderei "in parole povere" dicendo che PCA mira ad adattare le linee rette ai punti dati (tutti sanno cos'è una linea retta). Chiamiamo queste linee rette "componenti principali". Esistono tanti componenti principali quante sono le variabili. Il primo componente principale è la migliore linea retta che puoi adattare ai dati. Il secondo componente principale è la migliore linea retta che puoi adattare agli errori del primo componente principale. Il terzo componente principale è la migliore linea retta che è possibile adattare agli errori del primo e del secondo componente principale, ecc., Ecc.

Se qualcuno ti chiede cosa intendi per "migliore" o "errore", allora questo ti dice che non sono un "laico", quindi puoi entrare in dettagli un po 'più tecnici come errori perpendicolari, non sapere dove si trova l'errore direzione x o y, più di 2 o 3 dimensioni, ecc. Inoltre, se si evita di fare riferimento alla regressione OLS (che il "profano" probabilmente non capirà neanche), la spiegazione è più semplice.

Gli autovettori e gli autovalori non sono concetti di per sé necessari, ma si sono rivelati concetti matematici già esistenti. Quando risolvi il problema matematico della PCA, finisce per trovare gli autovalori e gli autovettori della matrice di covarianza.


8
+1, questo è veramente in "termini da laici", e so che potresti ricavarlo molto rigorosamente se lo volessi!
gung

2
La migliore risposta finora, direi. E uso molto PCA.
a11msp,

2
Wow - questa è davvero una spiegazione grande e semplice! Grazie!
Nick,

52

Posso darti la mia spiegazione / prova del PCA, che penso sia davvero semplice ed elegante, e che non richiede altro che conoscenze di base di algebra lineare. È uscito abbastanza a lungo, perché volevo scrivere in un linguaggio semplice e accessibile.

Mnn

βββi=1Mxiμ20 x i = x i - μ M i = 1x i2μ0xi=xiμi=1Mxi2

Ora la scelta della linea. Possiamo descrivere qualsiasi linea come insieme di punti che soddisfano l'equazione , per alcuni vettori . Si noti che se spostiamo la linea di un vettore ortogonale a , anche tutte le proiezioni sulla linea verranno spostate di , quindi la media delle proiezioni verrà spostata di , quindi la varianza delle proiezioni rimarrà invariato. Ciò significa che possiamo spostare la linea parallelamente a se stessa e non modificare la varianza delle proiezioni su questa linea. Ancora una volta per motivi di praticità, limitiamoci solo alle linee che passano attraverso il punto zero (questo significa linee descritte da ).v , w γ v γ γ x = α vx=αv+wv,wγvγγx=αv

Bene, ora supponiamo di avere un vettore che descrive la direzione di una linea che è un possibile candidato per la linea che cerchiamo. Dobbiamo calcolare la varianza delle proiezioni sulla riga . Ciò di cui avremo bisogno sono i punti di proiezione e la loro media. Dall'algebra lineare sappiamo che in questo semplice caso la proiezione di su è . D'ora in poi limitiamoci ai soli vettori di unità . Ciò significa che possiamo scrivere la lunghezza della proiezione del punto su semplicemente come .vαvxiαvxi,v/v2vxivxi,v

In alcune delle risposte precedenti qualcuno ha affermato che il PCA riduce al minimo la somma dei quadrati delle distanze dalla linea scelta. Ora possiamo vedere che è vero, perché la somma dei quadrati delle proiezioni più la somma dei quadrati delle distanze dalla linea scelta è uguale alla somma dei quadrati delle distanze dal punto . Massimizzando la somma dei quadrati delle proiezioni, minimizziamo la somma dei quadrati delle distanze e viceversa, ma questa era solo una digressione ponderata, tornando alla prova ora.0

Per quanto riguarda la media delle proiezioni, osserviamo che fa parte di alcune basi ortogonali del nostro spazio e che se proiettiamo i nostri punti dati su ogni vettore di quella base, la loro somma verrà annullata (è così perché si proietta sul i vettori dalla base è come scrivere i punti dati nella nuova base ortogonale). Quindi la somma di tutte le proiezioni sul vettore (chiamiamo la somma ) e la somma delle proiezioni su altri vettori dalla base (chiamiamola ) è 0, perché è la media dei punti dati. Ma è ortogonale a ! Ciò significa che .vvSvSoSvSoSo=Sv=0

Quindi la media delle nostre proiezioni è . 0Bene, è conveniente, perché ciò significa che la varianza è solo la somma di quadrati di lunghezze di proiezioni, o in simboli

i=1M(xiv)2=i=1MvTxiTxiv=vT(i=1MxiTxi)v.

Bene, all'improvviso la matrice di covarianza è emersa. Denotiamo semplicemente da . Significa stiamo cercando un versore che massimizza , per qualche semi-definita positiva matrice .XvvTXvX

Ora prendiamo gli autovettori e gli autovalori della matrice e li denotiamo rispettivamente con e , tali che . Se i valori non si duplicano, gli autovettori formano una base ortonormale. Se lo fanno, scegliamo gli autovettori in modo che formino una base ortonormale.Xe1,e2,,enλ1,,λnλ1λ2,λ3λ

Ora calcoliamo per un autovettore . AbbiamovTXvei

eiTXei=eiT(λiei)=λi(ei2)2=λi.

Abbastanza bene, questo ci dà per . Ora prendiamo un vettore arbitrario . Poiché gli autovettori formano una base ortonormale, possiamo scrivere , e abbiamo . Indichiamo .λ1e1vv=i=1neiv,eii=1nv,ei2=1βi=v,ei

Ora contiamo . Riscriviamo come una combinazione lineare di , e otteniamo:vTXvvei

(i=1nβiei)TX(i=1nβiei)=(i=1nβiei)(i=1nλiβiei)=i=1nλi(βi)2(ei2)2.

L'ultima equazione deriva dal fatto che gli autovettori sono stati scelti per essere ortogonali a coppie, quindi i loro prodotti punto sono zero. Ora, poiché anche tutti gli autovettori hanno una lunghezza unitaria, possiamo scrivere , dove sono tutti positivi e somma a .vTXv=i=1nλiβi2βi21

Ciò significa che la varianza della proiezione è una media ponderata degli autovalori. Certamente, è sempre meno del più grande autovalore, motivo per cui dovrebbe essere la nostra scelta del primo vettore PCA.

Supponiamo ora di voler un altro vettore. Dovremmo sceglierlo dallo spazio ortogonale a quello già scelto, ciò significa che il sottospazio . Per inferenza analogica arriviamo alla conclusione che il miglior vettore su cui proiettare è . E così via, e così via ...lin(e2,e3,,en)e2

A proposito, ora dovrebbe essere chiaro, perché la varianza mantenuta può essere espressa da .i=1kλi/i=1nλi

Dovremmo anche giustificare la scelta avida dei vettori. Quando vogliamo scegliere vettori su cui proiettare, potrebbe non essere la migliore idea scegliere prima il vettore migliore, quindi il migliore da ciò che rimane e così via. Vorrei sostenere che in questo caso è giustificato e non fa alcuna differenza. Indichiamo il vettore cui vogliamo proiettare con . Supponiamo inoltre che i vettori siano ortogonali a coppie. Come già sappiamo, la varianza totale delle proiezioni su tali vettori può essere espressa da dovekkv1,,vk

j=1ki=1nλiβij2=i=1nλiγi
γi=j=1kβij2.

Ora, scriviamo in una base ortonormale che include . Indichiamo il resto della base come . Possiamo vedere che . Perché , abbiamo , e quindi per tutti .eiv1,,vku1,,unkei=j=1kβijvj+j=1nkθjei,ujei2=1j=1kβij2+j=1nkθj2=1γi1i

Ora abbiamo un caso simile a un solo vettore, ora sappiamo che la varianza totale delle proiezioni è con e . Questa è un'altra media ponderata, e certamente non è altro che che corrisponde alla proiezione su autovettori corrispondenti ai più grandi autovalori.i=1nλiγiγi1i=1nγi=ki=1kλik


2
+1 Risposta molto bella! Non l'ho ancora letto completamente, ma la tua risposta è il tipo di quello che stavo cercando. Tutti i passaggi spiegati =)
jjepsuomi il

9
Fammi vedere un Layman che conosca l'algebra lineare di base e ti mostrerò un corso di laurea in matematica.
probabilityislogic

Dall'algebra lineare sappiamo che in questo semplice caso la proiezione di su è alfa v x i , v /v 2xiαvxi,v/v2 (5 ° paragrafo). Non dovrebbe essere? In altre parole, la proiezione scalare? xi,v/v
Antoni Parellada,

1
Penso che questa sia di gran lunga la migliore spiegazione per PCA che abbia mai visto. Grazie.
Nimitz14,

1
Questa è la mia spiegazione preferita che mostra anche perché gli autovettori massimizzano la varianza.
Romwell,

47

Bene, ci proverò. Qualche mese fa ho analizzato una buona quantità di letteratura per trovare una spiegazione intuitiva che potrei spiegare a un non statistico. Ho trovato le derivazioni che usano i moltiplicatori di Lagrange più intuitive.

Diciamo che abbiamo dati di dimensioni elevate - diciamo 30 misurazioni effettuate su un insetto. I bug hanno genotipi diversi e caratteristiche fisiche leggermente diverse in alcune di queste dimensioni, ma con dati di dimensioni così elevate è difficile dire quali insetti appartengano a quale gruppo.

PCA è una tecnica per ridurre la dimensione mediante:

  1. Prendere combinazioni lineari delle variabili originali.
  2. Ogni combinazione lineare spiega la maggiore varianza nei dati che può.
  3. Ogni combinazione lineare non è correlata con le altre

Oppure, in termini matematici:

  1. Per (combinazione lineare per il componente jth)Yj=ajx
  2. Per , (i primi componenti spiegano più variazioni)V ( Y k ) < V ( Y j )k>jV(Yk)<V(Yj)
  3. akaj=0 (ortogonalità)

Trovare combinazioni lineari che soddisfano questi vincoli ci porta agli autovalori. Perché?

Consiglio di leggere il libro An Introduction to Multivariate Data Analysis per la derivazione completa (p. 50), ma l'idea di base è che i problemi di ottimizzazione successiva (massimizzazione della varianza) sono vincolati in modo tale che a'a = 1 per i coefficienti a (per evitare il caso quando la varianza potrebbe essere infinita) e vincolata per assicurarsi che i coefficienti siano ortogonali.

Ciò porta all'ottimizzazione con i moltiplicatori di Lagrange, che a loro volta rivelano il motivo per cui vengono utilizzati gli autovalori. Sono troppo pigro per scriverlo (scusate!) Ma, da questo punto , questo PDF passa abbastanza bene alla prova.

Non proverei mai a spiegarlo a mia nonna, ma se dovessi parlare in generale delle tecniche di riduzione dimensionale, indicherei questo banale esempio di proiezione (non PCA). Supponiamo di avere un cellulare Calder molto complesso. Alcuni punti nello spazio 3D vicini l'uno all'altro, altri no. Se appendiamo questo cellulare al soffitto e illuminiamo la luce da un angolo, otteniamo una proiezione su un piano di dimensione inferiore (un muro 2D). Ora, se questo cellulare è principalmente largo in una direzione, ma magro nell'altra direzione, possiamo ruotarlo per ottenere proiezioni che differiscono nell'utilità. Intuitivamente, una forma magra in una dimensione proiettata su un muro è meno utile: tutte le ombre si sovrappongono e non ci danno molte informazioni. Tuttavia, se lo ruotiamo in modo che la luce risplenda sul lato largo, otteniamo un quadro migliore dei dati sulle dimensioni ridotte - i punti sono più sparsi. Questo è spesso ciò che vogliamo. Penso che mia nonna potesse capirlo :-)


6
Questo è molto profano ;-)

2
È un po 'matica, ma il modo migliore per capire qualcosa è derivarlo.
Vince il

29
Hai una nonna eccezionalmente istruita :-).
whuber

7
mi piace la spiegazione con la luce che brilla su una struttura
tridimensionale

(+1) Tutte sono ottime risposte ma questa è quella che darei anche io.
Digio,

37

Cercando di non essere tecnico ... Immagina di avere dati multivariati, una nuvola di punti multidimensionale. Quando si calcola la matrice di covarianza di coloro che (a) centrano effettivamente la nuvola, ovvero si colloca l'origine come media multidimensionale, gli assi del sistema di coordinate ora si incrociano al centro della nuvola, (b) crittografano le informazioni sulla forma della nuvola e come è orientato nello spazio per mezzo di voci varianza-covarianza. Pertanto, la maggior parte delle informazioni importanti sulla forma dei dati nel loro insieme viene archiviata nella matrice di covarianza.

Quindi si esegue la decomposizione degli autovettori di quella martrix e si ottiene l'elenco degli autovalori e il numero corrispondente di autovettori. Ora, il primo componente principale è la nuova variabile latente che può essere visualizzata come l'asse che attraversa l'origine e orientato lungo la direzione della varianza massima (spessore) della nuvola. La varianza lungo questo asse, cioè la varianza delle coordinate di tutti i punti su di esso, èil primo autovalore e l'orientamento dell'asse nello spazio riferito agli assi originali (le variabili) è definito dal primo autovettore: le sue voci sono i coseni tra esso e quegli assi originali. Le coordinate di punti dati sopra menzionate sul primo componente sono i valori del primo componente principale, o punteggi dei componenti; sono calcolati come il prodotto della matrice di dati (centrata) e dell'autovettore.

"Dopo" il 1 ° pr. il componente è stato misurato, per così dire, "rimosso" dal cloud con tutta la varianza spiegata e la dimensionalità del cloud diminuisce di uno. Successivamente, tutto viene ripetuto con il secondo autovalore e il secondo autovettore - il 2 ° pr. il componente viene registrato e quindi "rimosso". Eccetera.

Quindi, ancora una volta: gli autovettori sono coseni di direzione per i componenti principali, mentre gli autovalori sono la grandezza (la varianza) nei componenti principali. La somma di tutti gli autovalori è uguale alla somma delle varianze che si trovano sulla diagonale della matrice varianza-covarianza. Se si trasferiscono le informazioni "magnitudinali" memorizzate negli autovalori su autovettori per aggiungerle alle informazioni "orientative" in esse contenute si ottengono i cosiddetti caricamenti dei componenti principali ; questi caricamenti, poiché trasportano entrambi i tipi di informazioni, sono le covarianze tra le variabili originali e i componenti principali.

Più tardi, in particolare, voglio sottolineare due volte la differenza terminologica tra autovettori e caricamenti . Molte persone e alcuni pacchetti (inclusi alcuni R) usano in modo intercambiabile i due termini. È una cattiva pratica perché gli oggetti e i loro significati sono diversi. Gli autovettori sono i coseni di direzione, l'angolo della "rotazione" ortogonale a cui ammonta la PCA. I caricamenti sono autovettori inoculati con le informazioni sulla variabilità o l'entità dei dati ruotati. I carichi sono i coefficienti di associazione tra i componenti e le variabili e sono direttamente comparabili con i coefficienti di associazione calcolati tra le variabili - covarianze, correlazioni o altri prodotti scalari, su cui basare il tuo PCA. Sia gli autovettori che i carichi sono simili per quanto riguarda i coefficienti regressivi nel predire le variabili dai componenti (non viceversa!1). Gli autovettori sono i coefficienti per prevedere le variabili in base ai punteggi dei componenti grezzi. I carichi sono i coefficienti per prevedere le variabili in base ai punteggi dei componenti in scala (normalizzati) (non c'è da stupirsi: i carichi hanno fatto precipitare informazioni sulla variabilità, di conseguenza, i componenti utilizzati devono essere privati ​​di esso). Un motivo in più per non mescolare autovettori e carichi è che altre tecniche di riduzione della dimensionalità oltre alla PCA - come alcune forme di analisi fattoriale - calcolano direttamente i carichi, bypassando gli autovettori. Gli autovettori sono il prodotto della decomposizione degli automi o della decomposizione a valore singolare; alcune forme di analisi fattoriale non usano queste decomposizioni e arrivano ai caricamenti in altro modo. Infine, sono i caricamenti, non gli autovettori, a interpretare i componenti o i fattori (se è necessario interpretarli). Il caricamento riguarda un contributo di un componente in una variabile: in PCA (o analisi dei fattori) il componente / fattore si carica su una variabile, non viceversa. In un PCA completo si dovrebbero riportare sia autovettori sia caricamenti, come mostrato ad esqui o qui .

Vedi anche su caricamenti vs autovettori.


1 Poiché la matrice di autovettori in PCA è ortonormale e il suo inverso è la sua trasposizione, possiamo dire che quegli stessi autovettori sono anche i coefficienti per prevedere i componenti mediante le variabili. Tuttavia, non è così per i caricamenti.


@amoeba, non insisto e potresti usare qualsiasi terminologia a cui sei abituato. Ho chiaramente spiegato perché penso che i termini "caricamenti" ed "autovettori" siano meglio tenere separati. Seguo la tradizione classica, come ad esempio in Harman. Analisi dei fattori moderni, se solo ricordo bene la tradizione.
ttnphns,

(Cont.) Ad ogni modo, sapete voi stessi che il termine "caricamenti", sebbene sia davvero piuttosto dubbio, non è mai mischiato con "autovettore" in altre analisi multivariate, come ad esempio l'analisi discriminante. Ancora una volta, come ho già detto, nei caricamenti PCA 1) incorporare informazioni sull'entità della variazione; 2) Sono le covarianze / correlazioni e sono quindi utilizzate per l'interpretazione. Valori di autovettori - non lo sono.
ttnphns

2
+1 Ho letto i tuoi post su PCA e altri problemi correlati e ho imparato molto.
Antoni Parellada,

29

OK, una risposta totalmente non matematica:

Se hai un sacco di variabili su un mucchio di argomenti e vuoi ridurlo a un numero minore di variabili su quegli stessi argomenti, perdendo il minor numero possibile di informazioni, allora PCA è uno strumento per farlo.

Si differenzia dall'analisi fattoriale, sebbene spesso forniscano risultati simili, in quanto FA cerca di recuperare un piccolo numero di variabili latenti da un numero maggiore di variabili osservate che si ritiene siano correlate alle variabili latenti.


Ehi Peter! Bello vederti qui. Questa è una risposta matematica davvero buona, semplice e assente.
JD Long,

3
+1 per la menzione di FA, di cui nessun altro sembra discutere, e verso cui le spiegazioni di alcune persone sembrano confondersi.
gung

Sembra che non ci sia alcuna differenza negli obiettivi di PCA e FA - entrambi mirano a ruotare in modo da poter vedere i fattori più importanti (vettori latenti, eigendimensioni o vettori singolari o altro). Ma la FA sembra non essere un algoritmo ma una famiglia di tecniche correlate (tra loro e SVD e PCA) con obiettivi corrispondentemente mal definiti (vale a dire diverse e reciprocamente incoerenti, quindi varianti diverse "ottimizzano" cose diverse).
David MW

Sarebbe corretto affermare che la PCA è uno dei molti modi possibili per eseguire l'analisi dei fattori?
Abalter,

La terminologia in quest'area è notoriamente incoerente.
Peter Flom

29

È più facile fare matematica in 2-D.

Ogni matrice corrisponde a una trasformazione lineare. Le trasformazioni lineari possono essere visualizzate prendendo una figura memorabile sul piano e vedendo come tale figura è distorta dalla trasformazione lineare:

trasformazioni lineari (foto: Flanigan e Kazdan )

  • Gli autovettori sono gli stessi vettori. Indicano nella stessa direzione dopo la trasformazione di una volta. autovettori di mona lisa(il blu è rimasto lo stesso, quindi quella direzione è un autovettore di.)shear
  • Gli autovalori indicano quanto crescono o si riducono gli stessi vettori permanenti. (il blu è rimasto della stessa dimensione quindi l'autovalore sarebbe )×1
  • PCA ruota i tuoi assi per "allinearli" meglio con i tuoi dati. (fonte: weigend.com ) PCA utilizza gli autovettori della matrice di covarianza per capire come ruotare i dati. Poiché la rotazione è una sorta di trasformazione lineare , le nuove dimensioni saranno somme di quelle vecchie, come .Calcio PCA
    1=23%[1]+46%[2]+39%[3]

Il motivo per cui le persone che lavorano con dati reali sono interessati agli autovettori e alle trasformazioni lineari è che in contesti diversi, "lineare" ( ) può riguardare cose davvero interessanti. Per esempio pensare ciò che la proprietà significa che se e sono dati nuovi significati, o se e provengono da qualche campo interessante, o e da un pò di spazio interessante. Per esempio :f(ax+by)=af(x)+bf(y)+abxy

facce

La stessa PCA è un altro esempio, quello più familiare agli statistici. Alcune delle altre risposte come quelle di Freya forniscono applicazioni reali di PCA.

Trovo assolutamente sorprendente che qualcosa di semplice come la "rotazione" possa fare così tante cose in diverse aree, come allineare i prodotti per un sistema di raccomandazione spiega il conflitto geopolitico. Ma forse non è così sorprendente se pensi alla fisica, dove scegliere una base migliore (ad esempio facendo dell'asse la direzione del movimento piuttosto che il cambierà le equazioni imperscrutabili in semplici).similar how?x42.8%[x]57.2%[y]


2
In realtà è una specie di coincidenza che le rotazioni siano lineari e quindi un modo conveniente per descrivere cosa sta succedendo per i dati non geometrici. La coincidenza riguarda la natura quadratica sia dello spazio cartesiano / euclideo che del teorema del limite centrale / gaussiani. Cioè. i sigmi si sommano quadraticamente come le dimensioni ortogonali, che è dove la nostra terminologia di rotazione / ortogonale ND ha origine per analogia con lo spazio 2D e 3D.
David MW

@DavidMWPowers Interessante. Sto pensando alle rotazioni dal punto di vista dell'algebra lineare.
isomorfismi

27

Dopo l'eccellente post di JD Long in questo thread, ho cercato un semplice esempio e il codice R necessario per produrre il PCA e poi tornare ai dati originali. Mi ha dato un po 'di intuizione geometrica di prima mano e voglio condividere ciò che ho ottenuto. Il set di dati e il codice possono essere direttamente copiati e incollati in R form Github .

Ho usato un set di dati che ho trovato online sui semiconduttori qui , e l'ho ridotto a due dimensioni - "numero atomico" e "punto di fusione" - per facilitare la stampa.


Come avvertimento, l'idea è puramente illustrativa del processo computazionale: la PCA viene utilizzata per ridurre più di due variabili a pochi componenti principali derivati, o per identificare la collinearità anche nel caso di più funzionalità. Quindi non troverebbe molta applicazione nel caso di due variabili, né sarebbe necessario calcolare gli autovettori delle matrici di correlazione come sottolineato da @amoeba.


Inoltre, ho troncato le osservazioni da 44 a 15 per facilitare il compito di tracciare i singoli punti. Il risultato finale è stato un frame di dati scheletro ( dat1):

compounds   atomic.no      melting.point
AIN         10             498.0
AIP         14             625.0
AIAs        23             1011.5
...         ...            ... 

La colonna "composti" indica la costituzione chimica del semiconduttore e svolge il ruolo di nome della riga.

Questo può essere riprodotto come segue (pronto per copiare e incollare sulla console R):

dat              <- read.csv(url("http://rinterested.github.io/datasets/semiconductors"))
colnames(dat)[2] <- "atomic.no"
dat1             <- subset(dat[1:15,1:3])
row.names(dat1)  <- dat1$compounds
dat1             <- dat1[,-1]

I dati sono stati quindi ridimensionati:

X <- apply(dat1, 2, function(x) (x - mean(x)) / sd(x))
# This centers data points around the mean and standardizes by dividing by SD.
# It is the equivalent to `X <- scale(dat1, center = T, scale = T)`  

Seguirono i passi lineari dell'algebra:

C <- cov(X)                                           # Covariance matrix (centered data)

[at_nomelt_pat_no10.296melt_p0.2961]

La funzione di correlazione cor(dat1)fornisce lo stesso output sui dati non ridimensionati della funzione cov(X)sui dati ridimensionati.

lambda        <- eigen(C)$values                      # Eigenvalues
lambda_matrix <- diag(2)*eigen(C)$values              # Eigenvalues matrix

[λPC1λPC21.296422000.7035783]

e_vectors     <- eigen(C)$vectors                     # Eigenvectors

12[PC1PC21111]

Poiché il primo autovettore inizialmente ritorna come scegliamo di cambiarlo in per renderlo coerente con le formule integrate attraverso:[0.7,0.7][0.7,0.7]

e_vectors[,1] = - e_vectors[,1]; colnames(e_vectors) <- c("PC1","PC2")

Gli autovalori risultanti erano e . In condizioni meno minimaliste, questo risultato avrebbe aiutato a decidere quali autovettori includere (autovalori più grandi). Ad esempio, il contributo relativo del primo autovalore è : significa che rappresenta della variabilità nei dati. La variabilità nella direzione del secondo autovettore è del . Questo è in genere mostrato su un diagramma a ghiaia che rappresenta il valore degli autovalori:1.29642170.703578364.8%eigen(C)$values[1]/sum(eigen(C)$values) * 10065%35.2%

inserisci qui la descrizione dell'immagine

Includeremo entrambi gli autovettori data la piccola dimensione di questo esempio di set di dati giocattolo, comprendendo che l'esclusione di uno degli autovettori comporterebbe una riduzione della dimensionalità - l'idea alla base di PCA.

La matrice del punteggio è stata determinata come moltiplicazione della matrice dei dati in scala ( X) per la matrice degli autovettori (o "rotazioni") :

score_matrix <-  X %*% e_vectors    
# Identical to the often found operation: t(t(e_vectors) %*% t(X))

Il concetto implica una combinazione lineare di ciascuna voce (riga / soggetto / osservazione / superconduttore in questo caso) dei dati centrati (e in questo caso ridimensionati) ponderati dalle righe di ciascun autovettore , in modo che in ciascuna delle colonne finali del matrice punteggio, troveremo un contributo di ciascuna variabile (colonna) dei dati (l'intero X), ma solo il corrispondente autovettore avrà partecipato calcolo (cioè il primo autovettore sarà contribuire a (componente principale 1) e a , come in: PC[0.7,0.7]T[ 0,7 , - 0,7 ] T PCPC1[0.7,0.7]TPC2

inserisci qui la descrizione dell'immagine

Pertanto ogni autovettore influenzerà ogni variabile in modo diverso, e questo si rifletterà nei "caricamenti" del PCA. Nel nostro caso, il segno negativo nel secondo componente del secondo autovettore cambierà il segno dei valori del punto di fusione nelle combinazioni lineari che producono PC2, mentre l'effetto del primo autovettore sarà costantemente positivo: [0.7,0.7]

inserisci qui la descrizione dell'immagine

Gli autovettori sono ridimensionati su :1

> apply(e_vectors, 2, function(x) sum(x^2))
PC1 PC2 
  1   1 

mentre i ( caricamenti ) sono gli autovettori scalati in base agli autovalori (nonostante la terminologia confusa nelle funzioni R integrate visualizzate di seguito). Di conseguenza, i carichi possono essere calcolati come:

> e_vectors          %*% lambda_matrix
          [,1]      [,2]
[1,] 0.9167086  0.497505
[2,] 0.9167086 -0.497505

> prcomp(X)$rotation %*% diag(princomp(covmat = C)$sd^2)
                   [,1]      [,2]
atomic.no     0.9167086  0.497505
melting.point 0.9167086 -0.497505

È interessante notare che la nuvola di dati ruotata (il diagramma del punteggio) avrà una varianza lungo ciascun componente (PC) uguale agli autovalori:

> apply(score_matrix, 2, function(x) var(x))
       PC1        PC2 
53829.7896   110.8414 
> lambda
[1] 53829.7896   110.8414

Utilizzando le funzioni integrate i risultati possono essere replicati:

# For the SCORE MATRIX:
  prcomp(X)$x
# or...
  princomp(X)$scores # The signs of the PC 1 column will be reversed.

# and for EIGENVECTOR MATRIX:
  prcomp(X)$rotation
# or...
  princomp(X)$loadings

# and for EIGENVALUES:
  prcomp(X)$sdev^2
# or...
  princomp(covmat = C)$sd^2

In alternativa, è possibile applicare il metodo di decomposizione del valore singolare ( ) per calcolare manualmente il PCA; in effetti, questo è il metodo utilizzato in . I passaggi possono essere indicati come:UΣVTprcomp()

svd_scaled_dat <-svd(scale(dat1))
eigen_vectors <- svd_scaled_dat$v
eigen_values <- (svd_scaled_dat$d/sqrt(nrow(dat1) - 1))^2
scores<-scale(dat1) %*% eigen_vectors

Il risultato è mostrato di seguito, con il primo, le distanze dai singoli punti al primo autovettore, e su un secondo diagramma, le distanze ortogonali al secondo autovettore:

inserisci qui la descrizione dell'immagine

Se invece tracciassimo i valori della matrice dei punteggi (PC1 e PC2) - non più "melting.point" e "atomic.no", ma un cambiamento di base delle coordinate del punto con gli autovettori come base, queste distanze sarebbero conservato, ma diventerebbe naturalmente perpendicolare all'asse xy:

inserisci qui la descrizione dell'immagine

Il trucco era ora di recuperare i dati originali . I punti erano stati trasformati attraverso una semplice moltiplicazione di matrice da parte degli autovettori. Ora i dati sono stati ruotati indietro moltiplicando per l' inverso della matrice di autovettori con un conseguente marcato cambiamento nella posizione dei punti dati. Ad esempio, notare la modifica del punto rosa "GaN" nel quadrante superiore sinistro (cerchio nero nel diagramma sinistro, in basso), tornando alla sua posizione iniziale nel quadrante inferiore sinistro (cerchio nero nel diagramma destro, in basso).

Ora abbiamo finalmente ripristinato i dati originali in questa matrice "de-ruotata":

inserisci qui la descrizione dell'immagine

Oltre al cambiamento delle coordinate di rotazione dei dati in PCA, i risultati devono essere interpretati e questo processo tende a coinvolgere un biplot, su cui sono tracciati i punti di dati rispetto alle nuove coordinate di autovettore e le variabili originali sono ora sovrapposte come vettori. È interessante notare l'equivalenza nella posizione dei punti tra i grafici nella seconda riga dei grafici di rotazione sopra ("Punteggi con asse xy = autovettori") (a sinistra nei grafici che seguono), e il biplot(a giusto):

inserisci qui la descrizione dell'immagine

La sovrapposizione delle variabili originali come frecce rosse offre un percorso per l'interpretazione di PC1un vettore nella direzione (o con una correlazione positiva) con entrambi atomic noe melting point; e di PC2come componente lungo valori crescenti atomic noma negativamente correlati melting point, coerenti con i valori degli autovettori:

PCA$rotation
                    PC1        PC2
atomic.no     0.7071068  0.7071068
melting.point 0.7071068 -0.7071068

Questo tutorial interattivo di Victor Powell fornisce un feedback immediato sulle modifiche degli autovettori quando il cloud di dati viene modificato.


1
+1 per lo sforzo e in particolare per l'animazione! Ma bisogna tenere presente che PCA sulla matrice di correlazione di due variabili è un po 'un caso speciale perché tutte le matrici di correlazione di due variabili hanno autovettori identici : uno di questi sarà sempre [0,7 0,7] (0,7 essendo un 1 / sqrt (2)). Questo non è il caso delle matrici di covarianza o delle matrici di correlazione di dimensioni superiori.
amoeba,

14

Da qualcuno che ha usato molto il PCA (e ha cercato di spiegarlo anche a poche persone) ecco un esempio dal mio campo di neuroscienze.

Quando registriamo dal cuoio capelluto di una persona lo facciamo con 64 elettrodi. Quindi, in effetti, abbiamo un numero di 64 in un elenco che rappresenta la tensione emessa dal cuoio capelluto. Ora, poiché registriamo con precisione al microsecondo, se abbiamo un esperimento di 1 ora (spesso sono 4 ore), ciò ci dà 1e6 * 60 ^ 2 == 3.600.000.000 di punti temporali in cui è stata registrata una tensione su ciascun elettrodo in modo che ora hanno una matrice di 3.600.000.000 x 64. Poiché un presupposto importante della PCA è che le variabili sono correlate, è un'ottima tecnica per ridurre questa ridicola quantità di dati a una quantità trattabile. Come è già stato detto numerose volte, gli autovalori rappresentano la quantità di varianza spiegata dalle variabili (colonne). In questo caso un autovalore rappresenta la varianza della tensione in un determinato punto nel tempo fornita da un particolare elettrodo. Quindi ora possiamo dire "Oh, bene elettrodoxal momento yè ciò su cui dovremmo concentrarci per ulteriori analisi perché è lì che sta avvenendo il maggior cambiamento ". Spero che questo aiuti. Amare quei piani di regressione!


12

Potrei essere una persona cattiva a rispondere a questo perché sono la proverbiale nonna che mi ha spiegato il concetto e non molto di più, ma ecco qui:

Supponi di avere una popolazione. Una grande parte della popolazione sta morendo di attacchi di cuore. Stai cercando di capire cosa causa gli attacchi di cuore.

Hai due dati: altezza e peso.

Ora, è chiaro che esiste QUALCHE relazione tra peso e infarti, ma la correlazione non è molto forte. Ci sono alcune persone pesanti che hanno molti attacchi di cuore, ma altre no.

Ora, fai un PCA, e ti dice che il peso diviso per altezza ('massa corporea') è un predittore molto più probabile di attacchi di cuore rispetto al peso o all'altezza, perché, ecco, la "realtà" è che è massa corporea che provoca gli attacchi di cuore.

In sostanza, fai PCA perché stai misurando un sacco di cose e non sai davvero se questi sono davvero i componenti principali o se c'è qualche componente sottostante più profondo che non hai misurato.

[Non esitate a modificarlo se è completamente fuori base. Davvero non capisco il concetto più profondamente di così].


1
Benvenuti nel sito delle statistiche @Joel! Se ne hai la possibilità, potresti anche contribuire alla discussione sul nostro proposto progetto di analisi dei dati StackExchange distribuito: stats.stackexchange.com/questions/2512/… .
Shane,

9
Esempio eccellente, ma tecnicamente PCA non riesce a trovare la spiegazione della massa corporea in quanto può trovare solo spiegazioni lineari, ovvero somme ponderate delle variabili originali. Tuttavia, se prendi i registri delle variabili di input, il rapporto diventa una differenza e se è la spiegazione giusta, PCA sarà in grado di trovarlo.
David MW

10

Eccone uno per la nonna:

Nella nostra città ci sono strade che vanno verso nord e sud, alcune verso est e ovest, e persino alcune verso nord-ovest e sud-est, altre da nord-est a sud-ovest. Un giorno un ragazzo misura tutto il traffico su tutte le strade, scopre che la maggior parte del traffico procede in diagonale, da nord-ovest a sud-est, la seconda più grande è perpendicolare a questa direzione da nord-est a sud-ovest e tutto il resto è abbastanza piccolo. Quindi disegna un grande quadrato e mette una grande linea da sinistra a destra e dice che è da NW a SE, quindi disegna un'altra linea verticalmente su e giù nel mezzo. Dice che è la seconda direzione più affollata per il traffico (da NE a SW). Il resto è piccolo, quindi può essere ignorato.

La linea sinistra destra è il primo autovettore e la linea verso il basso è il secondo autovettore. Il numero totale di auto che vanno a sinistra e a destra sono il primo autovalore e quelli che vanno su e giù sono il secondo autovalore.


1
Questa analogia sembra fallire nell'esame. Cosa succede se la direzione del traffico più grande e la seconda più grande non sono ortogonali? In che modo la tua analogia ci aiuta a capire un PCA in questo caso?
whuber

Immagino che la nonna capisca cosa significa ortogonale? Sì, alcuni difetti lì, ma è un inizio. Penso sia grandioso che ci siano state così tante risposte qui.
BajaBob,

2
Che "nonna" capisca o meno un post, deve essere ragionevolmente chiaro e corretto. La tua analogia non sembra raggiungere nessuno di questi obiettivi. Ciò può essere dovuto al fatto che non capisco l'analogia: non riesco a collegarlo a ciò che è o fa PCA. Forse potresti chiarire come funziona l'analogia in modo che gli altri lettori non diventino così sconcertati come me.
whuber

Il fatto che non siano ortogonali significa che hai bisogno di ICA o FA non di PCA. Se la nonna stava guardando Star Trek (sì, è quella generazione) quando mostrano la nave disabile in un angolo - PCA tenderebbe a recuperare il piano di riferimento relativo alla scala e alla vista (il piano galattico o gli assi della nave).
David MW

-1. Sono d'accordo con @whuber che questa analogia non funziona. Quali dovrebbero essere i dati qui, di quale matrice di covarianza sono questi "autovettori"? Non lo capisco affatto.
amoeba,

10

Questa risposta fornisce un'interpretazione intuitiva e non matematica:

Il PCA ti fornirà una serie di vettori ortogonali all'interno di una nuvola di punti ad alta dimensione. L'ordine dei vettori è determinato dalle informazioni trasmesse dopo aver proiettato tutti i punti sui vettori.

In parole diverse: il primo vettore componente principale ti dirà di più sulla nuvola di punti dopo aver proiettato tutti i punti sul vettore. Questa è ovviamente un'interpretazione intuitiva.

Guarda questo ellissoide (segui il link per un modello 3D) :

inserisci qui la descrizione dell'immagine

Se dovessi scegliere un vettore che forma un sotto-spazio unidimensionale su cui verranno proiettati i punti dei punti degli ellissoidi. Quale sceglieresti perché trasmette la maggior parte delle informazioni sull'insieme originale in 3 dimensioni?

Immagino quello rosso lungo l'asse più lungo. E questo è in realtà il primo componente principale calcolato! Quale successivo, sceglierei quello blu lungo il successivo asse più lungo.

In genere si desidera proiettare un insieme di punti da uno spazio ad alta dimensione su un piano bidimensionale o in uno spazio tridimensionale .

inserisci qui la descrizione dell'immagine


http://www.joyofdata.de/blog/illustration-of-principal-component-analysis-pca/


10

Sebbene ci siano molti esempi forniti per fornire una comprensione intuitiva del PCA, questo fatto può quasi rendere più difficile la comprensione all'inizio, almeno lo è stato per me.

"Qual è stata l'unica cosa su PCA che hanno in comune tutti questi diversi esempi di diverse discipline ??"

Ciò che mi ha aiutato a capire intuitivamente sono stati un paio di parallelismi matematici, poiché è evidente che la matematica è la parte facile per te, anche se questo non aiuta a spiegarlo a tua nonna ...

Pensa a un problema di regolarizzazione, cercando di ottenere

||XBY||=0

YY

YYXkBYXBkSVSVT

AA


9

Ecco una risposta matematica: il primo componente principale è la dimensione più lunga dei dati. Guardalo e chiedi: dove sono i dati più ampi? Questo è il primo componente. Il prossimo componente è la perpendicolare. Quindi un sigaro di dati ha una lunghezza e una larghezza. Ha senso per qualsiasi cosa che sia un po 'oblunga.


6
Sfortunatamente, la correttezza di questa risposta dipende da come viene interpretata la vaga espressione "più lunga". Molte interpretazioni naturali e pertinenti, come il diametro , sarebbero sbagliate.
whuber

PCA in realtà funziona abbastanza bene con diversi tipi di modo naturale per misurare la dimensione / dimensione. Devi solo sostituire la matrice di covarianza con una matrice per misurare la "dimensione" in qualsiasi direzione (la matrice deve solo essere definita positiva o simmetrica). Questo è proprio come QuickSort funziona per diversi operatori di ordinazione, ma otterrai risultati diversi per diversi operatori di ordinazione.
James LI,

9

Il modo in cui capisco i componenti principali è questo: i dati con più variabili (altezza, peso, età, temperatura, lunghezza d'onda, percentuale di sopravvivenza, ecc.) Possono essere presentati in tre dimensioni per tracciare la relazione.

Ora, se volessi in qualche modo dare un senso ai "dati 3D", potresti voler sapere quali piani 2D (sezioni) di questi dati 3D contengono la maggior parte delle informazioni per una data suite di variabili. Questi piani 2D sono i componenti principali, che contengono una proporzione di ciascuna variabile.

Pensa ai componenti principali come variabili stesse, con caratteristiche composite dalle variabili originali (questa nuova variabile potrebbe essere descritta come peso della parte, altezza della parte, età della parte, ecc.). Quando traccia un componente principale (X) contro un altro (Y), quello che stai facendo è costruire una mappa 2D in grado di descrivere geometricamente le correlazioni tra le variabili originali. Ora la parte utile: poiché ogni soggetto (osservazione) confrontato è associato ai valori di ciascuna variabile, i soggetti (osservazioni) si trovano anche da qualche parte su questa mappa XY. La loro posizione si basa sui contributi relativi di ciascuna variabile sottostante (vale a dire che un'osservazione può essere fortemente influenzata dall'età e dalla temperatura, mentre un'altra può essere maggiormente influenzata dall'altezza e dal peso).


8

Darò una risposta non mathy e una visione più dettagliata della motivazione attraverso la matematica nella seconda parte.


Non-Mathy:

La spiegazione non matematica è che il PCA aiuta a ottenere dati ad alta dimensione, permettendoti di vedere in quali direzioni i tuoi dati hanno la maggiore varianza. Queste direzioni sono i componenti principali . Una volta ottenute queste informazioni, in alcuni casi è possibile decidere di utilizzare i componenti principali come variabili significative e ridurre notevolmente la dimensionalità dei dati mantenendo solo i componenti principali con la maggiore varianza ( potere esplicativo ).

Ad esempio, supponete di distribuire un questionario di polling politico con 30 domande, a ognuna può essere data una risposta da 1 (in forte disaccordo ) a 5 ( fortemente d'accordo ). Ricevi tonnellate di risposte e ora hai dati tridimensionali e non puoi ricavarne testa o croce. Quindi, nella disperazione, pensi di eseguire PCA e scoprire che il 90% della tua varianza proviene da una direzione e quella direzione non corrisponde a nessuno dei tuoi assi. Dopo un'ulteriore ispezione dei dati, si conclude quindi che questo nuovo asse ibrido corrisponde allo spettro politico sinistra-destra, cioè lo spettro democratico / repubblicano, e si continua a esaminare gli aspetti più sottili dei dati.


Mathy:

A volte aiuta a rimpicciolire e guardare la motivazione matematica per far luce sul significato.

Esiste una famiglia speciale di matrici che possono essere trasformate in matrici diagonali semplicemente modificando l'asse delle coordinate. Naturalmente, sono chiamate matrici diagonali ed elegantemente abbastanza, i nuovi assi di coordinate necessari per fare questo sono davvero gli autovettori.

A quanto pare, la matrice di covarianza è simmetrica e sarà sempre diagonale ! In questo caso gli autovettori sono chiamati componenti principali e quando scrivi la matrice di covarianza nelle coordinate degli autovettori, le voci diagonali (le uniche rimaste) corrispondono alla varianza nella direzione dei tuoi autovettori. Questo ci consente di sapere quali direzioni hanno la maggiore varianza. Inoltre, poiché la matrice di covarianza è diagonale in queste coordinate, hai abilmente eliminato tutta la correlazione tra le tue variabili.

Come è comune nelle applicazioni pratiche, assumiamo che le nostre variabili siano normalmente distribuite e quindi è abbastanza naturale provare a cambiare le nostre coordinate per vedere l'immagine più semplice. Conoscendo i tuoi componenti principali e i loro rispettivi autovalori (varianza) sarai in grado di ridurre la dimensionalità dei tuoi dati se necessario e avrai anche un breve riepilogo generale di dove si trova la variazione nei tuoi dati.

Ma alla fine della giornata, la radice di tutta questa desiderabilità deriva dal fatto che le matrici diagonali sono molto più facili da gestire rispetto ai loro cugini più disordinati e più generali.


2
Grazie per il tuo contributo. Sembra tuttavia che affronti un'interpretazione inutilmente restrittiva del PCA. (1) PCA è stato proficuamente applicato a set di dati altamente non gaussiani. (2) PCA non è una procedura parametrica formale; forse è meglio pensarlo come esplorativo nello spirito. (3) Tutte le matrici di covarianza, di qualsiasi tipo di distribuzione multivariata o dati, sono diagonali. Né la gaussianità (la normalità) né la non degenerazione sono requisiti. (La simmetria della matrice e la presenza di componenti reali garantiscono la diagonalizzazione ).
whuber

Devo ammetterlo, sono imbarazzato di aver dimenticato, ma un buon punto per le matrici di covarianza è diagonale in generale. Ho intenzione di modificare per riflettere questo. Inoltre, potresti approfondire il punto (2)? Non ho familiarità con la differenza tra procedure parametriche o non parametriche.
Christian Bueno,

7

Considero PCA come uno strumento geometrico. Se ti vengono dati un sacco di punti in 3 spazi che sono praticamente tutti su una linea retta e vuoi capire l'equazione di quella linea, la ottieni tramite PCA (prendi il primo componente). Se hai un gruppo di punti in 3 spazi che sono per lo più planari e vuoi scoprire l'equazione di quel piano, fallo tramite PCA (prendi il vettore componente meno significativo e dovrebbe essere normale al piano).


7

Perché così autovalori / autovettori?

Quando si esegue la PCA, si desidera calcolare alcune basi ortogonali massimizzando la varianza proiettata su ciascun vettore di base.

Dopo aver calcolato i vettori di base precedenti, si desidera che il prossimo sia:

  • ortogonale alla precedente
  • norma 1
  • massimizzare la varianza proiettata, cioè con la massima norma di covarianza

Questo è un problema di ottimizzazione vincolata e i moltiplicatori di Lagrange (qui per l'intuizione geometrica, vedi la pagina wikipedia) ti dicono che i gradienti dell'obiettivo (varianza proiettata) e il vincolo (norma unitaria) dovrebbero essere "paralleli" all'optimium.

Ciò equivale a dire che il vettore base successivo dovrebbe essere un autovettore della matrice di covarianza. La scelta migliore in ogni passaggio è quella di scegliere quello con l'autovalore più grande tra quelli rimanenti.


5
Sicuramente non è una spiegazione per un laico - vettori di basi ortogonali? massimizzare la varianza della proiezione? problema di ottimizzazione vincolata? Moltiplicatore di Lagrange? Questi sono termini fortemente "gergali". Mostra a un laico che capisce cosa significano e ti mostrerò un matematico / statistico
Probislogic,

6

Fondamentalmente PCA trova nuove variabili che sono combinazioni lineari delle variabili originali in modo tale che nel nuovo spazio i dati abbiano meno dimensioni. Pensa a un set di dati costituito dai punti in 3 dimensioni sulla superficie di una lastra piana sollevata ad angolo. Negli assi x, y, z originali sono necessarie 3 dimensioni per rappresentare i dati, ma con la corretta trasformazione lineare, sono necessari solo 2.

Fondamentalmente ciò che ha detto @Joel, ma solo combinazioni lineari delle variabili di input.


6

Qualche tempo fa ho cercato di capire questo algoritmo PCA e volevo prendere nota dei vettori eigen e dei valori di autigen. Tale documento affermava che lo scopo dei veicoli elettrici era di convertire un modello del modello di grandi dimensioni in un modello di dimensioni molto ridotte.

Ad esempio, invece di costruire prima il ponte di dimensioni complete e quindi eseguire esperimenti e test su di esso, è possibile utilizzare i veicoli elettrici per creare un ponte di dimensioni molto ridotte in cui tutti i fattori / quantità saranno ridotti dello stesso margine e inoltre il risultato effettivo delle prove e delle prove relative alle sollecitazioni effettuate su di esso può essere calcolato e ampliato in modo appropriato secondo necessità per il modello originale. In un certo senso i veicoli elettrici aiutano a creare abstract dell'originale .

Per me, questa spiegazione aveva un significato profondo per quello che stavo cercando di fare! Spero che ti aiuti anche tu!


-1. Forse non ho apprezzato appieno l'analogia, ma mi sembra abbastanza fuorviante. PCA infatti (in un certo senso) consente di "convertire" un modello "grande" in un modello "piccolo", ma lo fa riducendo la dimensionalità del set di dati. Ma come è il piccolo ponte di dimensionalità inferiore rispetto a quello grande ?! Sono entrambi 3D, no?
amoeba,

@amoeba: questo estratto è tratto da un documento che ho letto, queste non sono esattamente le mie parole. Non ho studiato questo argomento da molto tempo ormai e ho perso la traccia.
Rorschach,

6

Immagina che la nonna abbia appena scattato le sue prime foto e filmati sulla fotocamera digitale che le hai regalato per Natale, sfortunatamente lei abbassa la mano destra mentre preme il pulsante per le foto e anche lei trema un po 'durante i film. Nota che le persone, gli alberi, i recinti, gli edifici, le porte, i mobili, ecc. Non sono diritti su e giù, non sono verticali e che il pavimento, il terreno, il mare, l'orizzonte non sono ben orizzontali, e anche i film sono piuttosto traballanti. Le chiede se puoi aiutarla a sistemarle, tutte le 3000 foto delle vacanze e circa 100 video a casa e in spiaggia (lei è australiana), aprendo regali, camminando in campagna. Ha questo software fotografico che ti permette di fare quello che dice. Le dici che ciò richiederebbe giorni e che non funzionerà comunque sui video, ma conosci tecniche chiamate PCA e ICA che potrebbero essere d'aiuto. Spieghi che la tua ricerca in realtà coinvolge proprio questo tipo di rotazione dei dati nelle dimensioni naturali, che queste tecniche trovano le direzioni più importanti nei dati, la foto in questo caso e ruotano in modo che la più importante sia orizzontale, la seconda è verticale (e può anche andare avanti per più dimensioni che non possiamo immaginare molto bene, anche se il tempo è anche una dimensione nei film).

-

A parte tecnico. In effetti, probabilmente potresti guadagnare il tuo dottorato di ricerca facendo questo per lei, e c'è un importante documento di Bell e Sejnowski (1997) su componenti indipendenti di immagini corrispondenti ai bordi. Per correlarlo a PCA: ICA utilizza PCA o SVD come primo passo per ridurre la dimensionalità e le approssimazioni iniziali, ma poi li migliora tenendo conto non solo dell'errore del secondo ordine (SSE) come il PCA, ma errori di ordine elevato - se è vero ICA, tutti ordini superiori, anche se molti algoritmi si limitano al 3 ° o 4 °. I componenti PCA di basso ordine tendono ad essere fortemente influenzati da orizzontali e verticali. Trattare con il movimento della fotocamera per i film può anche fare uso di PCA / ICA. Sia per le foto 2D che per i film 2½D è necessario un paio di trucchi rappresentativi per raggiungere questo obiettivo.

Un'altra applicazione che potresti spiegare alla nonna sono gli autovisori: autovettori di ordine superiore possono approssimare le "7 emozioni di base" (la faccia media per ognuna di esse e la "rotazione in scala" o combinazione lineare per fare quella media), ma spesso troviamo componenti che sono legati al sesso e alla razza e alcuni potrebbero distinguere individui o caratteristiche individuali (occhiali, barba, ecc.). Questo è ciò che accade se hai poche foto di un singolo individuo e molte emozioni / espressioni, ma ottieni una distorsione diversa se hai molti volti con espressioni neutre. L'uso di ICA al posto di PCA non sembra davvero aiutare molto per le emozioni di base, ma Bartlett e Sejnowsiki (1997) hanno mostrato di aver trovato utili funzioni per il riconoscimento facciale.


1
Apprezzo lo sforzo di comunicare con esempi e per analogia. L'uso delle immagini, tuttavia, è sfortunato a causa dell'alta probabilità che la nonna non capirà che il tuo senso di "rotazione" ha poco a che fare con la rotazione effettiva degli assi di un'immagine , né è probabile che capisca che stai usando la dimensione " "in un senso astratto in cui le foto hanno milioni di dimensioni e non solo due.
whuber

Sì, è necessario rappresentarlo come nuvola di punti, come con le immagini in altre risposte. La preelaborazione con una qualche forma di rilevamento dei bordi e / o soglia sarebbe probabilmente parte dei "trucchi" che ho citato. Ma operare su una foto complessa richiede trucchi per un dottorato.
David MW

@whuber In realtà ho usato PCA (bene SVD) per trovare queste rotazioni nel fare la calibrazione di immagini stereo! È sicuramente lo stesso senso di rotazione.
David MW

2

Penso che tutti inizino a spiegare la PCA dalla parte sbagliata: dagli autovettori. La mia risposta inizia nel posto giusto: sistema di coordinate. Gli autovettori e il problema di autovettura in generale sono lo strumento matematico utilizzato per affrontare il vero problema attuale, che è un sistema di coordinate errato. Spiegherò.

Cominciamo con una linea. Cos'è una linea? È un oggetto monodimensionale. Quindi, hai bisogno solo di una dimensione per spostarti da un punto all'altro. Su un piano anche se si collegano due coordinate qualsiasi punto di una linea. Questo perché rispetto ad una linea stessa il sistema di coordinate viene scelto arbitrariamente. Il sistema di coordinate, direi, non riflette la natura monodimensionale interna della linea. Se solo mettessi sempre l'origine del mio sistema di coordinate cartesiane sulla linea e la girassi in modo che il suo asse x fosse sulla linea, allora non avrei più bisogno dell'asse y! Tutti i miei punti sono su un asse, perché una linea è un oggetto unidimensionale.

Ecco dove dovrebbero iniziare le spiegazioni della PCA. Il problema eigen è uno strumento che esegue la rotazione che ho descritto e il de-significatività delle variabili mette l'origine sulla linea. PCA aiuta a rivelare dimensioni reali dei dati per tanto tempo le relazioni tra le variabili sono lineari .


1

Ricorda che un autovettore è un vettore la cui trasformazione è parallela allo stesso vettore di input. Pertanto un autovettore con un autovalore elevato significa che l'autovettore ha un alto grado di "parallelità" con i dati, il che significa che è possibile rappresentare i dati solo con questo vettore e aspettarsi un errore basso nella nuova rappresentazione. Se scegli autovettori aggiuntivi con autovalori più bassi, sarai in grado di rappresentare maggiori dettagli dei dati perché rappresenterai altre "parallelità", che non sono così importanti come la prima a causa di autovalori inferiori.


0

La PCA è fondamentalmente una proiezione di uno spazio di dimensione superiore in uno spazio di dimensione inferiore preservando quante più informazioni possibili.

Ho scritto un post sul blog in cui spiego PCA attraverso la proiezione di una teiera 3D ...

inserisci qui la descrizione dell'immagine

... su un piano 2D preservando quante più informazioni possibili:

inserisci qui la descrizione dell'immagine

Dettagli e codice R completo sono disponibili nel post:
http://blog.ephorie.de/intuition-for-principal-component-analysis-pca


1
Nonostante le immagini, al momento questo è più un commento che una risposta. Potresti espanderlo, magari fornendo un riepilogo delle informazioni al link? I posti nella rete SE dovrebbero essere in grado di stare da soli.
gung

@gung: abbastanza giusto - l'essenza è che PCA è fondamentalmente una proiezione di uno spazio di dimensioni superiori (in questo caso una teiera 3D) su uno spazio di dimensioni inferiori (in questo caso un piano 2D) preservando quante più informazioni possibile. Lo cambierà nella risposta.
vonjd,

Questo è certamente vero (e spiegato in molte altre risposte esistenti su questo thread), ma in genere dovrebbe esserci di più sulle risposte postate nel sistema SE, e dovrebbero essere in grado di rimanere in piedi da sole se, ad esempio, il collegamento si interrompe.
gung

1
L'esempio della teiera è interessante. Dici che la PCA è una proiezione nello spazio dimensionale inferiore preservando quante più informazioni. Ma .... che cos'è l'informazione? Nel caso della PCA ciò significa mantenere la varianza totale il più elevata possibile. L'esempio della teiera è più come affermare che l'informazione è "più conservata" usando una proiezione su un piano particolare, ma questo spiega poco come PCA fa questo e se è anche la "migliore" scelta di "informazioni". Ad esempio, LDA è anche una proiezione che intende preservare le informazioni, ma non è la stessa di PCA.
Martijn Weterings,

Se la tua teiera fosse stata più rotonda / circolare (meno alta) di PCA avrebbe "scelto" un incrocio diverso per preservare la maggior parte delle "informazioni".
Martijn Weterings,

-4

Forse in ritardo in queste analisi è l'assunto implicito che i dati del gruppo I sono diversi dal gruppo II e si sta cercando di trovare quale componente sia probabilmente il principale fattore che contribuisce alla differenza.

Eseguendo un'analisi PCA che risulta in identici ellissoidi per 2 set diversi, viene indicato che i due set non sono diversi da nessuno dei parametri misurati.


2
Mi chiedo se stai pensando a MANOVA. Se avessi eseguito due PCA sepa4ate, mostreresti solo che la struttura di correlazione era simile.
gung

2
-1. Questa è una risposta completamente fuorviante, per il motivo delineato da @gung. Inoltre, non tenta nemmeno di spiegare cos'è il PCA.
amoeba,
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.