Sunteți pe pagina 1din 9

Cap tulo 1

An alisis en componentes principales (ACP)


El ACP permite la descripci on de una tabla de individuos por variables cuantitativas. El inter es de esa descripci on es comparar los individuos entre y explorar las agrupaciones que puedan emerger de los datos. Por otro se estudian las relaciones entre las variables. Finalmente se obtiene una reducci on de la dimensi on de la informaci on reemplazando las variables originales por los primeros componentes principales que se retengan para an alisis posteriores, por ejemplo, regresi on, agrupamiento (Cluster Analysis) o an alisis discriminante. Para entender el ACP, desde el punto de vista geom etrico, se utiliza un ejemplo muy peque no y se aprovecha la disponibilidad de R, para hacer el procedimiento paso paso. Se supone que el lector de estas notas ya tiene instalado el R en su computador.

1.1.

ACP paso a paso con el ejemplo caf e

En Duarte, Suarez, Moreno & Ortiz (1996) se presenta un experimento, donde se preparan tasas de caf e para detectar la inuencia de la contaminaci on del grano con ma z y cebada. El experimento considera tres factores: agregado (sin, ma z, cebada), porcentaje del agregado (20 % y 40 %) y grado de tostaci on (clara, 8 minutos y oscura, 10 minutos). Entonces el experimento consta de 10 tratamientos y sobre las tasas de caf e de cada uno se miden propiedades qu micas, f sicas y sensoriales. En este ejemplo se utilizan solamente las variables f sicas: color, DA: densidad aparente, EA: extracto acuoso (contenido de s olidos solubles). Los valores obtenidos para los 10 tratamientos se muestran en la tabla 1.1.

1.1.1.

Lectura de la tabla 1.1 en R

Cree del directorio Cafe. Copie la tabla en el bloc de notas. Ed tela si es necesario y gu ardela en directorio Cafe como cafe.txt. 1

CAP ITULO 1. ANALISIS EN COMPONENTES PRINCIPALES (ACP) Arranque R. Cambie al directorio Cafe : Clic en Archivo (en la barra de men u) Cambiar dir Ubique el directorio Aceptar. Y <- read.table(cafe.txt,header=TRUE,row.names=1);Y Y <- Y[-1]; Y # quitar la columna Cafes

Caf es ExcelsoClaro Claro40Maiz Claro40Cebad Claro20Maiz Claro20Cebad ExcelsoOscur Oscuro40Maiz Oscuro40Ceba Oscuro20Maiz Oscuro20Ceba

Tabla 1.1: Caracter sticas f sicas de los caf es


Etiqueta CE CM40 CC40 CM20 CC20 OE OM40 OC40 OM20 OC20 Color 298.0 361.0 321.0 335.0 314.0 186.0 278.0 238.0 226.0 210.0 DA 385.1 481.3 422.6 444.3 368.7 346.6 422.6 403.0 368.7 368.7

EA 25.0 41.0 40.0 33.0 32.0 28.0 43.0 42.0 36.0 35.0

La matriz de datos del ejemplo se identica con Y . Las 10 las (n = 10) se representan como puntos en R3 (p = 3), imagen que se denomina nube de individuos (gura 1.1). Las columnas de Y representan a las variables, cada una se puede ver como un vector en R10 . Esta geometr a es abstracta pero tiene las mismas propiedades de la geometr a en 3D (R3 ). Los 3 vectores (color, DA y EA) constituyen la nube de variables.

1.1.2.

Nube de individuos Nn

En la nube de los n individuos en Rp los ejes son las variables y las coordenadas de cada punto-individuo son los valores de las variables que asume (la de Y ). En la gura 1.1 se muestra en 3D la nube de los 10 individuos del ejemplo caf e. Construcci on de la gr aca en R. Para lo concerniente al ejemplo Cafe se supone que el lector tiene R abierto y que ha cambiando el directorio a la carpeta Cafe.
library(scatterplot3d) # carga el paquete Y3D <- scatterplot3d(Y,main="Y") # grafica cord2d<-Y3D$xyz.convert(Y) # convertir cordenadas 3D a 2D text(cord2d,labels=rownames(Y), cex=0.8,col="blue",pos=4) # poner etiquetas

Centro de gravedad Sobre la nube de individuos se denen el centro de gravedad, que generaliza el concepto de media y la inercia como una medida de dispersi on multivariada. El centro de gravedad de la nube de individuos es:

1.1. ACP PASO A PASO CON EL EJEMPLO CAFE

g= , donde 1n es un vector de n unos. En R.

1 n

yi =
i=1

1 Y 1n n

n <- nrow(Y);n un <- rep(1,n);un # vector de n unos g <- t(Y) %*% un / n; g # igual a mean(Y) # en la gr afica Y3D$points3d(t(g),pch=19,col="darkgreen") text(Y3D$xyz.convert(t(g)),labels="g",pos=4,col="darkgreen")

Centrado de la nube de individuos Al restar a cada vector individuo el centro de gravedad g se obtiene la matriz centrada YC : YC = Y 1n g Al representar YC en Rp el origen se traslada al centro de gravedad de Nn (gura 1.1). En R.
Yc <- Y - un %*% t(g); Yc # en la gr afica Yc3D <- scatterplot3d(Yc,main="Yc") text(Yc3D$xyz.convert(Yc),labels=rownames(Yc), cex=0.8,col="blue",pos=4) Yc3D$points3d(t(c(0,0,0)),pch=19,col="darkgreen") text(Yc3D$xyz.convert(t(c(0,0,0))),labels="(0,0,0)",pos=1,col="darkgreen",cex=0.8) kile$

Reducci on de la nube de puntos (cambio de escala). 1 YC . En La matriz de varianzas y covarianzas, V asociada a la tabla Y es: V = YC n la diagonal de V se tienen las varianzas, de modo que la suma de varianzas es igual a traza(V). En R: V <- t(Yc) %*% as.matrix(Yc) / n; V # = var(Y)*(n-1)/n kile} La matriz normalizada X (matriz de datos Y centrada y reducida) tiene termino general: yik y k , donde y k y j , son la media y la desviaci on est andar de la variable j . En xik = j 1 t erminos matriciales X se obtiene mediante: X = YC D donde D = diag (j ). En la

CAP ITULO 1. ANALISIS EN COMPONENTES PRINCIPALES (ACP)

Yc

CM40 OM40 OC40 45 CC40 10 CM20 OC40 OM40 CC40 CM20 OM20 OC20 0 (0,0,0)

CM40

40

480 OM20 OC20 CC20 400 440 420 380 360 340 200 250 300 350 400 15 460

100 CC20 40 CE 0 20 40 60 80 60 20

EA

35

EA

OE 10

30

OE

CE

25

150

100

50

50

100

Color

Color

Cafe CE CM40 CC40 CM20 CC20 OE OM40 OC40 OM20 OC20

Color 298 361 321 335 314 186 278 238 226 210

DA 385.1 481.3 422.6 444.3 368.7 346.6 422.6 403.0 368.7 368.7

EA 25 41 40 33 32 28 43 42 36 35

Cafe CE CM40 CC40 CM20 CC20 OE OM40 OC40 OM20 OC20

Color 21.30 84.30 44.30 58.30 37.30 -90.70 1.30 -38.70 -50.70 -66.70

DA -16.06 80.14 21.44 43.14 -32.46 -54.56 21.44 1.84 -32.46 -32.46

EA -10.50 5.50 4.50 -2.50 -3.50 -7.50 7.50 6.50 0.50 -0.50

Figura 1.1: Representaci on de la tabla de datos de caf e en 3D gura 1.2 se muestra X para el ejemplo caf e. El valor que un individuo asume para una variable es la diferencia con respecto al promedio, pero ahora medida en el n umero de desviaciones est andar. La matriz de correlaciones de las variables iniciales registradas en la tabla Y , es la matriz de varianzas y covarianzas de X: 1 VX = X X n Inercia de la nube de individuos Nn . La noci on f sica de momento de inercia alrededor de un punto se utiliza como medida de dispersi on de la nube de puntos, alrededor de su centro de gravedad y se denomina inercia.
n

Si cada individuo i se dota del peso pi , la inercia de la nube es: Inercia(Nn ) =


i=1

pi d2 (i, g)

En el caso de pesos iguales para todos los individuos pi = 1/n y dado que su centro de gravedad se ha trasladado al origen, entonces: Inercia(Nn ) = 1 n
n p

x2 ij =
i=1 j =1

1 n

x2 ij =
j =1 i=1

1 n

p 2 j = j =1

1 traza(X X) = p n

DA

500

DA

1.1. ACP PASO A PASO CON EL EJEMPLO CAFE

En el ejemplo la inercia total de nube es 3 (el n umero de variables) y est a repartida equitativamente entre los tres ejes, es decir entre las tres variables.
X

CM40 OM40 OC40 1.5 CC40

1.0

0.5

CM20 OM20 OC20 (0,0,0) 2.5 2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5

2.0 1.5 1.0 0.5 0.0

EA

CC20

OE

CE

2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0

Color

X CE C40M C40C C20M C20C OE O40M O40C O20M O20C Color 0.38 1.51 0.79 1.05 0.67 1.63 0.02 0.69 0.91 1.20 DA 0.41 2.03 0.54 1.09 0.82 1.38 0.54 0.05 0.82 0.82 EA 1.82 0.95 0.78 0.43 0.61 1.30 1.30 1.12 0.09 0.09

Figura 1.2: Nube de individuos asociada a los datos estandarizados de caf e

B usqueda de nuevos ejes: cambio de base El objetivo geom etrico de los m etodos en ejes principales es buscar un nuevo sistema de ejes de tal manera que la mayor a de la inercia se concentre en los primeros ejes. Es decir se trata de descomponer la inercia de la nube de puntos en ejes ortogonales ordenados, de tal manera que en el primer eje este la mayor inercia posible, en el segundo la mayor inercia residual posible, etc. Se busca primero el eje de m axima inercia proyectada. Si se denota u al vector unitario que la direcci on del eje, la coordenada de un vector individuo xi sobre el eje es el producto punto: < xi , u >= x iu Las coordenadas de los n individuos sobre el eje conforman el vector Xu. La inercia

DA

CAP ITULO 1. ANALISIS EN COMPONENTES PRINCIPALES (ACP)

proyectada sobre la recta generada por el vector u es:


n 2 pi (x i u) = i=1

1 1 (Xu) Xu = u( X X)u n n

(1.1)

1 para el caso en que los pesos de los individuos son todos iguales a n . El problema es encontrar la direcci on u que m aximice (1.1) sujeto a la restricci on u u = 1. Este problema se resuelve introduciendo un multiplicador de Lagrange , entonces se debe maximizar:

1 f (u) = u( X X)u (u u 1) n los puntos cr ticos son la soluci on de: 1 f (u) = 2( X X)u 2u = 0 n 1 (1.2) ( X X)u = u n 1 Las soluciones de (1.2) son los vectores propios asociados de los valores propios de n X X. Cu al de los p valores propios escoger?. Premultiplicando por u se obtiene de nuevo la cantidad que se quiere maximizar: 1 u ( X X)u = u u = n y entonces la soluciones son los dos vectores propios unitarios asociados al valor propio 1 mayor de n X X, esta pareja se denota u1 y 1 . Las coordenadas de los individuos sobre el eje generado por u, denominado primer eje principal, se denotan por F1 y son: F1 = Xu1 Para obtener el mejor plano para proyectar la nube de puntos se busca otro eje generado por un vector unitario u ortogonal a u1 y que maximice la inercia (1.1). El problema ahora 1 X X sujeto a las restricciones u u = 1 y u u1 = 0, entonces se introducen es maximizar n dos multiplicadores de Lagrange y la funci on a maximizar es: 1 f (u) = u( X X)u (u u 1) (u u1 ) n que tiene como primera derivada: 1 f (u) = 2( X X)u 2u u1 = 0 n El segundo multiplicado debe ser 0, lo que se puede ver premultiplicando la ecuaci on . Entonces se obtiene de nuevo la ecuaci o n (1.2) y la soluci o n es ahora el anterior por u 1 vector propio, notado u2 , asociado al segundo valor propio m as grande 2 . Encontrar un subespacio 3D para proyectar la nube de puntos es, por el mismo procedimiento, introducir un tercer eje ortogonal a los dos primeros, que es el tercer vector propio 1 X X. u3 asociado al tercer valor propio m as grande 3 de n es decir:

1.1. ACP PASO A PASO CON EL EJEMPLO CAFE

1 El rango r de n X X es el n umero de vectores columna linealmente independientes de X (si n > p, m as las que columnas) y da el n umero de valores propios diferentes de cero. Los r vectores propios {u1 , , us , , ur } constituyen una base ortonormada para el espacio de los individuos, con las propiedades que se requieren para obtener las mejores proyecciones de la nube de puntos.

Las n coordenadas de los individuos sobre un eje factorial s, Fs , constituyen los valores de una variable nueva denominada componente principal. Su varianza es: 1 n
n

(Fs (i))2 ) =
i=1

1 1 F F s = u s ( X X)us = s n s n

La obtenci on de valores y vectores propios es un problema b asico de algebra lineal, pero para su c alculo es necesario utilizar m etodos num ericos. En R
V <- t(X) %*% X / n; V # = cor(X) lambda <- eigen(V)$values; round(lambda,3) U <- eigen(V)$vectors rownames(U) <- rownames(V) colnames(U) <- c("Eje1","Eje2","Eje3");round(U,3) # inercias sum(lambda) # total lambda/sum(lambda) # porcentajes cumsum(lambda)/sum(lambda) # porcentajes acumulados

En el ejemplo caf e, los valores propios son: 1 = 2.067, 2 = 0.822 y 3 = 0.111 y los vectores propios: u1 = (0.58 0.67 0.46) , u2 = (0.57 0.07 0.82) y u3 = (0.58 0.74 0.35) o sus opuestos, ya que hay dos soluciones u1 y u1 , etc. El primer plano factorial recoge 2.067 + 0.822 = 2.889 de inercia que es el 2.889 100/3 = 96.3 %, es decir que casi nada se pierde al leer el primer plano factorial, en lugar de la representaci on en 3D, pero en cambio la lectura se hace mucho m as f acil. El sentido de los ejes no tiene signicado. Cada eje factorial se puede generar por uno de los dos vectores propios normados que denen su direcci on us o us . Escoger uno u otro signica cambiar el signo de las coordenadas, es decir un rotaci on de 180 grados. Esto implica que para un mismo an alisis se pueden tener planos rotados, seg un el paquete y el procedimiento utilizado. Para comparar planos de diferentes an alisis, que aparecen rotados, se pueden cambiar los signos de las coordenadas de manera conveniente, para gracarlos de nuevo. Gr acas y ayudas a la interpretaci on El primer plano factorial se construye buscando las coordenadas de los individuos sobre los ejes 1 y 2. El vector de todas las coordenadas sobre el eje 1 se nota F1 y es: F1 = Xu1 , si se arreglan los vectores propios como columnas en una matriz U, la tabla de las coordenadas sobre los nuevos ejes es F = XU. El primer plano factorial del ACP normado del ejemplo caf e se muestran en la gura 1.3, donde se incluyen los valores de las coordenadas y ayudas a la interpretaci on.

CAP ITULO 1. ANALISIS EN COMPONENTES PRINCIPALES (ACP)

La interpretaci on se hace teniendo en cuenta los vectores propios: Al lado negativo del primer eje se sit uan los caf es con mayores valores en las tres variables, mientras que al lado positivo del segundo eje los de mayor valor en EA y al lado negativo los de mayor valor en Color. Un plano factorial es una aproximaci on de la nube de puntos y como tal tendr a puntos bien representados, pero podr a contener puntos con mala calidad de proyecci on. Se utiliza el coseno al cuadrado que es, para un punto, el cuadrado de la relaci on entre la norma de la proyecci on sobre la norma en el espacio completo. La suma de los cosenos cuadrados sobre todos los ejes factoriales es 1. La distancia de un punto al origen, en el espacio completo, es un buen complemento en la lectura de los ejes factoriales, esta dada por la norma del vector-individuo. Para conocer los individuos que m as inuyen sobre la direcci on de un eje factorial se utiliza el cociente de la contribuci on a la inercia del individuo sobre la inercia total del eje (valor propio). En la gura 1.3 se encuentran los valores de las ayudas a la interpretaci on para el ejemplo caf e. Comandos en R
F <- X %*% U; round(F,2) # coordenadas factoriales round(var(F)*(n-1)/n,3) # varianzas de los componentes dis2 <- diag(F %*% t(F)) # dis^2 al origen cont <- (F*F/n) %*% diag(1/lambda) cos2 <- F*F/dis2 round(data.frame(dis2,F,cont=cont*100,cos2=cos2*100),2) #---------------------------------plano 1-2 plot(F[,1:2],las=1,sub="Plano 1-2",cex=0.8) text(F[,1:2],label=rownames(F),col="blue",pos=4,cex=0.8) abline(h=0,v=0,col="darkgrey")

1.1. ACP PASO A PASO CON EL EJEMPLO CAFE

O40M C40C

O40C O20M O20C OE C20C CE

F2

C40M C20M

3 3

0 F1

Caf e CE C40M C40C C20M C20C OE O40M O40C O20M O20C

d 3.61 7.31 1.53 2.47 1.49 6.24 1.98 1.75 1.51 2.12

Coordenadas y ayudas a la interpretaci on Coordenadas Contribuci on F1 F2 F1 F2 F1 0.89 1.68 3.80 34.19 21.80 2.68 0.22 34.72 0.60 98.20 1.18 0.15 6.78 0.26 91.45 1.14 1.02 6.31 12.77 52.75 0.44 0.82 0.95 8.23 13.20 2.47 0.04 29.49 0.02 97.70 0.98 1.01 4.60 12.44 48.09 0.15 1.31 0.10 20.98 1.21 1.04 0.65 5.24 5.07 71.67 1.29 0.67 8.00 5.43 78.22

Cosenos2 F2 Plano 77.89 99.69 0.67 98.87 1.39 92.84 42.41 95.16 45.42 58.62 0.02 97.73 51.72 99.81 98.65 99.86 27.58 99.25 21.10 99.32

Figura 1.3: Primer plano factorial del ACP normado del ejemplo caf e

S-ar putea să vă placă și