artificial intelligence

Análisis de Componentes Principales

j3

31/03/2014

No Comments

PCA es una técnica utilizada para reducir la dimensionalidad de un conjunto de datos hallando las causas de variabilidad del conjunto y ordenándolos por importancia.

>¿Cómo?

Si tienes una serie de observaciones (características, medidas, etc) que se pueden proyectar en un plano (X,Y), como por ejemplo:


i1Puedes volver a representar el gráfico anterior a partir de los ejes X* e Y*, que siguen siendo ortogonales.


i2>Muy bien, ¿y eso para qué?

Espera. Si tus observaciones fuesen estas:


i3Y haces el mismo cambio de base, X* Y*:


i4Resulta que puedes explicar todas las observaciones en una única dimensión la de X*. El eje Y* no aporta nada porque no contiene información y se puede obviar.

>¿Eso porque  Y* es igual a cero?

No, porque toma el mismo valor para todas las observaciones.

>Y has reducido las dimensiones de 2 a 1.

Exacto, y sin perder información.

>¿Y cómo obtienes los ejes X* e Y*?

El primer componente principal (X*) se define como la combinación lineal de las variables originales que tiene varianza máxima. Los valores en este primer componente se representarán como:

E1
Donde  O es la matriz de observaciones que tiene media cero, y por lo tanto también X*.

E2
Donde S es la matriz de varianzas y covarianzas de las observaciones. E imponiendo la restricción a’1a1=1 y mediante el multiplicador de Lagrange:

E4
>ZZZZzzzzz!

Maximizar la expresión supone derivar respecto  a1 e igualar a cero.

E5
Que resulta ser Sa1=λa1 donde  a1 es un autovector de la matriz λ su correspondiente autovalor.

>Ufff, álgebra? ¿Resumiendo?

Tienes que encontrar la recta X* tal que su distancia ortogonal a los puntos sea mínima. X* contendrá la mayor variabilidad de los datos y por ello es la primera componente principal.

>¿Y con Y*?

Tomas uno que sea ortogonal a X*, y será tu segunda componente principal.

>Está bien, puedo hacer un cambio de base y representar los puntos en el plano de otra forma y ordenar por importancia pero….  ¿no tendrás un ejemplo por ahí?

Dados 4 activos 2 de renta fija y otros 2 de renta variable. Si tomamos los valores de rentabilidad, volatilidad y máximo drawdown, tenemos la siguiente matriz O.

t1
i5

>WoW, 3 dimensiones!!

Puedes transformar esa representación a otra de 2 dimensiones sin perder nada si por ejemplo, la volatilidad y el máximo drawdown (MDD) aportan la misma información al conjunto, o sea si están correlacionadas.

Los autovalores asociados a la matriz de covarianzas normalizadas de O son:


t2Y la representación de las nuevas componentes se relaciona con las variables originales, así:


t3Tomando casi el 100% de la información contenida en O…


i6Has reducido la dimensionalidad manteniendo las relaciones entre las series. Esto te permite visualizar la situación de los activos en el plano en dos nuevos ejes, uno que mide el riesgo como combinación de la volatilidad y del MDD y otro que mide la ganancia.

>Interesante ¿Y puedo añadir más dimensiones?

Sí, ahí está la potencia de PCA que puedes trabajar con múltiples dimensiones y entender los datos a partir del subconjunto más representativo.

>Y ¿podrían ser tus N dimensiones N activos de un conjunto y las observaciones sus rendimientos? ¿Y si cada autovalor agrupa a los activos más cercanos, podrías filtrar duplicidades y construir universos ricos con el menor número de elementos?

Sí, supongo que sí.

>Y dado un Asset Allocation tal que:

E7
donde x son pesos y R rendimientos de n activos, y si la primera componente principal de la matriz de covarianzas de los n activos es aquella que contiene la mayor información, ¿su autovector asociado, da lugar a los pesos  que maximizan la varianza de la variable W?

Ufff, ¡demasiado por hoy!

Read this post in English!

add a comment

wpDiscuz