Thursday 23 November 2017

Varimax Rotation In Stata Forex


Ich lief PCA auf 25 Variablen und wählte die Top 7 PCs mit prcomp. Ich habe dann Varimax-Rotation auf diesen Komponenten gemacht. Und jetzt möchte ich die PCA-gedrehten Daten variieren (da es nicht Teil des varimax-Objekts ist - nur die Ladungsmatrix und die Rotationsmatrix). Ich habe das gelesen, um dies zu tun, multiplizieren Sie die Transponierung der Rotationsmatrix durch die Transponierung der Daten, so dass ich das getan hätte: Aber das macht keinen Sinn, da die Dimensionen der Matrix oben um 7 mal 7 und 7 mal 16933 und so sind Ich werde mit einer Matrix von nur 7 Reihen verlassen, anstatt 16933 Zeilen. Weiß jemand, was ich hier falsch mache oder was meine letzte Zeile sein sollte, muss ich nur noch nachträglich zurückkehren, um 16:00 Uhr um 14:32 Rotationen ist ein Ansatz, der in der Faktorenanalyse entwickelt wurde, dort werden Rotationen (wie zB Varimax) angewendet Zu belastungen Nicht zu Eigenvektoren der Kovarianzmatrix. Loadings sind Eigenvektoren, die durch die Quadratwurzeln der jeweiligen Eigenwerte skaliert werden. Nach der Varimaxrotation sind die Beladungsvektoren nicht mehr orthogonal (auch wenn die Rotation orthogonal genannt wird), so dass man nicht einfach orthogonale Projektionen der Daten auf die gedrehten Laderichtungen berechnen kann. FTusells-Antwort geht davon aus, dass Varimax-Rotation auf die Eigenvektoren angewendet wird (nicht auf Beladungen). Das wäre ziemlich unkonventionell. Bitte beachten Sie meine ausführliche Darstellung von PCAvarimax für Details: Ist PCA gefolgt von einer Rotation (wie zB Varimax) noch PCA Kurz gesagt, wenn wir uns die SVD der Datenmatrix XUSVtop anschauen, dann drehen Sie die Beladung bedeutet, RRtop für eine Rotationsmatrix R einzufügen Wie folgt: X (UR) (Rtop SVtop). Wenn die Rotation auf Beladungen angewendet wird (wie es gewöhnlich ist), dann gibt es mindestens drei einfache Möglichkeiten, um varimax-gedrehte PCs in R zu berechnen: Sie sind leicht über die Funktion psych :: principal verfügbar (was zeigt, dass dies tatsächlich der Standardansatz ist) . Beachten Sie, dass es standardisierte Punkte zurückgibt. D. h. alle PCs haben eine Einheitsabweichung. Man kann manuell eine Varimax-Funktion verwenden, um die Beladungen zu drehen und dann die neuen gedrehten Ladungen zu verwenden, um die Punkte zu erhalten, die man braucht, um die Daten mit der transponierten Pseudo-Inverse der gedrehten Ladungen zu teilen (siehe Formeln in dieser Antwort von ttnphns). Dies ergibt auch standardisierte Punkte. Man kann die Varimax-Funktion verwenden, um die Beladungen zu drehen und dann die Rotmat-Rotationsmatrix zu verwenden, um die mit prcomp erhaltenen standardisierten Scores zu drehen. Alle drei Methoden ergeben das gleiche Ergebnis: Das ergibt drei identische Ausgänge: Ich bin kein R-User, also ist jeder, der mit R vertraut ist, willkommen, um meinen Code-Snippet oben zu bearbeiten, falls nötig. Hinweis: Die Varimax-Funktion in R verwendet standardmäßig TRUE, eps 1e-5 Parameter (siehe Dokumentation). Man könnte diese Parameter ändern (die Eps-Toleranz verringern und auf die Kaiser-Normalisierung achten), wenn man die Ergebnisse mit einer anderen Software wie SPSS vergleicht. Ich danke GottfriedHelms dafür, dass ich dies zur Kenntnis gebracht habe. Anmerkung: Diese Parameter funktionieren, wenn sie an die Varimax-Funktion übergeben werden, aber nicht arbeiten, wenn sie an die psych :: principal-Funktion übergeben werden. Dies scheint ein Fehler zu sein, der behoben werden soll. Beantwortet Feb 9 15 um 22:59 amoeba Vielen Dank für die Erklärung. Ich habe meine Meinung verloren, weil ich dachte, dass die Vervielfältigung die Ladungen war. Darum müssen wir es für die Standardabweichung vervielfachen. Nun können Sie mir die Schritte nach der Varimax-Drehung erklären. Alle Inversionen und die Umsetzung der Matrix Vielen Dank im Voraus. Ndash JMarcelino Okt 3 15 um 11:26 Sie müssen die Matrixbelastungen verwenden. Nicht rotmat: Die Matrixrotmatik ist die orthogonale Matrix, die die neuen Beladungen aus den Unrotierten hervorbringt. BEARBEITEN am 12. Februar 2015: Wie rechts unten von der Amöbe (siehe auch seine vorherige Post sowie eine andere Post von ttnphns) diese Antwort ist nicht richtig. Betrachten wir eine ntimes m-Datenmatrix X. Die singuläre Wertzerlegung ist X USVT, wobei V als Spalten die (normalisierten) Eigenvektoren von XX hat. Nun ist eine Rotation eine Änderung der Koordinaten und ist das Schreiben der obigen Gleichheit wie folgt: X (UST) (TTVT) UV mit T ist eine orthogonale Matrix, die gewählt wird, um ein V nahe an spärlich zu erreichen (maximaler Kontrast zwischen Einträgen, lose gesprochen). Nun, wenn das alles wäre. Was es nicht ist, könnte man die Gleichheit oben durch V nachvervielfachen, um Punkte U als X (V) T zu erhalten, aber natürlich drehen wir niemals alle PC. Vielmehr betrachten wir eine Untermenge von kltm, die noch eine anständige Rang-k-Näherung von X, X ca. (UkSk) (VkT) liefert, so dass die gedrehte Lösung nunmehr X ca. (UkSkTk) (TkTVkT) UkVk ist, wobei jetzt Vk ein Ktimes n ist Matrix. Wir können nicht mehr einfach X durch die Transponierung von Vk multiplizieren, sondern wir müssen auf eine der von Amoeba beschriebenen Lösungen zurückgreifen. Mit anderen Worten, die Lösung, die ich vorgeschlagen habe, ist nur im Einzelfall korrekt, wo es nutzlos und unsinnig wäre. Herzlichen Dank an die Amöbe, um mir diese Frage klar zu machen, dass ich seit Jahren mit diesem Missverständnis gelebt habe. Ein Punkt, an dem die Anmerkung oben von der Amoebaspost abweicht, ist, dass sie scheint, S mit V in L zu assoziieren. Ich denke in PCA ist es üblicher, Vs Spalten der Norm 1 zu haben und S in den Hauptkomponentenwerten zu absorbieren. In der Tat werden in der Regel solche als lineare Kombinationen viTX (i1, ldots, m) der ursprünglichen (zentrierten, vielleicht skalierten) Variablen, die vi1 unterliegen, dargestellt. Jeder Weg ist akzeptabel, denke ich, und alles dazwischen (wie in der biplotischen Analyse). WEITER BEARBEITEN 12. Februar 2015 Wie von Amöben hervorgehoben, obwohl Vk rechteckig ist, könnte die vorgeschlagene Lösung noch akzeptabel sein: Vk (Vk) T würde eine Einheitsmatrix und X (Vk) T um Uk geben. So scheint es alles an der Definition von Partituren zu liegen, die man bevorzugt. Antwortete 17. Mai 13 um 7:44 -1. Ich glaube, dass diese Antwort nicht korrekt ist und ich meine eigene Antwort veröffentlicht habe, um es zu demonstrieren. Man kann nicht durch orthogonale Projektion auf die gedrehten Ladungen gedreht werden (weil sie nicht mehr orthogonal sind). Der einfachste Weg, um die richtigen Punkte zu erhalten, ist, psych :: principal zu benutzen. Abgesehen davon habe ich Ihre Antwort bearbeitet, um die Skalierung einzufügen, wie in den obigen Kommentaren beschrieben. Ndash amoeba Feb 9 15 at 23: 01Faktoranalyse Varimax Rotation Varimax Rotation ist die häufigste der Rotationen, die verfügbar sind. Hierbei handelt es sich um eine Skalierung der Beladungen. Wir werden die Beladungen skalieren, indem wir sie durch die entsprechende Kommunion wie folgt unterscheiden: Hier ist das Laden der i-ten Variablen auf den j-ten Faktor nach der Drehung, wo ist die Kommunalität für die Variable i. Was wir tun wollen, ist, die Rotation zu finden, die diese Menge maximiert. Die Varimax-Prozedur, wie unten definiert, wählt die Drehung aus, um diese maximale Größe zu finden: Dies ist die Stichprobenabweichung der standardisierten Belastungen für jeden Faktor, summiert über die m-Faktoren. Unser Ziel ist es, eine Faktorrotation zu finden, die diese Varianz maximiert. Rückkehr zu den Optionen der Faktor-Prozedur (blau markiert): Drehen fragt nach Faktor Rotation, und hier haben wir die Varimax-Rotation unserer Faktor-Ladungen angegeben. Handlung fragt nach der gleichen Art von Handlung, dass wir nur auf die gedrehten Faktoren schauen. Das Ergebnis unserer Rotation ist ein neues Faktor-Muster, das unten gegeben wird (Seite 11 des SAS-Ausgangs): Das Ergebnis unserer Rotation ist ein neues Faktor-Muster, das unten angegeben wird: Hier ist eine Kopie von Seite 10 aus dem SAS-Ausgang hier. Am Anfang der Seite 10 der Ausgabe, oben, haben wir unsere orthogonale Matrix T. Die Werte dieser gedrehten Faktorbelastungen im SAS Output haben wir hier kopiert: Die Gesamtmenge der Variation, die durch die 3 Faktoren erklärt wird, bleibt gleich. Der Gesamtbetrag der von beiden Modellen erläuterten Variation ist identisch. Rotationen, unter einer festen Anzahl von Faktoren, ändert nicht, wieviel der Variation durch das Modell erklärt wird. Wir bekommen gleich gut fit, unabhängig davon, welche Drehung verwendet wird. Allerdings bemerken Sie, was mit dem ersten Faktor passiert ist. Hier sehen Sie eine ziemlich große Abnahme der Variation, die durch den ersten Faktor erklärt wird. Das zeigt, was hier geschieht Wir haben eine sauberere Interpretation der Daten erhalten, aber man kann es nicht tun, ohne dass es uns irgendwo etwas kostet. Was es hier getan hat, ist, die Variation zu erklären, die durch den ersten Faktor erklärt wird, und verteilt sie unter die beiden letztgenannten Faktoren, in diesem Fall meistens auf den zweiten Faktor. Die Gesamtmenge der Variation, die durch das Rotationsfaktormodell erklärt wird, ist die gleiche, aber die Beiträge sind nicht die gleichen aus den einzelnen Faktoren. Wir gewinnen eine sauberere Interpretation, aber der erste Faktor wird nicht so viel von der Variation zu erklären. Dies würde jedoch nicht als besonders große Kosten angesehen werden, wenn wir uns noch für diese drei Faktoren interessieren. Was wir hier zu tun versuchen, ist unsere Interpretation aufzuräumen. Idealerweise, wenn das gut funktioniert, was wir finden sollten, ist, dass die Zahlen in jeder Spalte entweder weit weg von Null oder nahe bei Null sein werden. Wenn wir eine Menge von Zahlen in der Nähe von einem oder negativen oder null in jeder Spalte haben, wäre dies die ideale oder sauberste Interpretation, die man erhalten könnte und das ist es, was wir in einer der Rotationen der Daten zu finden versuchen. Allerdings sind Daten selten diese kooperative Erinnerung: Unser Ziel hier ist nicht Hypothese Test aber Daten Interpretation. Der Erfolg der Analyse kann beurteilt werden, wie gut es Ihnen hilft, Ihre Interpretation zu machen. Wenn das dir nicht hilft, dann ist die Analyse ein Fehler. Wenn es Ihnen einen Einblick in das Muster der Variabilität in den Daten gibt, dann haben wir eine erfolgreiche Analyse. Klicken Sie auf Weiter, um diese Lektion fortzusetzen. Kopie 2004 Die Pennsylvania State University. Alle Rechte vorbehalten.

No comments:

Post a Comment