Matroids Matheplanet Forum Index
Moderiert von Kleine_Meerjungfrau Monkfish epsilonkugel
Mathematik » Stochastik und Statistik » Principal Components Analysis - wie bereite ich die Daten richtig vor?
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Principal Components Analysis - wie bereite ich die Daten richtig vor?
Lucky_7
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 21.01.2018
Mitteilungen: 172
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-01-26


Ich bin gerade dabei das Prinzip der Principal Component Analysis (PCA) zu verstehen.

Dabei interessiert mich vor allem: Wenn ich eine PCA in Python mithilfe von sklearn umsetzen möchte, warum muss ich dann meine Daten vor der PCA skalieren?

Folgende Zeile sehe ich immer wieder:
Python
x = StandardScaler().fit_transform(x)

Was bewirkt diese Zeile?
Betrachten wir dazu als Beispiel einmal ein zweidimensionales Dataset: Ich trage in einem Graphen das Gewicht vs die Höhe mehrer Menschen auf. Nun zentriere ich meine Daten um den Koordinatenursprung. Hierzu betrachte ich jede Achse einzeln, zum Beispiel die Gewichte: Von jedem Gewicht (Sample) ziehe ich nun den Mittelwert aus allen Gewichten ab. Genauso verfahre ich mit der Höhe. Meine Daten sind nun um den Koordinatenursprung zentriert.
Weiterhin stellt diese Python-Zeile sicher, dass die Standardabweichung meiner Daten 1 beträgt. Wie das? Ich betrachte wieder jede Achse einzeln, beginnen wir mit den Gewichten: Ich teile nun jedes Gewicht durch die Standardabweichung aller Gewichte. Damit habe ich sichergestellt, dass die Standardabweichung nunmehr 1 beträgt.

Frage: Warum ist diese Normalisierung der Standardabweichung so wichtig?

Ich verstehe, warum die Daten um den Koordinatenursprung bzw. einem Mittelwert von 0 zentriert werden müssen. Aber warum die Standardabweichung 1 betragen soll, will mir einfach nicht einleuchten.

Das hat nicht zufällig damit etwas zu tun, dass bei der PCA der ermittelte Eigenvektor der jeweiligen PC auf 1 normalisiert wird?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
schnitzel
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 26.02.2009
Mitteilungen: 174
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-01-26


Hi,


Was bewirkt diese Zeile?
Es lohnt sich wirklich die sklearn Seite anzusehen. Dort gibt es viele Erklärungen, Beispiele und Vergleiche:
hier

 

Frage: Warum ist diese Normalisierung der Standardabweichung so wichtig?

PCA ist eine lineare Dimensionsreduktion, d.h. man möchte Dimensionen, mit möglichst wenig Informationsverlust, loswerden. "Gemessen" wird Information bei PCA mit Varianz. Bei deinem Beispiel: Nimm eine Ursprungsgerade und projeziere deine Punktwolke darauf. Wähle die Gerade, die die Varianz der Punkte maximiert.
Du kannst dir ja mal anschauen was passiert, wenn du Eigenschaften wie Gewicht einmal in Gramm oder in Kilogramm messen würdest, bzw. wenn Feature auf komplett unterschiedlichen "Skalen" liegen.

Gruß



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Lucky_7 hat die Antworten auf ihre/seine Frage gesehen.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]