Existe alguma vantagem do SVD sobre o PCA?

20

Sei como calcular matematicamente PCA e SVD e sei que ambos podem ser aplicados à regressão de mínimos quadrados lineares.

A principal vantagem do SVD matematicamente parece ser que ele pode ser aplicado a matrizes não quadradas.

Ambos focam na decomposição da matrizAlém da vantagem do SVD mencionada, existem vantagens ou idéias adicionais fornecidas usando o SVD sobre o PCA?XX

Estou realmente procurando pela intuição e não por diferenças matemáticas.

Baz
fonte
2
A questão não é clara. Primeiro você menciona a regressão OLS. Então desaparece. Em seguida, advantage... SVD over PCA- svd e PCA não podem ser comparados como uma operação matemática e um método analítico de dados. Sua pergunta pode ser sobre maneiras de executar o PCA ? Ou o que você está perguntando?
ttnphns
1
Desculpe por não estar claro. Eu tenho estimadores do tipo cume que são derivados usando PCA e outro usando SVD. Existem diferenças na maneira como os modelos são configurados, ou seja, nos termos das informações anteriores que eles usam. Mas eles são escritos pelo mesmo autor. Estou tentando entender as diferenças entre eles e estava tentando descobrir por que ele usaria PCA vs SVD como base para sua análise. Talvez fosse arbitrário, mas se eu puder entender os prós e os contras, isso ajudaria. Até agora, parece que o SVD é apenas uma maneira de executar o PCA que tende a ser mais numericamente estável.
Baz
Tudo bem, mas eu me perguntei se o uso de SVD também produz insights / intuições econométricas adicionais sobre o problema.
Baz
1
Se você deseja um foco específico em econometria, acho que precisa explicar isso na pergunta e explicar o porquê. Não vejo que uma discussão sobre SVD e PCA, que são tipos bastante diferentes de animais, seja diferente para a econometria do que para qualquer outro ramo da ciência estatística.
Nick Cox
4
@Baz: "Até agora, parece que o SVD é apenas uma maneira de fazer o PCA que tende a ser mais numericamente estável" - [neste contexto] está exatamente certo, sim.
Ameba diz Reinstate Monica

Respostas:

43

Como @ttnphns e @ nick-cox disseram, SVD é um método numérico e PCA é uma abordagem de análise (como mínimos quadrados). Você pode executar o PCA usando SVD, ou o PCA fazendo a decomposição em si próprio de (ou ), ou o PCA usando muitos outros métodos, assim como é possível resolver mínimos quadrados com uma dúzia de algoritmos diferentes como o método de Newton ou descida de gradiente ou SVD etc.X X TXTXXXT

Portanto, não há "vantagem" para o SVD sobre o PCA, porque é como perguntar se o método de Newton é melhor que o mínimo de quadrados: os dois não são comparáveis.

purple51
fonte
8
Bom exemplo de como uma resposta concisa e curta ainda pode chegar ao cerne de uma pergunta.
Nick Cox
3
Uau, 8 votos para esta resposta e 0 votos para a pergunta original. Isso não faz muito sentido. Se você aprovou a resposta, considere também votar na pergunta!
Ameba diz Reinstate Monica
1
@amoeba A pergunta para mim é confusa. A resposta deixa claro qual é a confusão. Penso que é uma boa explicação para as diferenças de votos.
Nick Cox
5
Na verdade, para ser mais pedante, SVD não é um método numérico, por si só, é uma operação de álgebra linear, que pode ser implementado usando métodos numéricos específicos que envolvem coisas como as transformações Householder ...
purple51
No entanto, a vantagem de (ao obter os componentes principais via) SVD é numérica: mais precisão. Veja, por exemplo, Jolliffe (2002). Talvez o
Nikos Alexandris
2

A questão é realmente perguntar se você deve fazer a normalização do Z-score das colunas antes de aplicar o SVD. Isso ocorre porque o PCA é a transformação acima, seguida pelo SVD. Às vezes, fazer a normalização é bastante prejudicial. Se seus dados são, por exemplo, contagens de palavras (transformadas) positivas, subtrair a média é definitivamente prejudicial. Isso ocorre porque os zeros que representam a ausência de uma palavra em um documento serão mapeados para números negativos de alta magnitude. Em problemas lineares, a magnitude mais alta deve ser usada para representar o intervalo em que seus recursos são mais sensíveis. Também dividir pelo desvio padrão é prejudicial para esse tipo de dados.

Stefan Savev
fonte
Este é um exemplo interessante, mas acredito que deveria pertencer a algum outro segmento. Definitivamente, o PCA pode ser feito sem a pontuação z, por isso discordo da sua primeira frase: não é isso que esta pergunta está "realmente perguntando".
Ameba diz Reinstate Monica
PCA e SVD são os mesmos se você ignorar subtrair os meios (essa é a pontuação Z que eu mencionei, às vezes as pessoas dão ao PCA a divisão pelo stdev). Então, eu discordo que você pode executar o PCA sem subtrair os meios. Você também pode executar o PCA em matrizes não quadradas.
21415 Stefan Savev