Fragen zur Interpretation der Ergebnisse und Scores der Faktorenanalyse

Ich versuche, die Faktorenanalyse zu lernen, und ich dachte, es wäre eine gute Idee, die Berechnung für IQ-Werte mit einem Datensatz von Dummy-Werten sehr schlecht "nachzuahmen", um "am Beispiel zu lernen".

Zunächst möchte ich Folgendes tun, und ich weiß nicht, ob diese Methode richtig ist oder nicht: Ich habe die Ladungen für diesen Faktor bestimmt. Jetzt, da ich die Ladungen habe, möchte ich eine Punktzahl für jedes der Samples generieren. Das wird mir eine Population von Werten hinterlassen, die ich dann um einen Mittelwert von 100 herum standardisieren kann. Von dort aus würde ich eine Normalverteilung zeichnen. Immer wenn ich ein neues Sample erhalte, kann ich eine Punktzahl dafür generieren und sehen, wo es in der Verteilung liegt.

Um meine Ergebnisse zu erhalten, verwende ich die Sklearn-Bibliothek von Python, insbesondere die FactorAnalysisKlasse. Mir ist aufgefallen, dass die FactorAnalysisKlasse eine score_samples()Methode hat. Die Ausgabepunktzahl für jede Stichprobe ist die Log-Wahrscheinlichkeit der Stichprobe.

Hier sind einige der Fragen, die ich habe:

  • Ist mein Ansatz zur Generierung einer Verteilung basierend auf den Faktorwerten der Stichproben fehlerhaft? Wie machen sie das in der Praxis?

  • Ist die Log-Wahrscheinlichkeit einer Stichprobe überhaupt ein angemessener Wert? (Wenn nicht, welche alternativen Möglichkeiten gibt es, um eine Probe zu bewerten?)

  • Ich habe die Werte mit der Methode für alle Proben generiert score_samples(), aber sie liegen zwischen -4 und -49. Gibt es einen Grund, warum sie negativ sein würden?

  • Wenn Sie nur nach 1 latenten Faktor suchen, ist es eine gute Praxis, die Anzahl der Faktoren auf 1 zu setzen, oder sollten Sie sie sowieso nicht angeben?

Hier sind die Belastungen, wenn ich die Anzahl der Faktoren auf 1 lasse:

            Factor 1
variable 1  0.082558
variable 2  0.107940
variable 3  0.199645
variable 4  0.612495
variable 5  0.623707

Hier sind die Belastungen, wenn ich die Anzahl der Faktoren nicht angebe:

             Factor 1   Factor 2   Factor 3  Factor 4  Factor 5       
variable 1   0.263914   0.426346  -0.012893   -0.0       0.0
variable 2   0.297078   0.415269  -0.002193    0.0      -0.0
variable 3   0.243590  -0.005131   0.085178   -0.0      -0.0
variable 4   0.487537  -0.224135  -0.019501   -0.0      -0.0
variable 5   0.484462  -0.248173  -0.008902    0.0       0.0

Antworten (1)

Ist mein Ansatz zur Generierung einer Verteilung basierend auf den Faktorwerten der Stichproben fehlerhaft? Wie machen sie das in der Praxis?

Ich fand das etwas schwierig zu folgen. Aber im Allgemeinen sollten Sie in der Lage sein, eine Reihe von Testergebnissen unter Verwendung einer multivariaten Normalverteilung zu approximieren, wobei die Kovarianzmatrix positive Korrelationen zwischen allen Tests impliziert. Einige mögen größer und andere kleiner sein, aber die Idee ist, dass alle Fähigkeitstests korrelieren. Und die allgemeine geistige Leistungsfähigkeit kann als erster unrotierter Faktor geschätzt werden, der sich aus solchen Tests ergibt.

Ist die Log-Wahrscheinlichkeit einer Stichprobe überhaupt ein angemessener Wert? (Wenn nicht, welche alternativen Möglichkeiten gibt es, um eine Probe zu bewerten?)

Das klingt eher so, wie Sie ein Modell bewerten. ZB wie Sie faktoranalytische Lösungen auswerten. Im Allgemeinen sind die durch den Faktor gespeicherten Punktzahlen eine gewichtete Zusammensetzung der Punktzahlen der Komponententests.

In R können Sie verwendenfactanal

factanal(x, factors, data = NULL, covmat = NULL, n.obs = NA,
         subset, na.action, start = NULL,
         scores = c("none", "regression", "Bartlett"),
         rotation = "varimax", control = NULL, ...)

Siehe die scoresArgumentation. Es gibt ein paar verschiedene Methoden.

Ich habe die Scores mit der Methode score_samples() für alle Samples generiert, aber sie liegen zwischen -4 und -49. Gibt es einen Grund, warum sie negativ sein würden?

Python kenne ich nicht. Aber im Allgemeinen werden faktorgespeicherte Scores typischerweise so quantifiziert, dass sie Z-Scores sind (z. B. Mittelwert = 0, sd = 1).

Wenn Sie nur nach 1 latenten Faktor suchen, ist es eine gute Praxis, die Anzahl der Faktoren auf 1 zu setzen, oder sollten Sie sie sowieso nicht angeben?

Sie müssen entweder nur einen Faktor extrahieren oder sicherstellen, dass Sie keine Rotation auf die Extraktionsfaktoren anwenden. Ohne Rotation entspricht der erste Faktor nur einem Faktor. Wenn Sie rotieren, wird die Variation auf die extrahierten Faktoren verteilt.

Ich verstehe, danke. Ich verwende jetzt R und es ist viel besser für die Faktoranalyse. Ich nehme an, die einzige Frage, die ich noch habe, ist, wie man die Partituren richtig indexiert? Ich habe die Analyse durchgeführt und habe die Faktorwerte, bin mir aber nicht sicher, wie ich sie tatsächlich indizieren soll.
@tear728 mit Index, meinst du, "wie extrahierst du sie und fügst sie deiner Datendatei hinzu?
@Jeremy Anglim vielleicht war Index nicht der richtige Begriff. Ich meinte Index wie beim Erstellen einer Verteilung basierend auf den Scores, aber dann habe ich in Ihrer Antwort festgestellt, dass die Faktor-Scores Z-Scores sind, also reicht das aus. Es gibt jedoch noch einen letzten Teil, bei dem ich eine Klärung brauche. Also habe ich die Faktoranalyse durchgeführt, die Ladungen und die Faktorwerte für jede Stichprobe in der Grundgesamtheit ermittelt. Angenommen, es erscheint jedoch eine neue, individuelle Stichprobe von Rohdaten. Wie würde ich diese einzelne Probe richtig bewerten? Wenn es hilft, kann ich dies stattdessen als neue Frage stellen.
Sicher. Stellen Sie vielleicht eine separate Frage und posten Sie den Link hier, damit ich gepingt werde.
Hier ist die neue Frage ... danke für jede Hilfe: psychologie.stackexchange.com/questions/20404/…