Packages
Für das Lösen der Aufgaben müssen die R-Pakete
likert
, lavaan
und
psych
mit folgenden Befehlen geladen werden:
Die Daten von Holzinger und Swineford aus dem Jahr 1939 werden in
vielen Lehrmitteln als Illustrationsbeispiel für Faktorenanalysen
verwendet. Sie umfassen neun manifeste Variablen zur Messung von
psychischen Leistungsfähigkeiten. In R
können die Daten mit
dem folgenden Befehl geladen werden:
Bei der Stichprobe handelt es sich um 301 Siebt- oder Achtklässler von zwei Schulen. Die neun manifesten Variablen zu psychischen Leistungsfähigkeiten können in folgende drei Subdimensionen unterteilt werden:
Die Werte der manifesten Variablen variieren zwischen 0 und 10. Zusätzlich zu den neun manifesten Variablen zu psychischen Leistungsfähigkeiten umfassen die Daten die Variablen Geschlecht, Alter, Schule und Schulstufe.
Legen Sie zur Vereinfachung der Analyse mit R
ein neues
data.frame
an, welches nur die neun Variablen x1, x2, x3,
x4, x5, x6, x7, x8 und x9 beinhaltet.
Legen Sie zur Vereinfachung der Analyse mit R ein neues data.frame an, welches nur die neun Variablen x1, x2, x3, x4, x5, x6, x7, x8 und x9 beinhaltet.
dat.HS1939 <- HolzingerSwineford1939[, c("x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9")]
head(dat.HS1939)
## x1 x2 x3 x4 x5 x6 x7 x8 x9
## 1 3.333333 7.75 0.375 2.333333 5.75 1.2857143 3.391304 5.75 6.361111
## 2 5.333333 5.25 2.125 1.666667 3.00 1.2857143 3.782609 6.25 7.916667
## 3 4.500000 5.25 1.875 1.000000 1.75 0.4285714 3.260870 3.90 4.416667
## 4 5.333333 7.75 3.000 2.666667 4.50 2.4285714 3.000000 5.30 4.861111
## 5 4.833333 4.75 0.875 2.666667 4.00 2.5714286 3.695652 6.30 5.916667
## 6 5.333333 5.00 2.250 1.000000 3.00 0.8571429 4.347826 6.65 7.500000
Betrachten Sie die univariate Verteilung der neun manifesten Variablen, sowie die deren paarweisen Beziehungen. Welcher Korrelationskoeffizient erscheint Ihnen für diese Anwendung am geeignetsten? Ist die Unterteilung der Subdimensionen in den Daten ersichtlich?
Hinweis: Verwenden Sie die Funktion pairs.panels()
des
Pakets psych
.
Betrachten Sie die univariate Verteilung der neun manifesten Variablen, sowie die deren paarweisen Beziehungen. Welcher Korrelationskoeffizient erscheint Ihnen für diese Anwendung am geeignetsten? Ist die Unterteilung der Subdimensionen in den Daten ersichtlich?
Univariate Verteilungen: Die Werte streuen ungefähr symmetrisch um den Mittelwert. Die Verteilungen der Variablen x3 und x4 sind etwas inhomogen. Es gibt keine sogenannte Boden- oder Deckeneffekte.
Paarweise Beziehungen: Die Variablen x4, x5 und x6 der Subdimension verbale Intelligenz weisen die stärksten paarweisen Beziehungen aus. In den Streudiagrammen und bei den Pearson-Stichprobenkorrelationen ist erkennbar, dass Variablen innerhalb der Subdimensionen stärker korrelieren. Die Zusammenhänge sind nicht immer linear, siehe beispielsweise das Streudiagramm für x5 und x6. Folglich scheint der Spearman-Korrelationskoeffizient die geeignetste Wahl. Der Pearson-Korrelationskoeffizient ist aber ebenfalls vertretbar.
Ermitteln Sie die geeignete Anzahl latente Variablen für die neun manifesten Variablen unter Verwendung des Scree-Plots. Verwenden Sie für die dafür benötigte Stichprobenkorrelationsmatrix den Pearson-Korrelationskoeffizient.
Hinweis: Verwenden Sie für den Scree-Plot die Funktion
scree()
des Pakets psych
. Setzen Sie dabei das
Argument factors = "none"
(diese Option wurde in der
Vorlesung nicht besprochen). Übergeben Sie der Funktion
scree()
als erstes Argument die zuvor berechnete
Stichprobenkorrelationsmatrix.
Ermitteln Sie die geeignete Anzahl latente Variablen für die neun manifesten Variablen unter Verwendung des Scree-Plots. Verwenden Sie für die dafür benötigte Stichprobenkorrelationsmatrix den Pearson-Korrelationskoeffizient.
## x1 x2 x3 x4 x5 x6 x7
## x1 1.00000000 0.29734551 0.44066800 0.3727063 0.29344369 0.3567702 0.06686392
## x2 0.29734551 1.00000000 0.33984898 0.1529302 0.13938749 0.1925319 -0.07566892
## x3 0.44066800 0.33984898 1.00000000 0.1586396 0.07719823 0.1976610 0.07193105
## x4 0.37270627 0.15293019 0.15863957 1.0000000 0.73317017 0.7044802 0.17382912
## x5 0.29344369 0.13938749 0.07719823 0.7331702 1.00000000 0.7199555 0.10204475
## x6 0.35677019 0.19253190 0.19766102 0.7044802 0.71995554 1.0000000 0.12110170
## x7 0.06686392 -0.07566892 0.07193105 0.1738291 0.10204475 0.1211017 1.00000000
## x8 0.22392677 0.09227923 0.18601263 0.1068984 0.13866998 0.1496113 0.48675793
## x9 0.39034041 0.20604057 0.32865061 0.2078483 0.22746642 0.2141617 0.34064572
## x8 x9
## x1 0.22392677 0.3903404
## x2 0.09227923 0.2060406
## x3 0.18601263 0.3286506
## x4 0.10689838 0.2078483
## x5 0.13866998 0.2274664
## x6 0.14961132 0.2141617
## x7 0.48675793 0.3406457
## x8 1.00000000 0.4490154
## x9 0.44901545 1.0000000
Der Scree-Plot weist auf eine Lösung von 3 latenten Variablen hin. Die ersten drei Eigenwerte sind grösser als 1, und die Eigenwerte flachen ab der vierten Komponente ab (sogenannter “Ellbogen”). Diskutierbar wäre auch eine Lösung mit 2 latenten Variablen, da die Reduktion der Eigenwerte zwischen der zweiten und dritten Komponenten sehr schwach ist.
Passen Sie ein exploratives Faktorenmodell basierend auf der Pearson-Korrelation und 3 latenten Variablen an. Betrachten Sie dafür nichtrotierte Ladungen: Sind diese konsistent mit der inhaltlichen Trennung der manifesten Variablen in die 3 Subdimensionen?
Hinweis: Verwenden Sie für die Anpassung des explorativen
Faktorenmodells die Funktion fa()
des Pakets
psych
. Übergeben sie der Funktion als erstes Argument die
Pearson-Korrelationsmatrix. Für die Festlegung der Anzahl latenter
Variablen muss das Argument nfactors
angepasst werden.
Setzen Sie das Argument rotate
auf FALSE
, um
nichtrotierte Ladungen zu erhalten. Die Ladungen können mittels
resultat$loadings
extrahiert werden, wobei hier
resultat
als Platzhalter für den Namen des angepassten
Faktorenmodells steht.
Alternativ können Sie die Ladungen mittels der Plot-Funktion
fa.diagram
des Pakets psych
darstellen. Damit
alle Ladungen dargestellt werden die grösser als 0.2 betragen, verwendet
man die Argumente cut = 0.2
und
simple = FALSE
.
Passen Sie ein exploratives Faktorenmodell basierend auf der Pearson-Korrelation und 3 latenten Variablen an. Betrachten Sie dafür nichtrotierte Ladungen: Sind diese konsistent mit der inhaltlichen Trennung der manifesten Variablen in die 3 Subdimensionen?
Faktorenmodell:
efm.HS1939 <- psych::fa(r = cor.HS1939, nfactors = 3, rotate = "none")
print(efm.HS1939$loadings, cutoff = 0.2)
##
## Loadings:
## MR1 MR2 MR3
## x1 0.576 0.342
## x2 0.308 0.388
## x3 0.400 0.309 0.444
## x4 0.769 -0.355
## x5 0.751 -0.404
## x6 0.763 -0.327
## x7 0.308 0.433 -0.486
## x8 0.394 0.541 -0.270
## x9 0.505 0.453
##
## MR1 MR2 MR3
## SS loadings 2.827 1.215 0.816
## Proportion Var 0.314 0.135 0.091
## Cumulative Var 0.314 0.449 0.540
Illustration:
Die nichtrotierten Ladungen sind nicht konsistent mit der
inhaltlichen Trennung der manifesten Variablen in Subdimensionen. Die
erste latente Variable MR1 ladet relativ stark auf alle manifesten
Variablen, am stärksten auf die Variablen x4
.
x5
und x6
der Subdimension Visualisierung. Die
stärksten Ladungen der latenten Variablen MR2 bzw. MR3
verteilen sich ebenfalls auf manifeste Variablen aller drei
Subdimensionen. Einige Ladungen von MR2
und
MR3
sind negativ.
Achtung: Offenbar gibt es je nach Version des Pakets Abweichungen bei den Bezeichnungen der latenten Variablen. Interpretieren Sie dann die Resultate sinngemäss.
Wiederholen Sie die Anpassung des explorativen Faktorenmodells, indem Sie die orthogonale Faktorenrotation varimax verwenden. Betrachten Sie die resultierenden Ladungen. Sind diese nun konsistent mit der inhaltlichen Trennung der manifesten Variablen?
Hinweis: Setzen sie das Argument rotate
auf
"varimax"
.
Wiederholen Sie die Anpassung des explorativen Faktorenmodells, indem Sie die orthogonale Faktorenrotation varimax verwenden. Betrachten Sie die resultierenden Ladungen. Sind diese nun konsistent mit der inhaltlichen Trennung der manifesten Variablen?
efm.HS1939.varimax <- psych::fa(r = cor.HS1939, nfactors = 3, rotate = "varimax")
print(efm.HS1939.varimax$loadings, cutoff = 0.2)
##
## Loadings:
## MR1 MR3 MR2
## x1 0.279 0.613
## x2 0.494
## x3 0.660
## x4 0.832
## x5 0.859
## x6 0.799 0.214
## x7 0.709
## x8 0.699
## x9 0.415 0.521
##
## MR1 MR3 MR2
## SS loadings 2.187 1.342 1.329
## Proportion Var 0.243 0.149 0.148
## Cumulative Var 0.243 0.392 0.540
Die inhaltliche Trennung der manifesten Variablen in Subdimensionen
ist nun in den Ladungen abgebildet. Die stärksten Ladungen auf
x1
, x2
und x3
stammen von der
latenten Variablen MR3, auf x4
, x5
und
x6
von MR1
und auf x7
,
x8
und x9
von MR2
. Andererseits
gibt es sogenannte Querladungen. Dabei fällt insbesondere die relativ
starke Querladung von 0.415 der latenten Variablen MR3
auf
x9
auf.
Achtung: Offenbar gibt es je nach Version des Pakets Abweichungen bei den Bezeichnungen der latenten Variablen. Interpretieren Sie dann die Resultate sinngemäss.
Wiederholen Sie nochmals die Anpassung des explorativen Faktorenmodells, indem Sie die nichtorthogonale Faktorenrotation oblimin verwenden. Warum könnte eine nichtorthogonale Faktorenrotation helfen? Betrachten Sie die resultierenden Ladungen. Sind diese nun konsistent mit der inhaltlichen Trennung der manifesten Variablen?
Hinweis: Setzen sie das Argument rotate
auf
"oblimin"
.
Wiederholen Sie nochmals die Anpassung des explorativen Faktorenmodells, indem Sie die nichtorthogonale Faktorenrotation oblimin verwenden. Warum könnte eine nichtorthogonale Faktorenrotation helfen? Betrachten Sie die resultierenden Ladungen. Sind diese nun konsistent mit der inhaltlichen Trennung der manifesten Variablen?
efm.HS1939.oblimin <- psych::fa(r = cor.HS1939, nfactors = 3, rotate = "oblimin")
print(efm.HS1939.oblimin$loadings, cutoff = 0.2)
##
## Loadings:
## MR1 MR3 MR2
## x1 0.592
## x2 0.509
## x3 0.686
## x4 0.846
## x5 0.886
## x6 0.805
## x7 0.737
## x8 0.686
## x9 0.382 0.456
##
## MR1 MR3 MR2
## SS loadings 2.197 1.275 1.239
## Proportion Var 0.244 0.142 0.138
## Cumulative Var 0.244 0.386 0.523
Die inhaltliche Trennung der manifesten Variablen in Subdimensionen
ist wiederum in den Ladungen abgebildet. Im Vergleich zu den Ladungen
mit der varimax Faktorenrotation sind die Querladungen deutlich tiefer.
Allerdings ist die Differenz zwischen den Ladungen auf x9
kleiner als 0.2, und deshalb sollte gemäss Daumenregel der Vorlesung
diese manifeste Variable von der Analyse ausgeschlossen werden.
Achtung: Offenbar gibt es je nach Version des Pakets Abweichungen bei den Bezeichnungen der latenten Variablen. Interpretieren Sie dann die Resultate sinngemäss.
Betrachten Sie die Kommunalitäten des angepassten explorativen Faktorenmodells. Beachten Sie, dass Kommunalitäten unabhängig von der verwendeten Faktorenrotation gleich bleiben. Bei welchen Variablen wird der Haupteil der Gesamtvarianz durch die latenten Variablen erklärt? Welche Variablen werden am schlechtesten repräsentiert?
Hinweis: die Kommunalitäten können mittels
resultat$communalities
extrahiert werden, wobei hier
resultat
als Platzhalter für den Namen angepassten
Faktorenmodells steht.
Betrachten Sie die Kommunalitäten des angepassten explorativen Faktorenmodells. Beachten Sie, dass Kommunalitäten unabhängig von der verwendeten Faktorenrotation gleich bleiben. Bei welchen Variablen wird der Haupteil der Gesamtvarianz durch die latenten Variablen erklärt? Welche Variablen werden am schlechtesten repräsentiert?
## x1 x2 x3 x4 x5 x6 x7 x8
## 0.4767563 0.2552282 0.4534504 0.7279282 0.7537252 0.6913468 0.5185572 0.5201777
## x9
## 0.4604671
Bei den Variablen x4
, x5
, x6
,
x7
und x8
liegt die Kommunalität über 50%,
d.h. dass der Hauptteil der Gesamtvarianz durch die latenten Variablen
erklärt wird. Besonders schlecht repräsentiert wird die Variable
x2
, die entsprechende Kommunalität beträgt lediglich
0.255.
Aus der Vorlesung kennen Sie Daumenregeln dafür, wie auf Basis der Ladungen manifeste Variablen von der Analyse ausgeschlossen werden könnten. Gibt es beim angepassten Modell mit der oblimin Faktorenrotation manifeste Variablen, für welche ein Ausschluss unbedingt nötig wäre oder zumindest diskutiert werden sollte?
Bei allen manifesten Variablen ist die stärkste Ladung grösser als
0.4. Die Ladungen sind also alle gross genug. Die eine Querladung
spricht dafür, x9
von der Analyse auszuschliessen (siehe
Übung 7).