Estoy utilizando los datos de la liquidación diaria para obtener los niveles de rendimiento de un par de productos. A partir de estos datos, estoy haciendo PCA en una colección continua de los niveles de rendimiento. He estado usando la función PCA de sci-kit learn, pero también veo el problema cuando hago mi propio PCA a través de Numpy. Así que por lo que sé no es un problema de las bibliotecas.
Después de obtener los vectores, resuelvo las ecuaciones lineales de manera que las dos primeras componentes principales sumen 0. Esto se hace estableciendo uno de los pesos = 1,0
He aquí un ejemplo. Tengo datos para 150 liquidaciones y calculo los PC's usando los datos del día 0-100, luego recalculo 10 días después en los datos 10-110, etc.
Cuando hago esto obtengo un gráfico de los PC's
Y aquí están los pesos correspondientes.
Matemáticas relevantes: Después de realizar el PCA obtengo la matriz de componentes $~ \left( \begin{array}{ccc} a & b & c \\ d & e & f \\ g & h & i \end{array} \right) $ De aquí tomo los dos primeros vectores $[a, b, c]$ y $[d, e, f]$ . Que luego convierto en la ecuación $Ax = B$ que se parece a esto $~ \left( \begin{array}{ccc} a & c \\ d & f \end{array} \right) \left(\begin{array}{ccc} x_1 \\ x_3 \end{array} \right) = \left(\begin{array}{ccc} b \\ e \end{array} \right)$
Como puede ver el $x_1$ , $x_3$ los pesos empiezan a explotar en algún momento, lo que no tiene mucho sentido dada la naturaleza de los datos.
¿Alguien tiene alguna idea de mi problema?
0 votos
Cuando dices "un par", ¿quieres decir realmente 2? Tus componentes segundo y tercero parecen estar extremadamente correlacionados (negativamente), lo que sugiere que podrías tener algún tipo de dependencia lineal.