Verwendung von Varimax-gedrehten PCA-Komponenten als Prädiktoren für die lineare Regression

8

Nach der PCA beschreibt die erste Komponente den größten Teil der Variabilität. Dies ist wichtig, z. B. bei der Untersuchung von Körpermaßen, bei denen allgemein bekannt ist (Jolliffe, 2002), dass die PC1-Achse Größenschwankungen erfasst. Meine Frage ist, ob PCA-Scores nach Varimax-Rotation dieselben Eigenschaften beibehalten oder sich unterscheiden, wie in diesem Thema erwähnt ?

Da ich PCA-Scores für weitere statistische Analysen benötige, frage ich mich, ob Varimax benötigt wird, und stört dies tatsächlich die Darstellung der realen Stichprobenvariabilität, sodass einzelne Scores auf gedrehten Achsen nicht aussagekräftig sind oder zu einer Fehlinterpretation der Realität führen?

Könnte jemand auch andere Referenzen zu diesem Thema vorschlagen?

Workflows in R:

  1. PCA ( FactoMineRoder prcomp) -> Einzelne Punkte extrahieren -> Punkte in das Feld eingebenlm
  2. PCA ( FactoMineroder prcomp) -> Varimax auf Ladematrix -> Berechnen Sie die einzelnen Bewertungen -> geben Sie die Bewertungen in die einlm
  3. FA ( psych, Varimax- und PCA-Extraktionsmethode) -> einzelne Scores extrahieren -> Scores in das Feld eingebenlm

Ohne Rotation (1.) betragen die Prozentsätze der erklärten Variabilität auf den ersten drei Achsen 29,32, 5,6, 3,2. 2. und 3. Lösungen ergeben ähnliche Prozentsätze für die ersten drei Faktoren, dh 12.2, 12.1, 8.2. Natürlich neigt die 1. Lösung dazu, alle hohen variablen Belastungen auf die erste Achse zu drücken, während 2. und 3. dazu neigen, die Belastungen auf die Achsen zu verteilen (was der Grund für die Drehung ist). Ich wollte wissen, ob diese drei Workflows gleich wichtig sind, da die einzelnen Bewertungen für gedrehte und nicht gedrehte Achsen unterschiedlich sind.

Fedja Blagojevic
quelle
Der Zweck der Rotation besteht darin, die Variabilität zwischen den Komponenten aufzuteilen, sodass dies nicht mehr der Fall ist. Ich bin mir nicht sicher, was Sie unter "Störung der Darstellung der realen Stichprobenvariabilität" verstehen, aber die Rotation ändert nicht den Anteil der Varianz, der in jedem Element durch die Komponenten erklärt wird.
Jeremy Miles
2
Die Drehung erfolgt ausschließlich zur Interpretation der Komponenten. Die Interpretation ist nur im Kontext des "latenten Variablenmodells" erforderlich, dh wenn Sie eine Komponente als Faktor behandeln , = nehmen Sie PCA als Faktoranalyse [eine zulässige, wenn auch kontroverse Entscheidung]. Ist das dein Fall?
ttnphns
1
Wie richtig zitiert hier , nach einer Drehung Komponenten nicht mehr hierarchisch geordnet werden können (1. ist der stärkste, 2. neben hinter ...). Insgesamt (multivariat) gehen jedoch keine Informationen bei der Rotation verloren. Daher sind die Bewertungen aller extrahierten Komponenten nach der Rotation genauso wertvoll wie vor der Rotation.
ttnphns
Ich musste mich nur über etwas sicher sein und habe meinen Workflow in R.
Fedja Blagojevic am
Ja, ich benutze PCA als EFA, aber ich habe es auch mit EFA versucht.
Fedja Blagojevic

Antworten:

7

Standardisierte Hauptkomponenten (nach Einheitsvarianz) nach einer orthogonalen Drehung, wie z. B. Varimax, sind einfach rotierte standardisierte Hauptkomponenten (mit "Hauptkomponente" meine ich PC-Scores). Bei der linearen Regression hat die Skalierung einzelner Prädiktoren keine Auswirkung, und das Ersetzen von Prädiktoren durch ihre linearen Kombinationen (z. B. über eine Rotation) hat ebenfalls keine Auswirkung. Dies bedeutet, dass in einer Regression eine der folgenden Optionen verwendet wird:

  • "rohe" Hauptkomponenten (Projektionen auf die Cov. Matrix-Eigenvektoren),
  • standardisierte Hauptkomponenten,
  • gedrehte [standardisierte] Hauptkomponenten,
  • beliebig skalierte gedrehte [standardisierte] Hauptkomponenten,

R2

Die Gesamtvarianz, die von den rohen und von den gedrehten PCs erfasst wird, ist dieselbe.

Dies beantwortet Ihre Hauptfrage. Sie sollten jedoch mit Ihren Arbeitsabläufen vorsichtig sein, da es sehr leicht zu Verwirrung kommt und die Berechnungen durcheinander bringt. Der einfachste Weg, um standardisierte gedrehte PC-Scores zu erhalten, ist die Verwendung der folgenden psych::principalFunktion:

 psych::principal(data, rotate="varimax", nfactors=k, scores=TRUE)

Ihr Workflow Nr. 2 kann schwieriger sein als Sie denken, da die Belastungen nach der Varimax-Drehung nicht orthogonal sind. Um die Ergebnisse zu erhalten, können Sie die Daten nicht einfach auf die gedrehten Belastungen projizieren. Siehe meine Antwort hier für Details:

Ihr Workflow Nr. 3 ist wahrscheinlich auch falsch, zumindest wenn Sie sich auf die psych::faFunktion beziehen . PCA wird nicht ausgeführt. Die fm="pa"Extraktionsmethode bezieht sich auf die "Hauptfaktor" -Methode, die auf PCA basiert, jedoch nicht mit PCA identisch ist (es handelt sich um eine iterative Methode). Wie ich oben geschrieben habe, müssen Sie psych::principalPCA durchführen.

In meiner Antwort im folgenden Thread finden Sie einen detaillierten Bericht zu PCA und Varimax:

Amöbe
quelle
Danke für die freundlichen Worte, @Cbhihe. Ich bin mir ziemlich sicher, dass Mods keine Antwort als akzeptiert markieren können. Wenn Sie das OP (Fedja) erreichen möchten, sollten Sie unter seiner Frage und nicht unter meiner Antwort einen Kommentar abgeben. dann wird er über Ihren Kommentar informiert. Es sieht so aus, als ob er immer noch auf SE aktiv ist ("zuletzt gesehen" auf SO heute).
Amöbe
@Mods, können Sie diese Antwort "akzeptieren", ohne dass OP Punkte sammelt (aus gutem Grund, da OP dies versäumt hat)? Es wäre ein Dienst an der Gemeinschaft. Wenn es Mods nicht möglich ist, dies zu tun, werde ich einen Meta-Thread starten, um diese Art von Situation zu diskutieren, in der eine SEHR gute Antwort von OP vernachlässigt und daher weniger sichtbar gemacht wird. Last but not least: Danke, Amöbe. +1
Cbhihe
@Cbhihe Es ist wirklich nicht möglich. Wenn Sie also einen Meta-Thread starten möchten, können Sie fortfahren. Dies könnte eine interessante Diskussion sein.
Amöbe
Sie haben Recht mit Mods, die in diesem Fall nicht bereit sind, anstelle von OP zu handeln. Zu diesem Thema gibt es nicht wenige Meta-Posts, und das Problem besteht, soweit ich das beurteilen kann, so lange, wie SE existiert. Ein echtes Problem ohne eine gute Lösung. Das Mitleid. Prost.
Cbhihe