Y a-t-il un avantage de SVD sur PCA?


20

Je sais comment calculer mathématiquement PCA et SVD, et je sais que les deux peuvent être appliqués à la régression linéaire des moindres carrés.

Le principal avantage de SVD semble mathématiquement être qu'il peut être appliqué à des matrices non carrées.

Les deux se concentrent sur la décomposition de la matriceOutre l'avantage de SVD mentionné, y a-t-il des avantages ou des informations supplémentaires fournis en utilisant SVD sur PCA?XX

Je recherche vraiment l'intuition plutôt que des différences mathématiques.


2
La question n'est pas claire. Vous mentionnez d'abord la régression OLS. Il disparaît ensuite. Ensuite, advantage... SVD over PCA- svd et PCA ne peuvent pas être comparés comme une opération mathématique et une méthode d'analyse de données. Votre question peut-elle concerner les façons de réaliser l'APC ? Ou que demandez-vous?
ttnphns

1
Désolé d'être flou. J'ai des estimateurs de type crête qui sont l'un dérivé en utilisant PCA et l'autre en utilisant SVD. Il existe des différences dans la façon dont les modèles sont configurés, à savoir les termes des informations préalables qu'ils utilisent. Mais ils sont écrits par le même auteur. J'essaie de comprendre les différences entre eux et j'essayais de comprendre pourquoi il utiliserait PCA vs SVD comme base de son analyse. C'était peut-être arbitraire, mais si je peux comprendre les avantages et les inconvénients, cela aiderait. Jusqu'à présent, il semble que SVD soit juste un moyen de faire de l'ACP qui a tendance à être plus stable numériquement.
Baz

C'est bien, mais je me demandais simplement si l'utilisation de SVD produit également des informations / intuitions économétriques supplémentaires sur le problème.
Baz

1
Si vous souhaitez vous concentrer spécifiquement sur l'économétrie, je pense que vous devez le préciser dans la question et expliquer pourquoi. Je ne vois pas qu'une discussion sur SVD et PCA, qui sont de toute façon des types de bêtes très différents, est différente pour l'économétrie que pour toute autre branche de la science statistique.
Nick Cox

4
@Baz: "Jusqu'à présent, il semble que SVD soit juste un moyen de faire PCA qui a tendance à être plus stable numériquement" - [dans ce contexte] c'est exactement vrai, oui.
amibe dit Réintégrer Monica

Réponses:


43

Comme l'ont dit @ttnphns et @ nick-cox, SVD est une méthode numérique et PCA est une approche d'analyse (comme les moindres carrés). Vous pouvez faire PCA en utilisant SVD, ou vous pouvez faire PCA en faisant la décomposition propre de (ou ), ou vous pouvez faire PCA en utilisant de nombreuses autres méthodes, tout comme vous pouvez résoudre les moindres carrés avec une douzaine d'algorithmes différents comme la méthode de Newton ou la descente de gradient ou SVD etc.X X TXTXXXT

Il n'y a donc aucun "avantage" à SVD par rapport à PCA parce que c'est comme demander si la méthode de Newton est meilleure que les moindres carrés: les deux ne sont pas comparables.


8
Bel exemple de la façon dont une réponse concise et courte peut toujours aller au cœur d'une question.
Nick Cox

3
Wow, 8 votes positifs pour cette réponse et 0 vote positif pour la question d'origine. Cela n'a pas beaucoup de sens. Si vous votez pour la réponse, pensez aussi à voter pour la question!
amibe dit Réintégrer Monica

1
@amoeba La question pour moi est confuse. La réponse montre clairement quelle est la confusion. Je pense que c'est une bonne explication des différences de votes.
Nick Cox

5
En fait, pour être plus pédant, la SVD n'est pas une méthode numérique en soi, c'est une opération d'algèbre linéaire, qui peut être implémentée en utilisant des méthodes numériques spécifiques impliquant des choses comme les transformations des
chefs de

Pourtant, l'avantage (lors de la dérivation des composants principaux via) SVD est numérique: plus de précision. Voir par exemple Jolliffe (2002). Peut-être le
Nikos Alexandris

2

La question est vraiment de savoir si vous devez effectuer une normalisation Z-score des colonnes avant d'appliquer le SVD. C'est parce que PCA est la transformation ci-dessus suivie par la SVD. Parfois, faire la normalisation est assez dangereux. Si vos données sont par exemple des nombres de mots (transformés) qui sont positifs, la soustraction de la moyenne est définitivement nuisible. En effet, les zéros qui représentent l'absence d'un mot dans un document seront mappés sur des nombres négatifs de grande ampleur. Dans les problèmes linéaires, la magnitude supérieure doit être utilisée pour représenter la plage dans laquelle vos entités sont les plus sensibles. La division par l'écart-type est également nuisible pour ce type de données.


Ceci est un exemple intéressant, mais je pense qu'il devrait plutôt appartenir à un autre fil. PCA peut certainement être fait sans z-scoring, donc je ne suis pas d'accord avec votre première phrase: ce n'est pas ce que cette question "demande vraiment".
amibe dit Réintégrer Monica

PCA et SVD sont les mêmes si vous ignorez la soustraction des moyens (c'est le score Z que j'ai mentionné, parfois les gens donnent le PCA avec la division par le stdev). Je ne suis donc pas d'accord pour dire que vous pouvez faire de l'APC sans soustraire les moyens. Vous pouvez également effectuer l'ACP sur des matrices non carrées.
Stefan Savev
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.