Analisi PCA e corrispondenza nella loro relazione con il biplot


38

Il biplot viene spesso utilizzato per visualizzare i risultati dell'analisi dei componenti principali (e delle relative tecniche). È un grafico a dispersione doppio o overlay che mostra i caricamenti e i punteggi dei componenti contemporaneamente. Oggi sono stato informato da @amoeba che ha dato una risposta partendo dal mio commento a una domanda che mi chiede come vengono prodotte / ridimensionate le coordinate del biplot; e la sua risposta prende in considerazione diversi modi in alcuni dettagli. E @amoeba mi ha chiesto di condividere la mia esperienza con il biplot.

La mia esperienza (sia teorica che sperimentale), sebbene molto modesta, senza problemi evidenzia due cose che non sono così frequentemente riconosciute: (1) il biplot dovrebbe essere classificato come tecnica analitica piuttosto che diagramma di dispersione sussidiario; (2) L'APC, l'analisi della corrispondenza (e alcune altre tecniche ben note) sono in realtà casi particolari del biplot. O, almeno, entrambi sono quasi gemelli del biplot. Se riesci a fare il biplot puoi fare gli altri due.

La mia domanda per te è: come sono collegati (PCA, CA, Biplot) ? Per favore, condividi i tuoi pensieri. Nel frattempo sto pubblicando il mio account al riguardo. Vorrei chiedere di aggiungere più risposte e di formulare osservazioni critiche.


Wow! Non mi aspettavo un thread così massiccio quando ho chiesto commenti :) Grazie. +1 per iniziare una discussione interessante. Mentre sto ancora digerendo la tua risposta, vorrei chiarire: dicendo che ho dato una risposta "in partenza" dal tuo commento, vuoi dire che l'ho estesa o che mi sono opposta? Non intendevo certo oppormi.
ameba dice Ripristina Monica il

Intendevo "iniziato e sviluppato [per conto proprio]" No, non ho visto alcuna opposizione (anche se vorrei un'opposizione da parte di esperti come te).
ttnphns,

Risposte:


40

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×cVc×c . Possiamo usare solo m [mmin(r,c)] primi vettori e radici latenti per ottenere X(m) come migliore approssimazione di m -rank di X : X(m)=Ur×mSm×mVc×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 Ur=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 XV ; 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(UNS-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/rc .

Dopo svd, calcola le coordinate di riga standard come abbiamo fatto in PCA: U*=Ur . Fai la stessa cosa (a differenza di PCA) con i vettori di colonna, per ottenerecoordinate di colonna standard:V*=Vc . 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 è XV*/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=XV*/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*Sp1 (via diretta) = XV*Sp1-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*Sp2 (modo diretto) = X'U*Sp2-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/rc .

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 è Zioj=Xiojwiowj , 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/wio coordinate della colonna standard:V*j=Vj/wj . (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*Sp1 (modo diretto) = X[Wj]V*Sp1-1 (modo indiretto). Colonne: V*Sp2(modo diretto) = ([Wio]X)'U*Sp2-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.

inserisci qui la descrizione dell'immagine

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).

inserisci qui la descrizione dell'immagine

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.

inserisci qui la descrizione dell'immagine

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".

inserisci qui la descrizione dell'immagine

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

2
Domanda interessante (+1) e risposta eccellente e completa (+1). Tuttavia, la risposta IMHO ha un disperato bisogno di aiuto visivo per dare un senso migliore a tutta quella grande matematica.
Aleksandr Blekh,

1
Ho aggiunto alcune foto di esempio.
ttnphns,

2
Fantastico grazie! (Questo non vuol dire che capisco tutto, ma, almeno, ora sono un po 'più motivato a provare :-).
Aleksandr Blekh,
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.