Ich bin neu im Bereich des maschinellen Lernens, habe aber meinen Teil zur Signalverarbeitung beigetragen. Bitte lassen Sie mich wissen, wenn diese Frage falsch beschriftet wurde.
Ich habe zweidimensionale Daten, die durch mindestens drei Variablen definiert sind, wobei ein stark nichtlineares Modell viel zu kompliziert ist, um es zu simulieren.
Ich hatte unterschiedliche Erfolge beim Extrahieren der beiden Hauptkomponenten aus den Daten mit Methoden wie PCA und ICA (aus der Python-Bibliothek Scikit-Learn), aber es scheint, dass diese Methode (oder zumindest diese Implementierung der Methoden) begrenzt ist um so viele Komponenten zu extrahieren, wie Dimensionen in den Daten vorhanden sind, z. B. 2 Komponenten aus einer 2D-Punktwolke.
Beim Zeichnen der Daten ist dem geschulten Auge klar, dass es drei verschiedene lineare Trends gibt. Die drei Farblinien zeigen die Richtungen.
Bei Verwendung von PCA wird die Hauptkomponente wie erwartet auf eine der Farblinien ausgerichtet und die andere auf 90 °. Bei Verwendung von ICA ist die erste Komponente an der blauen Linie ausgerichtet, und die zweite befindet sich irgendwo zwischen der roten und der grünen. Ich suche ein Werkzeug, das alle drei Komponenten in meinem Signal reproduzieren kann.
BEARBEITEN, Zusätzliche Informationen: Ich arbeite hier in einer kleinen Teilmenge einer größeren Phasenebene. In dieser kleinen Teilmenge erzeugen alle Eingangsvariablen eine lineare Änderung in der Ebene, aber die Richtung und Amplitude dieser Änderung sind nicht linear und hängen davon ab, wo genau in der größeren Ebene ich arbeite. An einigen Stellen können zwei der Variablen entartet sein: Sie bewirken eine Änderung in dieselbe Richtung. Angenommen, das Modell hängt von X, Y und Z ab. Eine Änderung der Variablen X führt zu einer Variation entlang der blauen Linie. Y verursacht eine Variation entlang der grünen Linie; Z, entlang der roten.