Analisis de componentes principales PCA Diseño experimental 2137 Juan C. Benavides Tomado en parte de http://cc.oulu.fi/~jarioksa/opetus/metodi/notes.pdf
Reducción y resumen de datos complejos Reducción de una estructura de datos que tuene muchas variables (p) en un grupo de variables (k) sintéticas y compuestas n p A n k X
Reducción de datos PCA es el método mas conocido y mas sencillo de los métodos multivariados Pearson 1901 y Hotelling 1922 Aplicado en ecología en 1954 Factor analysis o principal factor analysis
PCA “The possibilities of using the statistical technique of factor analysis in describing variations in plant communities are explored. This method enables the variations to be treated as continuous, instead of resulting in a separation of the stands studied into a limited number of discrete associations or other synecological categories.”
PCA Toma una matriz de n objetos (muestras) por p variables (especies o ambiente) Las variables pueden tener algo de correlación entre ellas Construye un nuevo set de variables (sitenticas) que no están correlacionadas entre si (ortogonales) Las nuevas variables son los COMPONENTES PRINCIPALES Los primeros k componentes principales retienen la mayor parte de la variación de los datos
PCA Ejemplo: Dos variables Longitud y ancho en Dermochelys
PCA Nuevos ejes sintéticos Dos variables Longitud y ancho en Dermochelys Nuevos ejes sintéticos Mayor varianza en eje 1 Menor varianza en eje 2 https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Leatherback_sea_turtle_Tinglar%2C_USVI_%285839996547%29.jpg/1200px-Leatherback_sea_turtle_Tinglar%2C_USVI_%285839996547%29.jpg
Geometria y PCA Los objetos son representados como una nube de n puntos en un espacio multidimensional Una dimension por cada variable (especie) El centroide de los puntos es el promedio de todas las variables
Geometria y PCA El grado de asociación entre variables es la covarianza Sum over all n objects Value of variable j in object m Mean of variable j Value of variable i Mean of variable i Covariance of variables i and j
Geometria y PCA ejemplo Dos variables con covarianza positiva y ambas con varianza similar
Geometria y PCA PC 1 concentra la mayo varianza (9.88) PC 2 tiene una varianza de 3.03 PC 1 y PC 2 tienen una covarianza de 0.
Geometria y PCA PCA resume teniendo en cuenta las distancias euclidianas entre los puntos (muestras) PCA calcula la mejor representación en k dimensiones de las distancias euclidianas entre los objetos Calcula el primer componente como el eje de mayor variación en los datos El segundo eje es en la dirección de la máxima varianza residual y perpendicular al PCA covarianza pc1 y pc2 es 0 El tercer eje es en la dirección de la máxima varianza residual y perpendicular al PC1 y al PC2
Geometria y PCA Al final se obtienen tantos componentes principales como variables existían originalmente Los primeros ejes son construidos para retener la máxima varianza posible Escala logaritmica
Geometria y PCA Cada componente principal es una combinación lineal de las variables originales PC 1 PC 2 PCj = ai1Y1 + ai2Y2 + … ainYn
Geometria y PCA Los componentes principales son rotaciones rígidas de los datos originales PC 1 PC 2 PCj = ai1Y1 + ai2Y2 + … ainYn
Geometria y PCA La covarianza es afectada si las variables están en escalas diferentes Cambio en la temperatura con la elevación Estandarización de las variables Pendiente= -0.01 Covarianza=8,000 Correlación= -1
Geometria y PCA La covarianza es afectada si las variables están en escalas diferentes Cambio en la temperatura con la elevación Estandarización de las variables Varianzas En la diagonal Covarianzas Fuera de la diagonal X1 X2 6.6707 3.4170 6.2384 X1 X2 1.0000 0.5297 Variance-covariance Matrix Correlation Matrix
Geometria y PCA La matriz de covarianza covarianza es transformada acorde a la función Autovalores Eigenvalues Matriz de covar o corrrelac X1 X2 6.6707 3.4170 6.2384 X1 X2 1.0000 0.5297 Variance-covariance Matrix Correlation Matrix
Geometria y PCA Los ejes principales estan asociados a los autovalores Descomposición en valor singular Los autovalores de S son las soluciones de la ecuación La suma de todos los autovalores es la varianza total El porcentaje de varianza explicado por el componente principal es 𝝺i/𝞢 𝝺 (cada autovalor dividido por la suma de autovalores) Autovalores Eigenvalues Matriz de covar o corrrelac
Cuantos ejes se necesita en PCA Se interpretan los ejes que se considere expliquen un porcentaje importante de la varianza (>70%) O los ejes que tengan autovalores mayores a 1
PCA tiene ciertas condiciones Asume que las relaciones entre las variables son LINEARES La nube de puntos en el espacio p-dimensional tiene dimensiones lineales que pueden ser efectivamente resumidas por los ejes principales Si la estructura de los datos es NO-LINEAR (la nube de puntos se curva a través del espacio p-dimensional), los ejes principales no serán un resumen eficiente e informativo de los datos.
EL efecto de herradura-horsesoe Relaciones no lineares entre las variables deforman la ordenación Sitios en el extremo del gradiente aparecen mas cerca de lo que en realidad estan
Que tan ausente es un ausente
PCA tiene ciertas condiciones En ecología PCA es útil para resumir variables cuyas relaciones son aproximadamente lineales o al menos monótonas p.ej. Un PCA de muchas propiedades del suelo podría ser utilizado para extraer algunos componentes que resumen las principales dimensiones de la variación del suelo PCA NO es útil para ordenar datos de comunidades Porque las relaciones entre especies son no lineales.
PCA tiene ciertas condiciones
PCA en R princomp() Incorrecto dataset< -read.csv(file.choose(),header=TRUE) #visualizar correlaciones pairs(dataset[,-1]) pc1<-princomp(dataset[,-1]) #grafico de los eigenvalues plot(pc1) summary(pc1) pc2<-princomp(dataset[,-1],cor=TRUE) summary(pc2) Incorrecto Correcto
PCA en R Graficas combinan los sitios (muestras) con el peso de las variables en cada componente biplot() biplot(pc2)
PCA en R Graficas combinan los sitios (muestras) con el peso de las variables en cada componente biplot() biplot(pc2, var.axes=FALSE))
PCA en R Toda la información queda almacenada en el objeto primcomp str(pc2) plot(pc2$scores,col="green") text(pc2$scores,label=dataset[,1]) points(pc2$loadings*8,col="red") text(pc2$loadings*8, label= rownames(pc2$loadings), col="red")
PCA en R Toda la información queda almacenada en el objeto primcomp str(pc2) plot(pc2$scores,col="green") text(pc2$scores,label=dataset[,1]) points(pc2$loadings*8,col="red") text(pc2$loadings*8, label= rownames(pc2$loadings), col="red")
PCA en R - VEGAN vegan es el paquete mas usado en analisis de comunidades library(vegan) str(pc2) pc2.rda<-rda(dataset[,-1],scale=TRUE) summary(pc2.rda) biplot(pc2.rda) ordihull(pc2.rda, group = dataset[,1])
PCA en R - VEGAN vegan es el paquete mas usado en analisis de comunidades