SVD
La decomposizione di valore singolare è alla radice delle tre tecniche affini. Sia X una tabella r×c di valori reali. SVD è X=Ur×rSr×cV′c×c . Possiamo usare solo m [m≤min(r,c)] primi vettori e radici latenti per ottenere X( m ) come migliore approssimazione di m -rank di X : X( m )= Ur × mSm × mV'c × m . Inoltre, noteremoU = Ur × m ,V = Vc × m ,S = Sm × m .
I valori singolari S e i loro quadrati, gli autovalori, rappresentano la scala , anche chiamata inerzia , dei dati. Gli autovettori di sinistra U sono le coordinate delle righe dei dati sugli assi principali m ; mentre gli autovettori di destra V sono le coordinate delle colonne dei dati su quegli stessi assi latenti. L'intera scala (inerzia) è memorizzata in S e quindi le coordinate U e V sono unità normalizzate (colonna SS = 1).
Analisi dei componenti principali mediante SVD
In PCA, si concorda di considerare le file di X come osservazioni casuali (che possono venire o andare), ma di considerare le colonne di X come numero fisso di dimensioni o variabili. Quindi è opportuno e conveniente rimuovere l'effetto del numero di righe (e solo righe) sui risultati, in particolare sugli autovalori, mediante decomposizione svd di Z = X / r√ al posto diX. Si noti che questo corrisponde a Eigen-decomposizione diX'X / r,ressendo la dimensione del campionen
. (Spesso, soprattutto con le covarianze - per renderle imparziali - preferiremo dividere perr - 1, ma è una sfumatura.)
La moltiplicazione di X per una costante ha interessato solo S ; U e V rimangono le coordinate normalizzate unitarie di righe e colonne.
Da qui e ovunque sotto ridefiniamo S , U e V come indicato da svd di Z , non di X ; Z è una versione normalizzata di X e la normalizzazione varia tra i tipi di analisi.
Moltiplicando U r√= U*portiamo ilquadratomedionelle colonne diUa 1. Dato che le righe sono casi casuali per noi, è logico. Abbiamo così ottenuto ciò che viene chiamato nellostandardPCAopunteggi standardizzatidelle osservazioni deicomponenti principali,U*. Non facciamo la stessa cosa conVperché le variabili sono entità fisse.
Poi possiamo conferire righe con tutta l'inerzia, per ottenere le coordinate di riga non standardizzati, chiamati anche in PCA prime principali punteggi delle componenti di osservazioni: U*S . Questa formula chiameremo "modo diretto". Lo stesso risultato viene restituito da X V ; lo etichettiamo come "modo indiretto".
Analogamente, possiamo conferire colonne con tutta l'inerzia, per ottenere coordinate di colonna non standardizzate, chiamate anche in PCA i carichi variabili dei componenti : VS′ [può ignorare la trasposizione se S è quadrata], - la "via diretta". Lo stesso risultato viene restituito da Z′U , la "via indiretta". (I punteggi delle componenti principali sopra standardizzati possono anche essere calcolate dai carichi come X ( A S- 1 / 2) , dove UN . Sono i carichi)
biplot
Considera il biplot nel senso di un'analisi di riduzione della dimensionalità da solo, non semplicemente come "un doppio diagramma a dispersione". Questa analisi è molto simile alla PCA. A differenza della PCA, sia le righe che le colonne sono trattate, simmetricamente, come osservazioni casuali, il che significa che X viene visto come una tabella a due vie casuale di varia dimensionalità. Poi, naturalmente, normalizzare entro sia r e c prima SVD: Z = X / r c--√ .
Dopo svd, calcola le coordinate di riga standard come abbiamo fatto in PCA: U*= U r√ . Fai la stessa cosa (a differenza di PCA) con i vettori di colonna, per ottenerecoordinate di colonna standard:V*= V c√ . Le coordinate standard, sia delle righe che delle colonne, hannounquadratomedio1.
Possiamo conferire coordinate di righe e / o colonne con inerzia di autovalori come in PCA. Coordinate di riga non standardizzate : U*S (modo diretto). Coordinate di colonna non standardizzate : V*S' (via diretta). E il modo indiretto? Si può facilmente dedurre dalle sostituzioni che la formula indiretta per le coordinate di riga non standardizzate è X V*/ c , e per le coordinate di colonna non standardizzate è X'U*/ r .
PCA come caso particolare del biplot . Dalle descrizioni di cui sopra hai probabilmente appreso che PCA e biplot differiscono solo nel modo in cui normalizzano X in Z che viene quindi decomposto. Il biplot si normalizza sia per il numero di righe che per il numero di colonne; PCA si normalizza solo per il numero di righe. Di conseguenza, c'è una piccola differenza tra i due nei calcoli post-svd. Se facendo biplot imposti c = 1 nelle sue formule otterrai esattamente i risultati PCA. Pertanto, il biplot può essere visto come un metodo generico e PCA come un caso particolare di biplot.
[ Centratura della colonna . Alcuni utenti potrebbero dire: Stop, ma PCA non richiede anche e prima di tutto il centraggio delle colonne di dati (variabili) per spiegare la varianza ? Mentre il biplot non può fare il centraggio? La mia risposta: solo la PCA in senso stretto fa il centraggio e spiega la varianza; Sto discutendo PCA lineare in senso generale, PCA che spiega una sorta di somma di deviazioni quadrate rispetto all'origine scelta; potresti scegliere che sia la media dei dati, lo 0 nativo o qualunque cosa ti piaccia. Pertanto, l'operazione di "centraggio" non è ciò che potrebbe distinguere PCA dal biplot.]
Righe e colonne passive
Nel biplot o PCA, è possibile impostare alcune righe e / o colonne su passive o supplementari. La riga o colonna passiva non influenza SVD e quindi non influenza l'inerzia o le coordinate di altre righe / colonne, ma riceve le sue coordinate nello spazio degli assi principali prodotti dalle righe / colonne attive (non passive).
Impostare alcuni punti (righe / colonne) per essere passivo, (1) definiscono r e c tramite il numero di attivi righe e colonne solo. (2) Impostato su zero righe e colonne passive in Z prima di svd. (3) Utilizzare i modi "indiretti" per calcolare le coordinate di righe / colonne passive, poiché i loro valori di autovettore saranno zero.
In PCA, quando si calcolano i punteggi dei componenti per nuovi casi in arrivo con l'aiuto di caricamenti ottenuti su vecchie osservazioni ( utilizzando la matrice del coefficiente di punteggio ), si fa effettivamente la stessa cosa di prendere questi nuovi casi in PCA e mantenerli passivi. Allo stesso modo, calcolare correlazioni / covarianze di alcune variabili esterne con i punteggi dei componenti prodotti da un PCA equivale a prendere quelle variabili in quel PCA e a mantenerle passive.
Diffusione arbitraria dell'inerzia
I quadrati medi colonna (MS) delle coordinate standard sono 1. I quadrati medi colonna (MS) delle coordinate non standardizzate sono uguali all'inerzia dei rispettivi assi principali: tutta l'inerzia degli autovalori è stata donata agli autovettori per produrre le coordinate non standardizzate.
Nel biplot : le coordinate standard di riga U* hanno MS = 1 per ciascun asse principale. Fila coordinate non standardizzati, chiamato anche fila principali coordinate U*S = X V*/ c avere MS = autovalore corrispondente Z . Lo stesso vale per le coordinate di colonna standard e non standardizzate (principali).
Generalmente, non è necessario che si diano coordinate con inerzia, per intero o in nessuna. La diffusione arbitraria è consentita, se necessario per qualche motivo. Sia p1 la proporzione di inerzia che deve andare alle file. Quindi la formula generale delle coordinate di riga è: U*Sp 1 (via diretta) = X V*Sp 1 - 1/ c (via indiretta). Se p1= 0 otteniamo le coordinate di riga standard, mentre con p1= 1 otteniamo le coordinate di riga principali.
Allo stesso modo p2 è la proporzione di inerzia che deve andare alle colonne. Quindi la formula generale delle coordinate di colonna è: V*Sp 2 (modo diretto) = X'U*Sp 2 - 1/ r (modo indiretto). Se p2= 0 otteniamo le coordinate di colonna standard, mentre con p2= 1 otteniamo le coordinate di colonna principali.
Le formule indirette generali sono universali in quanto consentono di calcolare le coordinate (standard, principale o intermedio) anche per i punti passivi, se presenti.
Se p1+ p2= 1 dicono che l'inerzia è distribuita tra i punti di riga e colonna. I bipoti p1= 1 , p2= 0 , ovvero standard della colonna principale della colonna, sono talvolta chiamati biplot "forma biplot" o "conservazione metrica riga". I bipoti p1= 0 , p2= 1 , ovvero standard di colonna standard di colonna, sono spesso chiamati nella letteratura PCA "biplot di covarianza" o "biplot di conservazione metrica di colonna"; visualizzano caricamenti variabili ( che sono giustapposto alle covarianze) più i punteggi dei componenti standardizzati, se applicati all'interno del PCA.
In analisi delle corrispondenze , p1= p2= 1 / 2 è spesso usato e si chiama "simmetrico" o normalizzazione "canonica" di inerzia - permette (anche se in alcuni expence di severità geometrica euclidea) confronta prossimità tra righe e punti di colonna, come possiamo fare sulla mappa dispiegata multidimensionale.
Analisi delle corrispondenze (modello euclideo)
L'analisi della corrispondenza a due vie (= semplice) (CA) è un biplot utilizzato per analizzare una tabella di contingenza a due vie, ovvero una tabella non negativa le cui voci hanno il significato di una sorta di affinità tra una riga e una colonna. Quando la tabella è frequenze, viene utilizzata l'analisi della corrispondenza del modello chi-quadrato. Quando le voci sono, diciamo, medie o altri punteggi, viene utilizzato un modello CA euclideo più semplice.
Il modello euclideo CA è solo il biplot sopra descritto, solo che la tabella X viene preelaborata ulteriormente prima di entrare nelle operazioni biplot. In particolare, i valori vengono normalizzati non solo da r e c ma anche dalla somma totale N .
La preelaborazione consiste nel centrare, quindi normalizzare dalla massa media. La centratura può essere varia, molto spesso: (1) centratura di colonne; (2) centratura delle file; (3) centratura a due vie che è la stessa operazione del calcolo dei residui di frequenza; (4) centratura delle colonne dopo aver pareggiato le somme delle colonne; (5) centratura delle righe dopo aver pareggiato le somme delle righe. La normalizzazione per la massa media si divide per il valore medio della cella della tabella iniziale. Nella fase di preelaborazione, le righe / colonne passive, se presenti, sono standardizzate passivamente: sono centrate / normalizzate dai valori calcolati da righe / colonne attive.
Quindi il solito biplot viene eseguito sulla X preelaborata , a partire da Z = X / r c--√ .
Biplot ponderato
Immagina che l'attività o l'importanza di una riga o di una colonna possa essere qualsiasi numero compreso tra 0 e 1 e non solo 0 (passivo) o 1 (attivo) come nel biplot classico discusso finora. Potremmo ponderare i dati di input in base a questi pesi di riga e colonna ed eseguire biplot ponderato. Con il biplot ponderato, maggiore è il peso, più influente è quella riga o quella colonna rispetto a tutti i risultati: l'inerzia e le coordinate di tutti i punti sugli assi principali.
L'utente fornisce pesi di riga e pesi di colonna. Questi e quelli vengono prima normalizzati separatamente per sommare a 1. Quindi il passaggio di normalizzazione è Zio j= Xio jwiowj----√ , conwioewjessendo i pesi per riga ie colonna j. Il peso esattamente zero indica che la riga o la colonna sono passive.
A quel punto potremmo scoprire che il biplot classico è semplicemente questo biplot ponderato con pesi uguali 1 / r per tutte le righe attive e pesi uguali 1 / c per tutte le colonne attive; r e c il numero di righe e colonne attive.
Eseguire svd di Z . Tutte le operazioni sono le stesse in biplot classico, l'unica differenza che wio è in luogo di 1 / r e wj è in luogo di 1 / c . Coordinate di riga standard: U∗ io= Uio/ settio--√ coordinate della colonna standard:V∗ j= Vj/ settj--√ . (Questi sono per righe / colonne con peso diverso da zero. Lasciare i valori come 0 per quelli con peso zero e utilizzare le formule indirette di seguito per ottenere le coordinate standard o qualunque per loro.)
Dare inerzia alle coordinate nella proporzione desiderata (con p1= 1 e p2= 1 le coordinate saranno completamente non standardizzate, o principale; con p1= 0 e p2= 0 rimarranno standard). Righe: U*Sp 1 (modo diretto) = X [ W j ] V*Sp 1 - 1 (modo indiretto). Colonne: V*Sp 2(modo diretto) = ( [ W i ] X )'U*Sp 2 - 1 (modo indiretto). Le matrici tra parentesi qui sono le matrici diagonali della colonna e i pesi delle file, rispettivamente. Per i punti passivi (cioè con zero pesi) è adatto solo il modo indiretto di calcolo. Per punti attivi (pesi positivi) puoi andare in entrambi i modi.
PCA come caso particolare di Biplot rivisitato . Quando ho considerato il biplot non ponderato in precedenza, ho detto che PCA e biplot sono equivalenti, l'unica differenza è che il biplot vede le colonne (variabili) dei dati come casi casuali simmetricamente alle osservazioni (righe). Avendo ora esteso il biplot a un biplot più generale ponderato, possiamo ancora una volta rivendicarlo, osservando che l'unica differenza è che il biplot (ponderato) normalizza la somma dei pesi di colonna dei dati di input su 1 e (ponderato) PCA - al numero di ( attivo) colonne. Quindi ecco la PCA ponderata introdotta. I suoi risultati sono proporzionalmente identici a quelli del biplot ponderato. In particolare, se c è il numero di colonne attive, quindi sono vere le seguenti relazioni, per le versioni ponderate e classiche delle due analisi:
- autovalori di PCA = autovalori di biplot ⋅ c ;
- loadings = coordinate della colonna in "normalizzazione principale" delle colonne;
- punteggi dei componenti standardizzati = coordinate delle righe in "normalizzazione standard" delle righe;
- autovettori di PCA = coordinate di colonna in "normalizzazione standard" di colonne / c√ ;
- punteggi dei componenti grezzi = coordinate delle righe in "normalizzazione principale" delle righe ⋅ c√ .
Analisi della corrispondenza (modello Chi-quadrato)
Questo è tecnicamente un biplot ponderato in cui i pesi vengono calcolati da una tabella stessa anziché forniti dall'utente. Viene utilizzato principalmente per analizzare tabelle incrociate di frequenza. Questo biplot approssimerà, per distanze euclidee sulla trama, le distanze chi-quadro nella tabella. La distanza del chi-quadrato è matematicamente la distanza euclidea ponderata inversamente dai totali marginali. Non andrò oltre nei dettagli della geometria CA del modello Chi-quadrato.
Xwio= Rio/ Nwj= Cj/ NRioCjN
XZRioCjZ
min ( r - 1 , c - 1 )
Vedi anche una bella panoramica del modello CA chi-quadrato in questa risposta .
Illustrazioni
Ecco una tabella di dati.
row A B C D E F
1 6 8 6 2 9 9
2 0 3 8 5 1 3
3 2 3 9 2 4 7
4 2 4 2 2 7 7
5 6 9 9 3 9 6
6 6 4 7 5 5 8
7 7 9 6 6 4 8
8 4 4 8 5 3 7
9 4 6 7 3 3 7
10 1 5 4 5 3 6
11 1 5 6 4 8 3
12 0 6 7 5 3 1
13 6 9 6 3 5 4
14 1 6 4 7 8 4
15 1 1 5 2 4 3
16 8 9 7 5 5 9
17 2 7 1 3 4 4
28 5 3 3 9 6 4
19 6 7 6 2 9 6
20 10 7 4 4 8 7
Seguono diversi grafici a dispersione doppi (in 2 prime dimensioni principali) basati sull'analisi di questi valori. I punti della colonna sono collegati all'origine da punte per enfasi visiva. Non c'erano righe o colonne passive in queste analisi.
Il primo biplot è rappresentato dai risultati SVD della tabella dei dati analizzati "così come sono"; le coordinate sono gli autovettori di riga e colonna.
Di seguito è riportato uno dei possibili biplot provenienti da PCA . Il PCA è stato eseguito sui dati "così come sono", senza centrare le colonne; tuttavia, come viene adottato in PCA, inizialmente è stata eseguita la normalizzazione in base al numero di righe (il numero di casi). Questo biplot specifico mostra le coordinate della riga principale (ovvero i punteggi dei componenti grezzi) e le coordinate della colonna principale (ovvero i carichi variabili).
Il prossimo è biplot sensu stricto : la tabella inizialmente era normalizzata sia dal numero di righe che dal numero di colonne. La normalizzazione principale (diffusione dell'inerzia) è stata utilizzata per entrambe le coordinate di riga e colonna, come nel caso del precedente PCA. Nota la somiglianza con il biplot PCA: l'unica differenza è dovuta alla differenza nella normalizzazione iniziale.
Biplot per l' analisi della corrispondenza del modello chi-quadrato . La tabella dei dati è stata preelaborata in modo speciale, includendo la centratura bidirezionale e una normalizzazione utilizzando i totali marginali. È un biplot ponderato. L'inerzia è stata distribuita sulla riga e le coordinate della colonna simmetricamente - entrambe sono a metà strada tra coordinate "principali" e "standard".
Le coordinate visualizzate su tutti questi grafici a dispersione:
point dim1_1 dim2_1 dim1_2 dim2_2 dim1_3 dim2_3 dim1_4 dim2_4
1 .290 .247 16.871 3.048 6.887 1.244 -.479 -.101
2 .141 -.509 8.222 -6.284 3.356 -2.565 1.460 -.413
3 .198 -.282 11.504 -3.486 4.696 -1.423 .414 -.820
4 .175 .178 10.156 2.202 4.146 .899 -.421 .339
5 .303 .045 17.610 .550 7.189 .224 -.171 -.090
6 .245 -.054 14.226 -.665 5.808 -.272 -.061 -.319
7 .280 .051 16.306 .631 6.657 .258 -.180 -.112
8 .218 -.248 12.688 -3.065 5.180 -1.251 .322 -.480
9 .216 -.105 12.557 -1.300 5.126 -.531 .036 -.533
10 .171 -.157 9.921 -1.934 4.050 -.789 .433 .187
11 .194 -.137 11.282 -1.689 4.606 -.690 .384 .535
12 .157 -.384 9.117 -4.746 3.722 -1.938 1.121 .304
13 .235 .099 13.676 1.219 5.583 .498 -.295 -.072
14 .210 -.105 12.228 -1.295 4.992 -.529 .399 .962
15 .115 -.163 6.677 -2.013 2.726 -.822 .517 -.227
16 .304 .103 17.656 1.269 7.208 .518 -.289 -.257
17 .151 .147 8.771 1.814 3.581 .741 -.316 .670
18 .198 -.026 11.509 -.324 4.699 -.132 .137 .776
19 .259 .213 15.058 2.631 6.147 1.074 -.459 .005
20 .278 .414 16.159 5.112 6.597 2.087 -.753 .040
A .337 .534 4.387 1.475 4.387 1.475 -.865 -.289
B .461 .156 5.998 .430 5.998 .430 -.127 .186
C .441 -.666 5.741 -1.840 5.741 -1.840 .635 -.563
D .306 -.394 3.976 -1.087 3.976 -1.087 .656 .571
E .427 .289 5.556 .797 5.556 .797 -.230 .518
F .451 .087 5.860 .240 5.860 .240 -.176 -.325