¿Hay alguna ventaja de SVD sobre PCA?

20

Sé cómo calcular matemáticamente PCA y SVD, y sé que ambos se pueden aplicar a la regresión de mínimos cuadrados lineales.

La principal ventaja de SVD matemáticamente parece ser que se puede aplicar a matrices no cuadradas.

Ambos se centran en la descomposición de la matrizAdemás de la ventaja de SVD mencionada, ¿hay alguna ventaja adicional o información proporcionada al usar SVD sobre PCA?XX

Realmente estoy buscando la intuición en lugar de cualquier diferencia matemática.

Baz
fuente
2
La pregunta no está clara. Primero mencionas la regresión OLS. Luego desaparece. Luego, advantage... SVD over PCA- svd y PCA no se pueden comparar como operación matemática y método analítico de datos. ¿Puede su pregunta ser algo sobre formas de hacer PCA ? ¿O qué preguntas?
ttnphns
1
Perdón por no estar claro. Tengo estimadores de tipo cresta que se derivan uno usando PCA y el otro usando SVD. Existen diferencias en la forma en que se configuran los modelos, es decir, en términos de la información previa que utilizan. Pero están escritos por el mismo autor. Estoy tratando de entender las diferencias entre ellos y estaba tratando de entender por qué usaría PCA vs SVD como base para su análisis. Tal vez fue arbitrario, pero si puedo entender los pros y los contras, ayudaría. Hasta ahora parece que SVD es solo una forma de hacer PCA que tiende a ser más estable numéricamente.
Baz
Eso está bien, pero me preguntaba si el uso de SVD también produce ideas econométricas adicionales / intuición sobre el problema.
Baz
1
Si desea un enfoque específico en la econometría, creo que necesita explicarlo en la pregunta y explicar por qué. No puedo ver que una discusión sobre SVD y PCA, que de todos modos son tipos de bestias bastante diferentes, sea diferente para la econometría que para cualquier otra rama de la ciencia estadística.
Nick Cox
44
@Baz: "Hasta ahora parece que SVD es solo una forma de hacer PCA que tiende a ser más estable numéricamente" - [en este contexto] es exactamente correcto, sí.
ameba dice Reinstate Monica

Respuestas:

43

Como dijeron @ttnphns y @ nick-cox, SVD es un método numérico y PCA es un enfoque de análisis (como mínimos cuadrados). Puede hacer PCA usando SVD, o puede hacer PCA haciendo la descomposición propia de (o X X T ), o puede hacer PCA usando muchos otros métodos, al igual que puede resolver mínimos cuadrados con una docena de algoritmos diferentes como el método de Newton o el descenso de gradiente o SVD, etc.XTXXXT

Entonces, no hay "ventaja" para SVD sobre PCA porque es como preguntar si el método de Newton es mejor que los mínimos cuadrados: los dos no son comparables.

púrpura51
fuente
8
Un buen ejemplo de cómo una respuesta breve y concisa puede llegar al corazón de una pregunta.
Nick Cox
3
Wow, 8 votos a favor para esta respuesta y 0 votos a favor para la pregunta original. Esto no tiene mucho sentido. Si votó la respuesta, ¡considere también votar la pregunta!
ameba dice Reinstate Monica
1
@amoeba La pregunta para mí es confusa. La respuesta deja en claro cuál es la confusión. Creo que es una buena explicación para las diferencias en los votos.
Nick Cox
55
En realidad, para ser más pedante, SVD no es un método numérico per se, es una operación de álgebra lineal, que puede implementarse utilizando métodos numéricos específicos que involucran cosas como las transformaciones de Householder ...
purple51
Sin embargo, la ventaja de (cuando se derivan componentes principales a través de) SVD es numérica: más precisión. Ver por ejemplo Jolliffe (2002). Quizás el
Nikos Alexandris
2

La pregunta realmente es si debe hacer la normalización de Z-score de las columnas antes de aplicar la SVD. Esto se debe a que PCA es la transformación anterior seguida por la SVD. A veces hacer la normalización es bastante dañino. Si sus datos son, por ejemplo, recuentos de palabras (transformados) que son positivos, restar la media es definitivamente perjudicial. Esto se debe a que los ceros que representan la ausencia de una palabra en un documento se asignarán a números negativos de gran magnitud. En problemas lineales, la magnitud más alta debe usarse para representar el rango donde sus características son más sensibles. También dividir por la desviación estándar es perjudicial para este tipo de datos.

Stefan Savev
fuente
Este es un ejemplo interesante, pero creo que debería pertenecer a otro hilo. PCA definitivamente se puede hacer sin puntuación z, por lo que no estoy de acuerdo con su primera oración: eso no es lo que esta pregunta "realmente pregunta".
ameba dice Reinstate Monica
PCA y SVD son iguales si ignora restar los medios (este es el puntaje Z que mencioné, a veces las personas le dan al PCA dividir por stdev). Así que no estoy de acuerdo con que puedas hacer PCA sin restar los medios. También puede hacer PCA en matrices no cuadradas.
Stefan Savev