Conclusioni dall'output di un'analisi della componente principale


9

Sto cercando di comprendere l'output dell'analisi dei componenti principali eseguita come segue:

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> res = prcomp(iris[1:4], scale=T)
> res
Standard deviations:
[1] 1.7083611 0.9560494 0.3830886 0.1439265

Rotation:
                    PC1         PC2        PC3        PC4
Sepal.Length  0.5210659 -0.37741762  0.7195664  0.2612863
Sepal.Width  -0.2693474 -0.92329566 -0.2443818 -0.1235096
Petal.Length  0.5804131 -0.02449161 -0.1421264 -0.8014492
Petal.Width   0.5648565 -0.06694199 -0.6342727  0.5235971
> 
> summary(res)
Importance of components:
                          PC1    PC2     PC3     PC4
Standard deviation     1.7084 0.9560 0.38309 0.14393
Proportion of Variance 0.7296 0.2285 0.03669 0.00518
Cumulative Proportion  0.7296 0.9581 0.99482 1.00000
> 

Tendo a concludere quanto segue dall'output sopra:

  1. La percentuale di varianza indica la quantità di varianza totale presente nella varianza di un particolare componente principale. Pertanto, la variabilità del PC1 spiega il 73% della varianza totale dei dati.

  2. I valori di rotazione mostrati sono gli stessi dei "caricamenti" menzionati in alcune descrizioni.

  3. Considerando le rotazioni di PC1, si può concludere che Sepal.Length, Petal.Length e Petal.Width sono direttamente correlati e tutti sono inversamente correlati a Sepal.Width (che ha un valore negativo nella rotazione di PC1)

  4. Ci può essere un fattore nelle piante (qualche sistema funzionale chimico / fisico ecc.) Che può influenzare tutte queste variabili (Sepal.Length, Petal.Length e Petal.Width in una direzione e Sepal.Width nella direzione opposta).

  5. Se voglio mostrare tutte le rotazioni in un grafico, posso mostrare il loro contributo relativo alla variazione totale moltiplicando ciascuna rotazione per proporzione della varianza di quel componente principale. Ad esempio, per PC1, le rotazioni di 0,52, -0,26, 0,58 e 0,56 sono tutte moltiplicate per 0,73 (varianza proporzionale per PC1, mostrata nell'output di riepilogo (res).

Ho ragione sulle conclusioni sopra?

Modifica per quanto riguarda la domanda 5: Voglio mostrare tutta la rotazione in un semplice diagramma a barre come segue: inserisci qui la descrizione dell'immagine

Dato che PC2, PC3 e PC4 hanno un contributo progressivamente inferiore alla variazione, avrà senso regolare (ridurre) i caricamenti delle variabili lì?


Ri (5): ciò che chiamate "caricamenti" non sono in realtà caricamenti, ma autovettori della matrice di covarianza, ovvero direzioni principali, alias assi principali. I "caricamenti" sono autovettori moltiplicati per le radici quadrate dei loro autovalori, ovvero per le radici quadrate della proporzione della varianza spiegata. I caricamenti hanno molte belle proprietà e sono utili per l'interpretazione, vedi ad esempio questa discussione: Caricamenti vs autovettori in PCA: quando usare l'uno o l'altro? Quindi sì, ha molto senso ridimensionare i tuoi autovettori, basta usare radici quadrate di varianza spiegata.
amoeba,

@amoeba: cosa viene tracciato nel biplot di PCA, rotazioni o caricamenti?
anche il

Molto spesso vengono tracciati i caricamenti, vedi la mia risposta qui per ulteriori discussioni.
amoeba,

Risposte:


9
  1. Sì. Questa è l'interpretazione corretta.
  2. Sì, i valori di rotazione indicano i valori di caricamento dei componenti. Ciò è confermato dalla prcomp documentazione , anche se non sono sicuro del motivo per cui etichettano questa parte dell'aspetto "Rotazione", poiché implica che i carichi sono stati ruotati usando un metodo ortogonale (probabile) o obliquo (meno probabile).
  3. Mentre sembra essere il caso che Sepal.Length, Petal.Length e Petal.Width siano tutti associati positivamente, non aggiungerei tanto stock nel piccolo caricamento negativo di Sepal.Width su PC1; carica molto più fortemente (quasi esclusivamente) su PC2. Per essere chiari, Sepal.Width è ancora probabilmente associato negativamente con le altre tre variabili, ma non sembra essere fortemente correlato al primo componente principale.
  4. Sulla base di questa domanda, mi chiedo se sarebbe meglio servirti usando un'analisi del fattore comune (CF), piuttosto che un'analisi dei componenti principali (PCA). La CF è più una tecnica di riduzione dei dati appropriata quando il tuo obiettivo è scoprire dimensioni teoriche significative - come il fattore vegetale che stai ipotizzando può influenzare Sepal.Length, Petal.Length e Petal.Width. Apprezzo che tu provenga da una sorta di scienza biologica - forse la botanica - ma c'è qualche buona scrittura in Psicologia sulla distinzione PCA v. CF di Fabrigar et al., 1999, Widaman, 2007 e altri. La distinzione fondamentale tra i due è che PCA presume che tutte le varianze siano varianza del punteggio reale - non si assume alcun errore - mentre CF suddivide la varianza del punteggio reale dalla varianza dell'errore, prima che i fattori vengano estratti e stimati i caricamenti dei fattori. Alla fine potresti ottenere una soluzione dall'aspetto simile - a volte le persone lo fanno - ma quando divergono, tende a succedere che il PCA sopravvaluti i valori di caricamento e sottovaluti le correlazioni tra i componenti. Un ulteriore vantaggio dell'approccio CF è che è possibile utilizzare la stima della massima verosimiglianza per eseguire test di significatività dei valori di caricamento, ottenendo anche alcuni indici di come la soluzione scelta (1 fattore, 2 fattori, 3 fattori o 4 fattori) spiega il dati.
  5. Vorrei tracciare il fattore che carica i valori come hai fatto, senza ponderare le barre in base alla percentuale di varianza per i rispettivi componenti. Capisco cosa vuoi provare a mostrare con un simile approccio, ma penso che probabilmente porterebbe i lettori a fraintendere i valori di caricamento dei componenti dalla tua analisi. Tuttavia, se si desidera un modo visivo per mostrare l'entità relativa della varianza spiegata da ciascun componente, è possibile considerare la possibilità di manipolare l'opacità delle barre dei gruppi (se si utilizza ggplot2, credo che ciò avvenga conalphaestetico), basato sulla proporzione di varianza spiegata da ciascun componente (ovvero, colori più solidi = più varianza spiegata). Tuttavia, nella mia esperienza, la tua figura non è un modo tipico di presentare i risultati di un PCA: penso che una o due tabelle (caricamenti + varianza spiegati in uno, correlazioni tra componenti in un altro) sarebbero molto più semplici.

Riferimenti

Fabrigar, LR, Wegener, DT, MacCallum, RC e Strahan, EJ (1999). Valutazione dell'uso dell'analisi fattoriale esplorativa nella ricerca psicologica. Metodi psicologici , 4 , 272-299.

Widaman, KF (2007). Fattori comuni contro componenti: principi e principi, errori e idee sbagliate . In R. Cudeck e RC MacCallum (Eds.), Analisi fattoriale a 100: sviluppi storici e direzioni future (pagg. 177-203). Mahwah, NJ: Lawrence Erlbaum.


2
+1, molti buoni punti qui. Ri (2): gli autovettori della matrice di covarianza sono qui chiamati "Rotazione", poiché la PCA è essenzialmente una rotazione del sistema di coordinate in modo tale che il nuovo sistema di coordinate sia allineato con gli autovettori. Questo non ha nulla a che fare con la "rotazione ortogonale / obliqua dei fattori" nell'analisi fattoriale. Ri (5): Non sono sicuro di aver capito cosa intendevi qui, e non capisco nemmeno come OP voglia "mostrare" gli autovettori "in un grafico". Forse OP ha in mente qualcosa come un biplot. Quindi sì, gli autovettori sono spesso ridimensionati dagli autovalori, ma dalle loro radici quadrate.
amoeba,

Anche se bella trama a tema floreale per il tuo argomento, @rnso :)
jsakaluk,

1
  1. No, non la varianza totale dei dati. La varianza totale dei dati forniti si desidera esprimerlo in 4 componenti principali. Puoi sempre trovare una maggiore varianza totale aggiungendo più componenti principali. Ma questo decade rapidamente.
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.