Wie geht eine Hauptkomponentenanalyse mit Python?
Wie geht das?
1 Antwort
Du führst erst eine Singular Value Decomposition (SVD) durch mittels beispielsweise SciPi oder numpy.
X = USV^T;
Daraus kannst du dann die Kovarianzmatrix bilden:
XX^T = US²U^T
Siehe auch:
https://math.stackexchange.com/questions/3869/what-is-the-intuitive-relationship-between-svd-and-pca
P.S.: Evtl. haben numpy oder SciPi sogar schon fertige Funktionen um die hauptachsenzerlegung zu bestimmen.
Wenn du damit nichts anfangen kannst ist das natürlich wenig sinnvoll.
Was möchtest du denn machen?
Naja ich habe ein paar tausend Graphen, bei denen ich besondere x-Werte finden wollte, die für den Verlauf entscheidend sind. Und ich dachte, da bekomme ich Werte heraus, die ich auch selbst sehen kann. (Denn es gibt Werte in der Kurve, da kann ich sehen, okay, hier liegen bei ganz vielen Graphen Wendepunkte vor). Aber die gefundenen Werte liegen alle da wo einfach nur linearer Anstieg stattfindet.
Dann möchtest du keine Hauptkomponentenanalyse sondern eine Ähnlichkeitsanalyse.
Die Hauptkomponenten sagen dir ja quasi nur, in welcher Richtung Daten wie stark verteilt sind.
Das würde dir dann ja nur umkehert vielleicht etwwas bringen, idem du die Richtungen wählst, in denen am wenigsten Streuung geschieht.
Du willst aber wohl eher die Graphen vergleichen und Gemeinsamkeiten finden. Da wäre wohl "Curve Fitting" das, was du suchst.
Wobei das wahrscheinlich auch nicht ganz passt, aber von da kommst du wahrscheinlich eher an dein Ziel würde ich vermuten.
Das weiß ich nicht, da gibt es diverse. ich würde erst einmal irgendein Curve Fitting nehmen, da sleicht zugünglich ist, und schauen, ob das überhaupt tut,w as du willst.
Habe ich so gemacht und habe mit sklearn ein PAckage gefunden, dass PCA beinhaltet. Leider verstehe ich das Ergebnis nicht. Schade auch. Mal gucken, was man noch tun kann.