Componentes principales
Eliseo Martínez Herrera
1. Introducción
Uno de los objetivos principales del análisis de datos multivariante es la reducción del
número de la dimensionalidad, no queriendo con esto decir que basta encontrar una vari-
able en función lineal, o de otro tipo de relación, para reducir la dimensión en 1. Más
que eso, de una dimensión de p variables intentar reducir la dimensión a r < p, pero de
tal forma que no ocurra una gran pérdida de información. El llamado análisis en compo-
nentes principales tiene ese objetivo. Dada n observaciones de p variables, se construye un
método para reemplazar esas p variables por otro número reducido de nuevas variables y
que en definitiva son combinaciones lineales de las originales, y que además estas nuevas
variables expliquen en un gran porcentaje la variabilidad original. De otra forma, para fijar
ideas supongamos, a modo de ejemplo, que tenemos un gran número de variables que las
podemos reducir a un 20% del número original, de tal forma que estas nuevas variables
no estén correlacionadas pero sin embargo pueden explicar más del 85% de la variabilidad
original, teniendo en cuenta que este 20% de ’’nuevas’’ variables se formarán por combi-
naciones de clases de variables originales fuertemente correlacionadas. Y además estas
’’nuevas’’ variables, que reducen la dimensionalidad, en nuestro ejemplo en un 80%, son
las llamadas variables ’’latentes’’ no correlacionadas, y que no son observadas directamente
por los datos, o no se reflejan directamente en la matriz de datos.
2. Planteamiento del problema
Supongamos sin pérdida de generalidad que nuestra matriz de datos X ya está centrada, esto
e = X, de modo que la matriz de varianza y covarianza está dada por S = 1 Xt X.
es X n¡1
Nuestro problema es encontrar un espacio de dimensión más reducida que represente ade-
cuadamente los datos.
Se desea, entonces, encontrar un subespacio menor que p de tal forma que al proyectar
los puntos sobre este nuevo subespacio, los puntos conserven su estructura con la menor
distorsión [Link] que nuestros datos son puntos (o vectores) en el plano esto
es p = 2, y queremos hacer una buena reducción a una dimensión, esto es a una recta. La
Fig. 1 indica la dispersión de puntos en el plano, y una recta que, al parecer, proporciona un
buen resumen de los datos, puesto que la recta pasa cerca de todos los puntos y la distancia
entre ellos se mantiene aproximadamente entre las proyecciones a la recta.
1
Fig. 1
Impondremos la condición de que la distancia de los puntos originales hacia las proyec-
ciones de la recta sea la menor posible. Si consideramos el punto xi cualquiera y una di-
rección fija, digamos a1 , de norma unitaria, entonces la proyección de xi sobre la recta
generada por el vector a1 está dada obviamente por una expresión del tipo zi ¢ a1 , donde
zi = xi1 a1 + ¢ ¢ ¢ + xip ap (1)
y al factor escalar zi a veces se le llama coeficiente de Fourier. Para convencerse de esto
observe la Fig. 2.
Fig. 2
En esta Fig. 2 observamos que el vector u es perpendicular al vector ® a1 , donde de
2
momento el coeficiente escalar ® lo desconocemos, y por lo tanto se satisface que 1 :
u ± a1 = 0
Sin embargo el vector u es la diferencia entre a1 y zi , esto es
u = ® a1 ¡ z1
de modo que
(® a1 ¡ z1 ) ± a1 = 0
® a21 ¡ z1 ± a1 = 0
y pusto que a21 = 1 se concluye que efectivamente el coeficiente de proyección o de Fourier
es el de la ecuación (1).
En consecuencia todos los puntos xi tendrán un coeficiente de proyección de la forma:
zi = xi ± a1 = at1 xi
donde hemos continuado la notación matricial en vez del producto escalar. Y omo lo es-
tablecimos en la Fig. 2 el vector que representa a esta proyección es zi a1 . Definamos por
ri la distancia entre el punto xi y el punto de la proyección correspondiente, esto es zi a1
y puesto que estamos exigiendo que las distancias ri sean mínimas, esto es
Xn Xn
minimizar ri2 = kxi ¡ zi ai k2
i=1 i=1
donde la doble barra denota la norma de un vector.
La Fig. 1 muestra que al proyectar el punto sobre la recta se forma un triángulo rec-
tángulo, donde la distancia del punto a la proyección es precisamente ri , y la distancia de
la proyección al origen es zi , y puesto que la distancia de la hipotenusa esto es del punto
al origen se obtiene mediante (xti xi )1=2 . De manera que podemos aplicar el teorema de
Pitágoras, es decir
xti xi = zi2 + ri2
de manera que si sumamos sobre i, tenemos
Xn Xn Xn
xti xi = zi2 + ri2
i=1 i=1 i=1
Puesto que el primer miembro es constante, en rigor son las filas de la matriz de datos
centrada, de tal forma que las dos sumasP de la derecha que son positivas están acotadas,
n
yPesto significa que minimizar la suma i=1 ri2 es equivalente que maximizar la suma
n 2
i=1 zi . Ahora bien, resulta sencillo verificar que las variable zi tienen media cero. En
efecto, en virtu de (1) tenemos que
n
à n n
!
1X 1 X X
zi = a1 xi1 + ¢ ¢ ¢ + ap xip
n i=1 n i=1 i=1
y puesto que las columnas de la matriz X las hemos supuesto centradas en sus medias, se
tiene que los zi tienen media cero, en consecuencia maximizar la suma de sus cuadrados
equivale a maximizar su varianza. De otra forma, elegiremos un subespacio de proyección
de tal forma que los puntos de proyección tengan varianza máxima. Y esta es la palanca
1 El símbolo ± denota el producto escalar.
3
articuladora de los componentes principales. Para visualizar esta idea, suponga que hemos
elegido otra recta de proyección a la indicada en la Fig. 1, que es como se indica en la
Fig. 3. En ella, intuitivamente, podemos ver que los puntos proyectados tendrán muy poca
variabilidad y por ende perderíamos mucha información si elegimos ese subespacio.
Fig. 3
3. Cálculo de los componentes
3.1 Cálculo del primer componente
En virtud de las ideas intuitivas, descriptivas y geométricas de la sección anterior, debemos
encontrar una determinada dirección de una recta, definida por un vector a1 , de tal modo
que las proyecciones de los puntos definidos por los vectores columnas de la matriz X,
y que llamaremos z1 al vector constituido por estas proyecciones, tenga varianza mínima
entre sus componentes. De otra forma, llamaremos el primer componente principal a la
combinación lineal de las variables originales, las columnas de X, que tengan varianza
mínima. Esto significa que z1 que satisface la ecuación (2) debe tener varianza mínima,
z1 = X a1
Como las columnas de X tienen media cero, también lo tendrá las componentes del
vector z1 , de modo que su varianza es simplemente la suma cuadrática de sus componentes
4
dividido por n ¡ 1, esto es
1 1
z1t z1 = a t Xt X a1 = a1t S a1 (2)
n¡1 n¡1 1
Es claro que podemos maximizar la varianza hasta el infinito simplemente aumentando el
módulo de a1 , y puesto que solamente a1 nos indica la dirección de proyección, podemos,
sin perdidad de generalidad, acotar a1 de tal manera que tenga norma 1, esto es que a1t a1 =
1. De tal forma que con esta restricción vamos a maximizar la expresión de la derecha de
(2), y esto lo hacemos mediante la técnica de Lagrange. Para esto definimos la función
vectorial objetivo a maximizar, que es
¡ ¢
M = a1t S a1 ¡ ¸ a1t a1 ¡ 1
Derivamos esta expresión respecto de las componentes de a1 e igualamos a cero. Se obtiene
@M
= 2Sa1 ¡ 2¸a1 = 0
@ a1
y la solución es
Sa1 = ¸a1 (3)
De esta forma la dirección elegida para proyectar las variables originales, es la indicada por
el autovector a1 de la matriz de varianza y covarianzas S, y además para que efectivamente
la varianza de estas proyecciones sea máxima se tiene que ¸ debe ser el mayor autovalor
de S, y, lo cual es algo extraordinariamente simple, el propio autovalor ¸ es la varianza
de las componentes del vector z1 . De otra forma el radio espectral de la matriz simétrica
semidefinida positiva S es la varianza del componnete principal z1 . En efecto, a1t Sa1 =
¸a1t a1 = ¸
Por otro lado si definimos a los vectores columnas de la matriz X como X1 ; X2 ; :::; Xp ,
y además considerando que a1t = (a1 ; a2 ; ::; ap ) entonces
z1 = a1 X1 + a2 X2 + ¢ ¢ ¢ + ap Xp (4)
Y esta ecuación describle como el primer componente está en función lineal de las p vari-
ables originales, de tal modo que la variabilidad de z1 es máxima. Ahora si aplicamos el
operador varianza a la ecuación (4) y recordando que V ar(Xi) = s2i , nos queda
¸ = a21 s21 + a22 s22 + ¢ ¢ ¢ + a2p s2p
Nota: Este es un resultado que tiene cierta elegancia. En efecto, si suuponemos por un mo-
mento que las columnas de la matriz X están estandarizadas, esto es dividida cada columna
por sus desviaciones estándar, entonces V ar(Xi ) = 1, y puesto que a1 es unitario, se con-
cluye que ¸ = 1
Veamos un ejemplo sencillo.
Ejemplo de las acciones. Busque en la dirección de Internet
[Link]
y en ese lugar baje el fichero llamado Acciones. Este conjunto de datos presenta 34 obser-
vaciones y 3 variables. Las observaciones corresponden a distintas acciones que cotizan en
el mercado continuo español y las variables a tres medidas de rentabilidad de estas acciones
durante un período de tiempo. Las variables son : X1 , la rentabilidad efectiva por dividen-
5
dos, X2 es la proporción de beneficios que va a dividendos y X3 la razón entre precio por
acción y beneficios. Analizando estos datos mediante el programa firstcomp realizado en
el DERIVE, y que está en la ubicación del Internet
http : //[Link]/facultades/csbasicas/Matematicas/academicos/
emartinez/magister/[Link]
Cargando en ese programa los datos del fichero Acciones obtendrá la siguiente matriz de
varianza y covarianzas
0 1
29:09562388 100:4406506 ¡15:70281016
S = @ 100:4406506 576:2292780 ¡18:54627540 A
¡15:70281016 ¡18:54627540 22:56599224
El mayor autovalor de esta matriz resulta ser
¸ = 594:8566052
y el autovector unitario asociado a este autovalor es
¡ ¢
a1 = 0:1756683717 0:9837650412 ¡0:03670104663
Dentro del mismo programa está definida los valores de las proyecciones zi , esto es
3
X
zi = xi j a1 j
i=1
zi = xi1 0:175683717 + xi2 0:9837650412 + xi3 (¡0:03670104663)
donde se verifica que
34
1 X
zi = 594:8566052
33 i=1
3.2 Cálculo del segundo componente
Supongamos ahora que queremos proyectar los puntos de X en un plano, donde el plano
estará definido por dos vectores a1 y a2 , de tal forma que la suma de las varianzas de las
proyeciones z1 = Xa1 y z2 = Xa2 sea máxima. De manera que debemos maximizar la
función
Á = a1t Sa1 + a2t Sa2 ¡ ¸1 (a1t a1 ¡ 1) ¡ ¸2 (a2t a2 ¡ 1) (5)
donse se incorporan las restricciones que deben cumplir los vectores direccinales, esto es
ait ai = 1; i = 1; 2. Derivando respecto de estas direcciones e igualando a cero obtenemos:
@Á
= 2Sa1 ¡ 2¸1 a1 = 0
@ a1
@Á
= 2Sa2 ¡ 2¸2 a2 = 0
@ a2
La solución de este sistema es
Sa1 = ¸1 a1
6
Sa2 = ¸2 a2
que indica que las direcciones a1 y a2 deben ser vectores propios de S. Sustituyendo estos
valores en (5) se concluye que la función tiene su máximo en
Á = ¸1 + ¸2
de modo que ¸1 y ¸2 deben ser los mayores autovalores de la matriz S asociado a los
autovectores a1 y a2 respectivamente.
El resultado importante que se desprende es que las proyecciones z1 y z2 tienen covar-
ianza cero, puesto que los autovectores de una matriz simétrica semidefinida positiva son
ortogonales, esto es a1t a2 = 0, y por lo tanto a1t Sa2 = 0, que es la covarianza entre ambos
vectores.
Veamos un ejemplo.
Encuesta de presupuestos familiares en España. En la misma dirección en el Internet
del ejemplo de las acciones ubique el fichero de datos EPF (encuesta de presupuestos fa-
miliares). Estos datos corresponden a 51 observaciones y 9 variables. Las observaciones
son las provincias españolas más Ceuta y Melilla, que aparecen unidas como una única
provincia, y las variables los nueve epígrafes en los que se desglosa la Encuesta de Pre-
supuestos Familiares en España. Las variables son: X1 = alimentación, X2 = vestido y
calzado, X3 = vivienda, X4 = moviliario doméstico, X5 = gastos sanitarios, X6 = trans-
porte, X7 = enseñanza y cultura, X8 = turismo y ocio, X9 = otros gastos. Las unidades
son gastos promedios anuales por familia en pesetas. Fuente: Encuesta de Presupuestos
Familiares del año 1990/91.
Haciendo leves modificaciones del programa firstcom del DERIVE, podemos calcular
los dos mayores autovalores de la matriz de varianzas y covarianzas con sus respectivos au-
tovectores unitarios asociados. No obstante a la matriz de datos la vamos a ’’suavizar’’ apli-
cando logaritmo natural a cada una de sus entradas. Sobre este nuava matriz procedemos
a calcular los mayores autovalores de la matriz S asociada. De hecho podemos calcular
todos los autovalores, estos son [0.348, 0.010, 0.005, 0.0176, 0.027, 0.013, 0.032, 0.011,
0.006].
Podemos observar que el radio espectral es ¸1 = 0:348 y el segundo autovalor mayor
es ¸2 = 0:032. Los autovectores unitarios asociados a estos autovalores respectivamente
son
¡ ¢
a1 = 0:12 0:18 0:30 0:31 0:46 0:34 0:50 0:31 0:31
¡ ¢
a2 = 0:05 0:16 ¡0:17 0:07 ¡0:21 0:29 ¡0:40 ¡0:17 0:78
De tal manera que las proyecciones de las 51 observaciones en cada una de estas compo-
nentes principales vienen dada por las siguientes fórmulas
z1 = 0:12X1 + 0:18X2 + 0:30X3 + 0:31X4 + 0:46X5
+0:34X6 + 0:50X7 + 0:31X8 + 0:31X9
z2 = 0:05X1 + 0:16X2 ¡ 0:17X3 + 0:07X4 ¡ 0:21X5
+0:29X6 + ¡0:40X7 ¡ 0:17X8 + 0:78X9
¿Qué hemos conseguido con estas proyecciones o nuevas ’’puntuaciones’’? Es en esta sim-
7
ple sumas y restas que dan puntuaciones a z1 y a z2 donde aparecen factores ’’latentes’’ que
caracterizan a las provincias de España. Veamos la interpretación.
Podemos observar que la puntuación z1 es una suma ponderada de todos los gastos, y
donde hay mayor ponderación en X7 (gastos enseñanza y cultura) y X5 (gastos en salud).
En cualquier caso, si ordenamos las 51 puntuaciones para z1 de mayor a menor, quedarán
ordenadas las provincias de España según el factor ’’renta’’. De manera que el primer com-
ponente descubre el factor renta, de otra manera nos indica un ordenamiento de las provin-
cias según su renta. Se puede descubrir que las tres mayores puntuaciones corresponden a
Navarra. Madrid y Barcelona, respectivamente.
La segunda componente la podemos arreglar de la siguiente manera equivalente
z2 = (0:05X1 + 0:16X2 + 0:07X4 + 0:29X6 + 0:78X9 )
¡(0:17X3 + 0:21X5 + 0:40X7 + 0:17X8 )
Y podemos observar que esta variable proyectada es la diferencia entre dos promedios
ponderados aproximadamente, en efecto
0:05 + 0:16 + 0:07 + 0:29 + 0:78 = 1:35
0:17 + 0:21 + 0:40 + 0:17 = 0:95
El primer promedio da mayor peso a X9 (otros gastos) y X6 (transporte). Suponiendo, por
parte de la fuente de encuesta, que otros gastos incluye el envío de dinero a otras provincias,
y pensando que este envío está asociado a gastos en transporte, de manera que podemos
pensar que esta ponderación positiva descubre a las provincias que transfieren dinero fuera
de ella. Y por otro lado, el segundo promedio, la que se resta, da mayor ponderación a X7
(gastos en enseñanza y cultura) y X5 (gastos en salud). De manera que esta puntuación z2 va
aseparar a las provincias que realizan una mayor transferencia de dinero a otras provincias,
de aquellas que transfieren poco pero tienen altos gastos en educación y salud. Realizando
este ordenamiento, es sugestivo que la última provincia en puntuar según este componente
es Barcelona Es decir, realiza poca transferencia a otras provincias y gasta mucho en ed-
ucación y salud (lo que confirma numéricamente una evidencia para quienes conocen la
dinámica catalana). Quien recibe mayor puntuación en esta componente es la provincia de
Zamora.
¡Este es el potencial que tiene el análisis en componentes principales!
3.3 Generalización
La manera de extender estas proyecciones a r > 2 es análoga. Las direcciones para las r
rectas se llaman direcciones principales de los datos y las nuevas variables definidas por
ellas (las fórmulas de las proyecciones) se llaman componentes principales.
Vamos a suponer, en general, que la matriz de los datos X, y por lo tanto la matriz
de varianzas y covarianzas S, tiene rango p, de modo que existirán tantas componentes
principales como valores propios o raíces características ¸1 ; :::; ¸p se tenga de la matriz S,
que vienen definidas por las soluciones del polinomio característico
det (S ¡ ¸ I) = 0
8
y sus vectores asociados son
(S ¡ ¸ I) ai = 0
Los valores ¸i son reales al ser la matriz S simétrica, y por ser una matriz definida positiva
estos autovalores serán positivos. Además si ¸i y ¸j son dos raíces distintas sus autovec-
tores asociados serán ortogonales. Además si S es semidefinida positiva de rango r < p
habría solamente r raíces características positivas, siendo los restantes p ¡ r igual a cero.
Supongamos que formamos la matriz cuadrada A, de dimensión igual al número de
componentes principales que deseamos obtener o si se quiere igual al número de direcciones
principales que vamos a suponer es r, definida como aquella que tiene por columnas los
vectores direccionales, de otra forma sus columnas son los autovectores asociados, entonces
las puntuaciones (componentes principales) que son los valores de las r componentes en
los n individuos viene dada por la matriz Z de dimensión n £ r que satisface la relación
Z = X¢A
t
Observe que A A = I, de tal forma que calcular los componentes principales equivale
a aplicar una transformación ortogonal A a las variables X (ejes originales) para obtener
unas nuevas variables incorrelacionadas entre sí.