Qual è la differenza tra "caricamenti" e "caricamenti di correlazione" in PCA e PLS?


11

Una cosa comune da fare quando si esegue l'analisi dei componenti principali (PCA) è tracciare due carichi uno contro l'altro per studiare le relazioni tra le variabili. Nel documento che accompagna il pacchetto PLS R per eseguire la regressione dei componenti principali e la regressione del PLS c'è un diagramma diverso, chiamato diagramma dei carichi di correlazione (vedere la figura 7 e la pagina 15 nel documento). Il caricamento della correlazione , come spiegato, è la correlazione tra i punteggi (dal PCA o PLS) e i dati effettivamente osservati.

Mi sembra che i caricamenti e i caricamenti di correlazione siano abbastanza simili, tranne per il fatto che sono ridimensionati in modo leggermente diverso. Un esempio riproducibile in R, con il set di dati incorporato mtcars è il seguente:

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

loadingplot correlationloadinsplot

Qual è la differenza nell'interpretazione di questi grafici? E quale trama (se presente) è meglio usare in pratica?


per una migliore visione del pca, usa il biplot (pca), ti mostra il caricamento e i punteggi del pca e così puoi interpretarlo meglio.
Paul,

6
R prcompil pacchetto chiama incautamente "caricamenti" degli autovettori. I consigli per mantenere questi termini separati. I caricamenti sono autovettori ridimensionati in base ai rispettivi autovalori.
ttnphns,

1
Spiegazione della geometria di un diagramma di caricamento: stats.stackexchange.com/a/119758/3277
ttnphns

Risposte:


13

Attenzione: Rusa il termine "caricamenti" in modo confuso. Lo spiego di seguito.

Prendi in considerazione il set di dati con variabili (centrate) nelle colonne e punti dati nelle righe. L'esecuzione del PCA di questo set di dati equivale a una scomposizione del valore singolare . Le colonne di sono componenti principali ("punteggi" del PC) e le colonne di sono assi principali. La matrice di covarianza è data da , quindi gli assi principali sono autovettori della matrice di covarianza.XNX=USVUSV1N1XX=VS2N1VV

I "caricamenti" sono definiti come colonne di , cioè sono autovettori scalati dalle radici quadrate dei rispettivi autovalori. Sono diversi dagli autovettori! Vedi la mia risposta qui per la motivazione.L=VSN1

Usando questo formalismo, possiamo calcolare la matrice di covarianza tra variabili originali e PC standardizzati: ovvero è dato dai caricamenti. La matrice di correlazione incrociata tra variabili originali e PC è data dalla stessa espressione divisa per le deviazioni standard delle variabili originali (per definizione di correlazione). Se le variabili originali sono state standardizzate prima di eseguire la PCA (ovvero la PCA è stata eseguita sulla matrice di correlazione) sono tutte uguali a . In quest'ultimo caso la matrice di correlazione incrociata viene nuovamente data semplicemente da .

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

Per chiarire la confusione terminologica: ciò che il pacchetto R chiama "caricamenti" sono gli assi principali e quelli che chiama "caricamenti di correlazione" sono in realtà caricamenti. Come ti sei notato, differiscono solo per il ridimensionamento. Cosa è meglio tracciare, dipende da cosa vuoi vedere. Considera un semplice esempio seguente:

biplot

La sottotrama sinistra mostra un set di dati 2D standardizzato (ogni variabile ha una varianza unitaria), allungata lungo la diagonale principale. La sottotrama centrale è un biplot : è un diagramma a dispersione di PC1 vs PC2 (in questo caso semplicemente il set di dati ruotato di 45 gradi) con righe di tracciate in alto come vettori. Si noti che ed vettori sono 90 gradi l'uno dall'altro; ti dicono come sono orientati gli assi originali. La sottotrama destra è lo stesso biplot, ma ora i vettori mostrano le righe di . Si noti che ora ed vettori avere un angolo acuto tra loro; ti dicono quante variabili originali sono correlate ai PC e sia che x y L x y x yVxyLxyxysono molto più correlati con PC1 che con PC2. Mi immagino che la maggior parte delle persone il più delle volte preferiscono vedere il giusto tipo di biplot.

Si noti che in entrambi i casi sia ed vettori hanno lunghezza unitaria. Ciò è accaduto solo perché il set di dati era in 2D per cominciare; nel caso in cui vi siano più variabili, i singoli vettori possono avere una lunghezza inferiore a , ma non possono mai raggiungere l'esterno del cerchio unitario. Prova di ciò che lascio come esercizio.y 1xy1

Diamo ora un altro sguardo al set di dati mtcars . Ecco un biplot del PCA fatto sulla matrice di correlazione:

mtcars pca biplot

Le linee nere sono tracciate usando , le linee rosse sono tracciate usando .LVL

Ed ecco un biplot dell'APC fatto sulla matrice di covarianza:

mtcars pca biplot

Qui ho ridimensionato tutti i vettori e il cerchio unitario di , perché altrimenti non sarebbe visibile (è un trucco comunemente usato). Ancora una volta, le linee nere mostrano le righe di e le linee rosse mostrano le correlazioni tra variabili e PC (che non sono più fornite da , vedi sopra). Si noti che sono visibili solo due linee nere; questo perché due variabili hanno una varianza molto elevata e dominano il set di dati mtcars . D'altra parte, si possono vedere tutte le linee rosse. Entrambe le rappresentazioni forniscono alcune informazioni utili.V L100VL

PS Esistono diverse varianti di biplot PCA, vedere la mia risposta qui per ulteriori spiegazioni e una panoramica: Posizionamento delle frecce su un biplot PCA . Il biplot più bello mai pubblicato su CrossValidated può essere trovato qui .


2
Sebbene questa sia una risposta molto buona (+1), ha solo una debolezza didattica, in quanto inizialmente mette le variabili nelle righe di X, non nelle colonne di X come tradizionalmente andrebbero nei set di dati / esempi statistici. A causa di tale trasposizione, i vettori U diventano nella risposta delle variabili e V dei casi. La maggior parte delle persone che conoscono PCA sono abituate al layout opposto; quindi ostacola la percezione, un po '.
ttnphns,

1
Potrei raccomandare di sottolineare verbalmente la "morale" della differenza tra il "biplot degli assi" e il "biplot dei carichi" sulla scansione. Nel primo, la variabilità (= scala, = magnidute, = inerzia, = massa) non è presentata: è immagazzinata in autovalori. Nel secondo, è stato completamente abbandonato agli autovettori che rappresentano le variabili; in virtù di quel "ravvivare" le variabili diventano significative nuvole di dati di due punti, o vettori, con lunghezze specifiche rispetto all'origine e all'angolo specifico. Ecco come "improvvisamente" ci troviamo nello spazio soggetto .
ttnphns,

Grazie @ttnphns, entrambi i punti positivi. Per quanto riguarda le righe / colonne di : in effetti, preferisco il layout che ho usato. Un singolo punto dati viene generalmente scritto come un vettore colonna . Una matrice agisce su di essa verrebbe scritta come . Se ora è una raccolta di vettori di colonne raggruppati insieme, allora posso scrivere , il che è conveniente. Se, invece, ha dei campioni nelle righe, come tu sostenga, allora dovrei scrivere , che sembra strano. Ma ammetto che molti libri di testo usano questa convenzione (non sono sicuro del perché). x U U x X U X X X UXxUUxXUXXXU
L'ameba dice che ripristini Monica il

1
Questa è, ovviamente, una questione di gusti. Ricorda, tuttavia, che la grande maggioranza dei programmi statistici mostra fogli di calcolo come cases X variables. Per tradizione, quindi, l'algebra lineare nella maggior parte dei testi di analisi statistica rende il caso un vettore di riga. Forse nell'apprendimento automatico è diverso?
ttnphns,

1
@user_anon No, questa risposta considera il PCA standard, senza alcuna rotazione dei fattori.
ameba dice Reinstate Monica il
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.