2016-04-06 18 views
0

Ich versuche PCA zu verstehen. Ich habe einen 3-dimensionalen Datensatz, ich habe zwei PCA-Modelle gebaut, eines mit 2 Komponenten und das andere mit 3 Komponenten. Ich verstehe jedoch nicht, warum das erklärte Varianzverhältnis für beide PCA-Modelle gleich ist.PCA: das gleiche erklärte Varianzverhältnis für verschiedene Anzahl von Komponenten

Model with 2 components: [ 0.60792494 0.31234679] 
Model with 3 components: [ 0.60792494 0.31234679 0.07972828] 
+0

Angenommen gefunden werden Sie sklearn.decomposition.PCA verwenden (die Frage besser gebildet würde, wenn Sie, dass im Lieferumfang enthalten), sagte die Dokumentation : explained_variance_ratio_: array, [n_components] Prozentsatz der Varianz, der von jeder der ausgewählten Komponenten erklärt wird. Wenn n_components nicht gesetzt ist, werden alle Komponenten gespeichert und die Summe der erklärten Varianzen ist gleich 1.0. Grundsätzlich soll PCA alle Basisfunktionen finden, die den vom Datensatz überspannten Raum konstruieren. Jede Komponente assoziiert mit jeder Basis. – triiiiista

Antwort

2

Wenn die Daten, die Sie ist die gleiche für beide Modelle verwenden, dann waren Sie alle möglichen Komponenten zu verwenden, sollte die erklärte Varianz-Verhältnis zu 1. In Ihrem Fall summieren, wobei die ersten beiden Komponenten erklären ~ 91% der Variation. Da jede PCA-Komponente orthogonal zu den vorherigen Komponenten ist, erklären zusätzliche Komponenten, die Sie hinzufügen, nur die Varianz, die noch nicht erläutert wurde. Somit erklären die ersten 2 Komponenten des 3-Komponenten-Modells die gleiche Menge wie das 2-Komponenten-Modell und die dritte Komponente erklärt zusätzliche 8% der Variation.

Sie Python verwenden, vielleicht eine gute intuitive Einführung und Beispiele in http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html