O'Reillys "Maschinelles Lernen für Hacker" besagt, dass jede Hauptkomponente einen Prozentsatz der Varianz darstellt. Ich habe den relevanten Teil der folgenden Seite zitiert (Kapitel 8, S.207). Im Gespräch mit einem anderen Experten stimmten sie darin überein, dass es sich um den Prozentsatz handelt.
Die 24 Komponenten summieren sich jedoch auf 133,2095%. Wie kann das sein?
Nachdem wir uns davon überzeugt haben, dass wir PCA verwenden können, wie machen wir das in R? Auch dies ist ein Ort, an dem R leuchtet: Die gesamte PCA kann in einer Codezeile ausgeführt werden. Wir verwenden die Funktion princomp, um PCA auszuführen:
pca <- princomp(date.stock.matrix[,2:ncol(date.stock.matrix)])
Wenn wir nur pca in R eingeben, sehen wir eine kurze Zusammenfassung der Hauptkomponenten:
Call: princomp(x = date.stock.matrix[, 2:ncol(date.stock.matrix)]) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 29.1001249 20.4403404 12.6726924 11.4636450 8.4963820 8.1969345 5.5438308 Comp.8 Comp.9 Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 5.1300931 4.7786752 4.2575099 3.3050931 2.6197715 2.4986181 2.1746125 Comp.15 Comp.16 Comp.17 Comp.18 Comp.19 Comp.20 Comp.21 1.9469475 1.8706240 1.6984043 1.6344116 1.2327471 1.1280913 0.9877634 Comp.22 Comp.23 Comp.24 0.8583681 0.7390626 0.4347983 24 variables and 2366 observations.
In dieser Zusammenfassung geben die Standardabweichungen an, wie viel Abweichung im Datensatz von den verschiedenen Hauptkomponenten verursacht wird. Die erste Komponente, Comp.1 genannt, macht 29% der Varianz aus, während die nächste Komponente 20% ausmacht. Am Ende macht die letzte Komponente, Comp.24, weniger als 1% der Varianz aus. Dies legt nahe, dass wir viel über unsere Daten lernen können, indem wir uns nur die erste Hauptkomponente ansehen.
[Code und Daten finden Sie auf Github .]
R
Software selbst zu verweisen . Diesen Fehler zu finden, war ein guter Fang (ich hoffe, Sie fanden es lohnend, herauszufinden, was mit PCA wirklich los ist)!
Standard deviations
ist ein wenig abweichend. Da es sich bei den Standardabweichungen tatsächlich um Standardabweichungen handelt, müssen wir sie quadrieren, um zu sehen, wie viel von der Varianz jede Komponente darstellt. Die erste Komponente würde Prozent der Gesamtvarianz.