¿Cuáles son las principales diferencias entre realizar el análisis de componentes principales (PCA) en la matriz de correlación y en la matriz de covarianza? ¿Dan los mismos resultados?
¿Cuáles son las principales diferencias entre realizar el análisis de componentes principales (PCA) en la matriz de correlación y en la matriz de covarianza? ¿Dan los mismos resultados?
Respuestas:
Tiende a utilizar la matriz de covarianza cuando las escalas variables son similares y la matriz de correlación cuando las variables están en escalas diferentes.
Usar la matriz de correlación es equivalente a estandarizar cada una de las variables (para significar 0 y la desviación estándar 1). En general, PCA con y sin estandarización dará resultados diferentes. Especialmente cuando las escalas son diferentes.
Como ejemplo, eche un vistazo a este heptathlon
conjunto de datos R. Algunas de las variables tienen un valor promedio de aproximadamente 1.8 (el salto de altura), mientras que otras variables (corren 800m) son alrededor de 120.
library(HSAUR)
heptathlon[,-8] # look at heptathlon data (excluding 'score' variable)
Esto produce:
hurdles highjump shot run200m longjump javelin run800m
Joyner-Kersee (USA) 12.69 1.86 15.80 22.56 7.27 45.66 128.51
John (GDR) 12.85 1.80 16.23 23.65 6.71 42.56 126.12
Behmer (GDR) 13.20 1.83 14.20 23.10 6.68 44.54 124.20
Sablovskaite (URS) 13.61 1.80 15.23 23.92 6.25 42.78 132.24
Choubenkova (URS) 13.51 1.74 14.76 23.93 6.32 47.46 127.90
...
Ahora hagamos PCA en covarianza y correlación:
# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)
biplot(hep.PC.cov)
biplot(hep.PC.cor)
Observe que PCA en covarianza está dominado por run800m
y javelin
: PC1 es casi igual a run800m
(y explica el de la varianza) y PC2 es casi igual a (juntos explican ). El PCA sobre correlación es mucho más informativo y revela cierta estructura en los datos y las relaciones entre las variables (pero tenga en cuenta que las variaciones explicadas caen a y ).97 % 64 % 71 %javelin
Observe también que los individuos periféricos (en este conjunto de datos) son atípicos independientemente de si se utiliza la matriz de covarianza o correlación.
Bernard Flury, en su excelente libro que presenta el análisis multivariado, describió esto como una anti-propiedad de los componentes principales. En realidad es peor que elegir entre correlación o covarianza. Si cambió las unidades (por ejemplo, galones de estilo estadounidense, pulgadas, etc. y litros de estilo europeo, centímetros) obtendrá proyecciones sustancialmente diferentes de los datos.
El argumento contra el uso automático de matrices de correlación es que es una forma bastante brutal de estandarizar sus datos. El problema con el uso automático de la matriz de covarianza, que es muy evidente con los datos de heptathalon, es que las variables con la varianza más alta dominarán el primer componente principal (la propiedad de maximización de la varianza).
Entonces, el "mejor" método para usar se basa en una elección subjetiva, un pensamiento cuidadoso y cierta experiencia.
DATOS NO TRANSFORMADOS (SIN PROCESAR): si tiene variables con escalas muy variables para datos sin procesar, sin transformar, es decir, ingesta calórica por día, expresión génica, ELISA / Luminex en unidades de ug / dl, ng / dl, en función de varios órdenes de magnitud de la expresión de proteínas, luego use la correlación como entrada para PCA. Sin embargo, si todos sus datos se basan, por ejemplo, en la expresión génica de la misma plataforma con un rango y escala similares, o si está trabajando con retornos de activos de patrimonio logarítmico, entonces el uso de la correlación arrojará una enorme cantidad de información.
En realidad, no necesita pensar en la diferencia de usar la matriz de correlación o la matriz de covarianza como una entrada para PCA, sino más bien, observe los valores diagonales de y . Puede observar una varianza de para una variable y en otra, que están en la diagonal de . Pero cuando se observan las correlaciones, la diagonal contiene todas, por lo que la varianza de cada variable cambia esencialmente a medida que utiliza la matriz .
DATOS TRANSFORMADOS: Si los datos se han transformado a través de la normalización, los percentiles o la estandarización de media cero (es decir, puntajes ), de modo que el rango y la escala de todas las variables continuas sean las mismas, entonces podría usar la matriz de covarianza sin ningún problema. (la correlación significará cero-estandarizar variables). Sin embargo, recuerde que estas transformaciones no eliminarán el sesgo (es decir, las colas izquierda o derecha en los histogramas) en sus variables antes de ejecutar PCA . El análisis típico de PCA no implica la eliminación de la asimetría; sin embargo, algunos lectores pueden necesitar eliminar la asimetría para cumplir con estrictas restricciones de normalidad.
En resumen, use la matriz de correlación cuando el rango y la escala dentro de las variables difieran ampliamente, y use la matriz de covarianza para preservar la varianza si el rango y la escala de las variables son similares o están en las mismas unidades de medida.
VARIABLES CON SKEWED: Si alguna de las variables está sesgada con colas izquierda o derecha en sus histogramas, es decir, la prueba de normalidad de Shapiro-Wilk o Lilliefors es significativa , entonces puede haber algunos problemas si necesita aplicar la normalidad suposición. En este caso, use los puntajes de van der Waerden (transformaciones) determinados a partir de cada variable. El puntaje de van der Waerden (VDW) para una sola observación es simplemente el mapeo normal acumulativo inverso (estándar) del valor de percentil de la observación. Por ejemplo, supongamos que tiene observaciones para una variable continua, puede determinar los puntajes VDW usando:
Por ejemplo, si conecta un valor de 0.025, obtendrá . Lo mismo ocurre con un valor de complemento de , obtendrá .
El uso de puntajes VDW es muy popular en genética, donde muchas variables se transforman en puntajes VDW y luego se ingresan en los análisis. La ventaja de usar los puntajes VDW es que la asimetría y los efectos atípicos se eliminan de los datos, y se pueden usar si el objetivo es realizar un análisis bajo las restricciones de la normalidad, y cada variable debe ser puramente normal distribuida sin asimetría. o valores atípicos.
Una respuesta común es sugerir que la covarianza se usa cuando las variables están en la misma escala y la correlación cuando sus escalas son diferentes. Sin embargo, esto solo es cierto cuando la escala de las variables no es un factor. De lo contrario, ¿por qué alguien haría una PCA de covarianza? Sería más seguro realizar siempre la correlación PCA.
Imagine que sus variables tienen diferentes unidades de medida, como metros y kilogramos. No debería importar si usa metros o centímetros en este caso, por lo que podría argumentar que se debe usar la matriz de correlación.
Considere ahora la población de personas en diferentes estados. Las unidades de medida son las mismas: recuentos (número) de personas. Ahora, las escalas podrían ser diferentes: DC tiene 600K y CA - 38M de personas. ¿Deberíamos usar la matriz de correlación aquí? Depende. En algunas aplicaciones, queremos ajustar el tamaño del estado. Usar la matriz de covarianza es una forma de construir factores que tengan en cuenta el tamaño del estado.
Por lo tanto, mi respuesta es usar una matriz de covarianza cuando la varianza de la variable original es importante, y usar correlación cuando no lo es.
Personalmente, considero muy valioso discutir estas opciones a la luz del modelo de análisis de componentes principales de máxima probabilidad (MLPCA) [1,2]. En MLPCA se aplica una escala (o incluso una rotación) de modo que los errores de medición en las variables medidas son independientes y se distribuyen de acuerdo con la distribución normal estándar. Esta escala también se conoce como escala de máxima verosimilitud (MALS) [3]. En algunos casos, el modelo PCA y el parámetro que define la escala / rotación MALS se pueden estimar juntos [4].
Para interpretar la PCA basada en correlación y en covarianza, se puede argumentar que:
Como ya se destacó anteriormente, la elección final depende de los supuestos que esté haciendo. Además, la utilidad de cualquier modelo en particular depende también del contexto y el propósito de su análisis. Para citar a George EP Box: "Todos los modelos están equivocados, pero algunos son útiles".
[1] Wentzell, PD, Andrews, DT, Hamilton, DC, Faber, K. y Kowalski, BR (1997). Análisis de máxima probabilidad del componente principal. Journal of Chemometrics, 11 (4), 339-366.
[2] Wentzell, PD y Lohnes, MT (1999). Análisis de máxima probabilidad del componente principal con errores de medición correlacionados: consideraciones teóricas y prácticas. Quimiometría y sistemas inteligentes de laboratorio, 45 (1-2), 65-85.
[3] Hoefsloot, HC, Verouden, MP, Westerhuis, JA y Smilde, AK (2006). Escala de máxima verosimilitud (MALS). Journal of Chemometrics, 20 (3‐4), 120-127.
[4] Narasimhan, S. y Shah, SL (2008). Identificación del modelo y estimación de matriz de covarianza de error a partir de datos ruidosos utilizando PCA. Práctica de ingeniería de control, 16 (1), 146-155.
[5] Tipping, ME y Bishop, CM (1999). Análisis probabilístico de componentes principales. Revista de la Royal Statistical Society: Serie B (Metodología estadística), 61 (3), 611-622.
Recto y simple: si las escalas son similares, use cov-PCA; si no, use corr-PCA; de lo contrario, es mejor tener una defensa para no. En caso de duda, utilice una prueba F para la igualdad de las variaciones (ANOVA). Si no pasa la prueba F, use corr; de lo contrario, use cov.
Los argumentos basados en la escala (para variables expresadas en las mismas unidades físicas) parecen bastante débiles. Imagine un conjunto de variables (adimensionales) cuyas desviaciones estándar varían entre 0.001 y 0.1. En comparación con un valor estandarizado de 1, ambos parecen ser niveles de fluctuaciones "pequeños" y comparables. Sin embargo, cuando los expresa en decibelios, esto proporciona un rango de -60 dB contra -10 y 0 dB, respectivamente. Entonces esto probablemente se clasificaría como un 'rango grande', especialmente si se incluye una desviación estándar cercana a 0, es decir, menos dB infinito.
Mi sugerencia sería hacer AMBOS un PCA basado en correlación y covarianza. Si los dos dan las mismas (o muy similares, lo que sea que esto signifique) PC, entonces puede estar seguro de que tiene una respuesta que es significativa. Si dan PC muy diferentes, no use PCA, porque dos respuestas diferentes a un problema no son una forma sensata de resolver preguntas.