Soy nuevo en el campo del aprendizaje automático, pero he hecho mi parte del procesamiento de señales. Avíseme si esta pregunta se ha etiquetado incorrectamente.
Tengo datos bidimensionales que están definidos por al menos tres variables, con un modelo altamente no lineal demasiado complicado para simular.
He tenido un nivel variable de éxito al extraer los dos componentes principales de los datos utilizando métodos como PCA e ICA (de la biblioteca de Python Scikit-Learn), pero parece que este método (o al menos, esta implementación de los métodos) es limitado para extraer tantos componentes como dimensiones hay en los datos, por ejemplo, 2 componentes de una nube de puntos 2D.
Al trazar los datos, es claro para el ojo entrenado que hay tres tendencias lineales diferentes, las tres líneas de color muestran las direcciones.
Cuando se usa PCA, el componente principal se alinea con una de las líneas de color, y el otro está a 90 °, como se esperaba. Cuando se usa ICA, el primer componente se alinea con la línea azul, y el segundo se encuentra entre los rojos y los verdes. Estoy buscando una herramienta que pueda reproducir los tres componentes en mi señal.
EDITAR, información adicional: estoy aquí trabajando en un pequeño subconjunto de un plano de fase más grande. En este pequeño subconjunto, cada variable de entrada produce un cambio lineal en el plano, pero la dirección y amplitud de este cambio no es lineal y depende de dónde exactamente en el plano más grande en el que estoy trabajando. En algunos lugares, dos de las variables pueden ser degeneradas: producen cambios en la misma dirección. por ejemplo, digamos que el modelo depende de X, Y y Z. Un cambio en la variable X producirá una variación a lo largo de la línea azul; Y provoca una variación a lo largo de la línea verde; Z, a lo largo del rojo.