C'è qualche vantaggio di SVD su PCA?


20

So calcolare matematicamente PCA e SVD e so che entrambi possono essere applicati alla regressione dei minimi quadrati lineari.

Il vantaggio principale di SVD matematicamente sembra essere che può essere applicato a matrici non quadrate.

Entrambi si concentrano sulla decomposizione della matriceA parte il vantaggio di SVD menzionato, ci sono ulteriori vantaggi o approfondimenti forniti utilizzando SVD su PCA?XX

Sto davvero cercando l'intuizione piuttosto che eventuali differenze matematiche.


2
La domanda non è chiara. Prima menzioni la regressione OLS. Quindi scompare. Successivamente, advantage... SVD over PCA- svd e PCA non possono essere confrontati come operazione matematica e metodo analitico di dati. La tua domanda può essere qualcosa sui modi di fare PCA ? O cosa stai chiedendo?
ttnphns,

1
Scusa se non sono chiaro. Ho uno stimatore del tipo di cresta derivato da uno con PCA e l'altro da SVD. Esistono differenze nel modo in cui i modelli sono impostati, ovvero i termini delle informazioni precedenti che utilizzano. Ma sono scritti dallo stesso autore. Sto cercando di capire le differenze tra loro e sto cercando di capire perché avrebbe usato PCA vs SVD come base per la sua analisi. Forse era arbitrario, ma se potessi capire i pro e i contro sarebbe di aiuto. Finora sembra che SVD sia solo un modo per fare PCA che tende ad essere più numericamente stabile.
Baz,

Va bene, ma mi chiedevo solo se l'uso di SVD produce anche ulteriori intuizioni / intuizioni econometriche sul problema.
Baz,

1
Se vuoi un focus specifico sull'econometria, penso che devi spiegarlo nella domanda e spiegare perché. Non riesco a vedere che una discussione su SVD e PCA, che sono comunque diversi tipi di animali, è diversa per l'econometria rispetto a qualsiasi altra branca della scienza statistica.
Nick Cox,

4
@Baz: "Finora SVD è solo un modo per fare PCA che tende ad essere più numericamente stabile" - [in questo contesto] è esattamente giusto, sì.
ameba dice di reintegrare Monica il

Risposte:


43

Come hanno detto @ttnphns e @ nick-cox, SVD è un metodo numerico e PCA è un approccio di analisi (come i minimi quadrati). Puoi fare PCA usando SVD, oppure puoi fare PCA facendo la decomposizione degli automi di (o X X T ), oppure puoi fare PCA usando molti altri metodi, proprio come puoi risolvere i minimi quadrati con una dozzina di algoritmi diversi come il metodo di Newton o la discesa gradiente o SVD ecc.XTXXXT

Quindi non c'è "vantaggio" su SVD su PCA perché è come chiedere se il metodo di Newton sia migliore dei minimi quadrati: i due non sono comparabili.


8
Un bell'esempio di come una risposta concisa e breve possa ancora arrivare al cuore di una domanda.
Nick Cox,

3
Wow, 8 voti positivi per questa risposta e 0 voti positivi per la domanda originale. Questo non ha molto senso. Se voti la risposta, considera di votare anche la domanda!
ameba dice di reintegrare Monica il

1
@amoeba La domanda per me è confusa. La risposta chiarisce qual è la confusione. Penso che sia una buona spiegazione per le differenze di voto.
Nick Cox,

5
In realtà, per essere più pedante, SVD non è di per sé un metodo numerico, è un'operazione di algebra lineare, che può essere implementata usando metodi numerici specifici che coinvolgono cose come le trasformazioni di Householder ...
purple51

Tuttavia, il vantaggio di (quando si derivano componenti principali tramite) SVD è numerico: maggiore precisione. Vedi ad esempio Jolliffe (2002). Forse il
Nikos Alexandris

2

La domanda è davvero se è necessario eseguire la normalizzazione del punteggio Z delle colonne prima di applicare SVD. Questo perché PCA è la trasformazione di cui sopra seguita da SVD. A volte fare la normalizzazione è abbastanza dannoso. Se ad esempio i tuoi dati sono conteggi di parole (trasformati) che sono positivi, sottrarre la media è decisamente dannoso. Questo perché gli zeri che rappresentano l'assenza di una parola in un documento verranno mappati su numeri negativi con magnitudo elevata. In problemi lineari, la magnitudine più elevata dovrebbe essere utilizzata per rappresentare l'intervallo in cui le funzioni sono più sensibili. Anche la divisione per deviazione standard è dannosa per questo tipo di dati.


Questo è un esempio interessante, ma credo che dovrebbe piuttosto appartenere a qualche altro thread. La PCA può sicuramente essere fatta senza il punteggio z, quindi non sono d'accordo con la tua prima frase: non è questo che questa domanda "sta davvero facendo".
ameba dice Ripristina Monica il

PCA e SVD sono gli stessi se si ignora la sottrazione dei mezzi (questo è il punteggio Z che ho menzionato, a volte le persone danno il PCA con la divisione per lo stdev). Quindi non sono d'accordo sul fatto che puoi fare PCA senza sottrarre i mezzi. Puoi fare PCA anche su matrici non quadrate.
Stefan Savev,
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.