Author

Urs

Code anzeigen
    library(psych)
    library(tidyverse)
    library(EFAtools)
    library(psychTools)
    library(GPArotation)
    library(psychometric)
    library(ctv)
    library(mnormt)
    library(haven)
    library(gt)
    library(DT)
    library(knitr)
    library(corrplot)
    library(paran)
library(parameters)

    WSI <- read_sav("~/Library/CloudStorage/OneDrive-Lycéesetcentresprofessionnelsneuchâtelois/10 - Studium/1 - FHNW/Statistik 1/Faktoren Analyse/WSI.sav")

    # Die ersten drei Zeilen werden ausgeschlossen, da es sich dabei um allgemeine Angaben handelt
    WSI_Ready <- WSI %>% 
      dplyr::select(-c(1:3))
    
     #embed-resources: true
    #self-contained-math: true

Explorative Faktorenanalyse

Ich versuche im folgendem diesem Ablauf zu folgen:

Figure 1: Ablaufschema der explorativen Faktorenanalyse

Es soll die Annahme exploriert werden, ob die angenommene Struktur mit drei latenten Faktoren bestätigt werden kann.

Deskriptive Statistik

Der Datensatz beinhaltet 1575 Beobachtungen von 71 Variablen. Damit wäre die erste Voraussetzung aus Figure 1 bereits erfült; wir haben mehr als 300 Beobachtungen. Die Items können in die folgenden Kategorien eingeteilt werden:

Figure 2: Übersicht über die Kategorien der Items

Folgende Tabelle zeigt die wichtigsten deskriptiven Werte der einzelnen Items über alle Beobachtungen an.

Code anzeigen
describe(WSI_Ready) %>% 
  dplyr::add_rownames(var="Item") %>% 
  arrange(vars) %>% 
  mutate(across(c("mean", "sd","trimmed", "skew", "kurtosis", "se" ), round, digits=3)) %>% 
  dplyr::select(-vars, -mad) %>% 
  datatable()

Kaiser-Meyer-Olkin Test

Code anzeigen
KMO <- KMO(WSI_Ready)

Für den Datensatz kann ein KMO Wert von 0.902 festgestellt werden, was für einen exzellenten Fit der Daten für eine FA gilt.

Note

Kaiser-Meyer-Olkin Koeffizient (KMO)

Der KMO Test ist ein Mass dafür, wie gut Daten für eine Faktorenanalyse geeignet sind. Dabei wird die gemeinsame Varianz aller Items bestimmt. Werte zwischen 0 und 1 sind möglich, je grösser desto besser, unter .6 wird als nicht akzeptabel angesehen. Quelle

Betrachtet man die einzelenen Item-Werte der Analyse, so lässt sich feststellen, dass kein Wert unter 0.812 fällt und dass mensch davaon ausgehen kann, dass alle Items sehr gut in diese Skala passen.

Damit ist der zweite Punkt der Checkliste von Figure 1 erfüllt.

Code anzeigen
kable(round(KMO$KMO_i[1:36], digits=3))
kable(round(KMO$KMO_i[37:71], digits=3))
x
ANT_Item16 0.846
ANT_Item8 0.850
ANT_Item11 0.855
ANT_Item4 0.819
ANT_Item1 0.909
ANT_Item14 0.837
ANT_Item7 0.840
ANT_Item12 0.880
ANT_Item13 0.878
ANT_Item17 0.902
ANT_Item18 0.895
ANT_Item3 0.883
ANA_Item5 0.827
ANA_Item1 0.887
ANA_Item4 0.868
ANA_Item3 0.839
ANA_Item7 0.877
ANA_Item8 0.921
ANA_Item6 0.862
ANA_Item11 0.926
SE_Item3 0.881
SE_Item10 0.870
SE_Item5 0.902
SE_Item7 0.874
SE_Item9 0.902
SE_Item11 0.875
SE_Item13 0.860
SE_Item1 0.890
ZR_Item4 0.898
ZR_Item2 0.812
ZR_Item11 0.833
ZR_Item7 0.923
ZR_Item5 0.917
ZR_Item6 0.813
ZR_Item8 0.862
QV_Item2 0.866
x
QV_Item4 0.924
QV_Item13 0.907
QV_Item1 0.915
QV_Item5 0.915
QV_Item11 0.854
QV_Item17 0.916
QV_Item12 0.895
RP_Item5 0.866
RP_Item6 0.915
RP_Item8 0.922
RP_Item2 0.918
RP_Item15 0.932
RP_Item12 0.934
RP_Item7 0.934
RP_Item1 0.943
ABW_Item9 0.898
ABW_Item2 0.899
ABW_Item8 0.902
ABW_Item10 0.890
ABW_Item7 0.910
ABW_Item6 0.940
ABW_Item3 0.899
ABW_Item11 0.885
SN_Item2 0.928
SN_Item9 0.921
SN_Item5 0.936
SN_Item10 0.900
SN_Item6 0.926
SN_Item7 0.866
MR_Item5 0.928
MR_Item4 0.922
MR_Item7 0.934
MR_Item6 0.921
MR_Item10 0.928
MR_Item9 0.927

Item Werte der KMO Analyse

Multikollinearität

Code anzeigen
bart <- cortest.bartlett(cor(WSI_Ready), n=1575)

Bei der Durchführung einer Faktorenanalyse muss darauf geachtet werden, dass die Items untereinander keine allzu hohe und auch keine zu tiefe Korrelation aufweisen. Sie sollten durchaus etwas korreliert sein, da sie ein ähnliches Konstrukt messen sollten, aber auch nicht zu hoch, da sie ansonsten redundant sind.

Die visuelle Inspektion der Korrelationsmatrix bei 71 Items gestaltet sich sowohl schwierig darzustellen, als auch zu kontrollieren. Die folgende Visualisierung enthält alle Korrelationen farbcodiert und es lässt sich feststellen, dass alle Items schwach bis mittel positiv miteinander korrelieren.

Code anzeigen
corrplot(cor(WSI_Ready), type = "lower", method = "color", tl.pos = 'n', diag = FALSE)

Figure 3: Korrelationsmatrix mit Farbcodierung

Ein erster Test zur Überprüfung der Korrelationen unter Items ist der Bartlett-Test, welcher die Hypothese überprüft, dass alle Korrelationen 0 sind. Bei den WSI-Daten erhalten wir einen Chi-Square Wert von 1.6654026^{4} und einen p-Wert von 0, womit dieser Test Korrelationen zwischen den Daten anzeigt.

Code anzeigen
det <- cor(WSI_Ready) %>% 
  determinant(logarithm = FALSE)

Um auszuschliessen, dass die Korrelationen zu hoch sind, kann die Derteminante der Korrelationsmatrix analysiert werden. Diese müsste grösser als 0.00001 sein. In unserem Fall beträgt diese 2.1488339^{-5}, was eiegentlich für zu hohe Korrelationen sprechen würde, aber mir aufgrund der Visualisierung nicht schlüssig erscheint oder ich habe die verwendete Funktion nicht richtig verstanden.

Faktorenextraktion

Mittels der folgenden Analyseverfahren sollen die zu extrahierenden Faktoren ermittelt werden. Ein Schlüsselkonzept hierbei ist der Eigenwert eines Faktors. Dieser Wert drückt den Anteil an der Gesamtvarianz aus, welcher durch die dem Faktor zugeordneten Variablen erklärt werden können.

Note

Eigenwert

(Symbol: λ) n. ein numerischer Index, der häufig in der Faktorenanalyse und der Hauptkomponentenanalyse verwendet wird und den Anteil der Gesamtvarianz zwischen mehreren korrelierten Variablen angibt, der auf eine grundlegendere, zugrunde liegende Variable oder ein Konstrukt zurückzuführen ist. Ein Eigenwert kann als die Summe der quadrierten Faktorladungen für alle Variablen berechnet werden. Eigenwerte sind von zentraler Bedeutung in der linearen Algebra (d. h. der Matrixalgebra). Quelle

Kaiser-Guttman Kriterium

Code anzeigen
KGC_PCA <- KGC(cor(WSI_Ready), eigen_type="PCA")

Dieses Kriterium besagt, dass nur Faktoren berücksichtigt werden sollen, die einen Eigenwert von mindestens 1 aufweisen Quelle. Ursprünglich wurde dieses Kriterium für eine Hauptkomponentenanalyse definiert. Die Hauptkomponentenanalyse (PCA) identifiziert Komponenten, die die grösstmögliche Varianz in den Daten erklären und untereinander nicht korreliert sind. Demgegenüber versucht die Faktorenanalyse (FA) latente Faktoren zu finden, die Kovarianzen und Korrelationen zwischen den Variablen erklären. Es handelt sich also um zwei unterschiedliche Herangehensweisen: Entweder möchte mensch die Gesamtvarianz auf möglichst wenige Komponenten verteilen oder mensch sucht Faktoren, die die Gemeinsamkeiten zwischen den Variablen erklären.

Der Unterschied kann auch mit Hilfe der Kommunalität ausgedrückt werden, welche die gemeinsame Varianz der Items darstellt \(h^2\). Bei einer PCA wird diese von vorn herein auf 1 gesetzt und nicht weiter aufgeteilt. Bei einer Faktorenanalyse wird die Kommunalität weiter aufgeteilt in die Uniqueness, Einzigartigkeit jedes Items, \(1-h^2\), welche ihrerseits in die spezifische Varianz und den Messfehler aufgeteilt werden kann (Figure 4)

Figure 4: Schma zur Varianzaufteilung und Kommunalität

Die folgende Tabelle zeigt die Faktorladungen der ersten 19 Faktoren einer PCA.

Eigenwert
8.049
3.563
2.475
1.526
1.433
1.418
1.296
1.267
1.250
1.190
Eigenwert
1.144
1.131
1.105
1.080
1.070
1.056
1.050
1.031
1.017

Eigenwerte der ersten 19 Faktoren mit einer PCA

Der Scree-Plot hierzu sieht wie folgt aus:

Figure 5: Scree-Plot der PCA Lösung

Auch wenn diese Kriterium ursprünglich für die PCA entwickelt wurde, kann es auch mit einer Korrelationsmatrix, welche die Kommunalitäten der Faktoranalyse verwendet, eingesetzt werden. Auch wenn die Autoren der Funktion darauf hinweisen, dass die Ergebnisse weniger exakt sein könnten, als die einer Parallelanalyse, fallen die Resultate praktisch gleich aus (Vergleiche mit folgendem Abschnitt)

Code anzeigen
KGC_PFA <- KGC(cor(WSI_Ready), eigen_type="EFA")
round(KGC_PFA$eigen_EFA[1:6], digits=3) %>% 
  as.tibble() %>%
  rename(Eigenwert=value) %>% 
  gt() 
Eigenwert
7.189
2.628
1.618
0.644
0.593
0.496
Table 1: Kommunalitäten der sechs extrahierten Faktoren

Und der Scree-Plot für diese Lösung

Figure 6: Scree Plot der Eigenwerte unter Berücksichtigung der Kommualitäten

Parallelanalyse

Das Kaiser-Guttmann-Kriterium beinhaltet die bereits oben angesprochene Problematik der Missachtung von Messfehlern. Eine weitere Möglichkeit zu einer präziseren Schätzung der zu extrahierenden Faktoren zu gelangen besteht in der Anwendung einer Parallelanalyse. Diese vergleicht die Korrelationsmatrix der Stichprobe mit einer Korrelationsmatrix eines Nullmodels (bspw. mit unkorrelierten Variablen). Dadurch sollte eine genauere Faktorenschätzung erzielt werden.

Danger

Eine Parallelanalyse hat die Tendenz bei hoch-korrelierten Variablen, die Anzahl der Faktoren zu unterschätzen.

Quelle: PARALLEL Funktionsbeschreibung nach Braeken & van Assen, 2017

An diesem Punkt war ich zutiefst verunsichert, da die Parallelanalyse ja eigentlich genauere Resultate liefern sollte und ich aufgrund der Aufgabe immer mit einer Lösung nahe bei drei rechnete. Ich habe die Analyse mit drei verschiedenen Tools durchgeführt (EFATools, psych und paran), welche alle Lösungen von +/- 10 Faktoren ergaben. Was grundsätzlich Sinn machen würde, da der Datensatz über 9 skalen verfügt. Allerdings kann bei einer Betrachtung der Eigenwerte auch festgestellt werden, dass meist immer eine Lösung vorliegt, die drei Faktoren nahelegen würde, was sich an den Eigenwerten von über 1 ablesen lässt. Die Argumentation, dass es 10 Skalen, aber eben auch drei hierarchisch höherliegende Faktoren zu geben scheint, liesse sich wohl durchaus vertreten.

Alle drei Analysen verwenden das 95 Perzentil der simulierten Eigenwerte um die Wahrscheinlichkeit der Überschätzung der Faktoren zu vermeiden, wie dies von Glorfeld (1995) vorgeschlagen wurde. Die Analyse wurde schliesslich mit dem paran Package durchgeführt, 1000 Iterationen für die Vergleichsmatrix und die Axtraktionsmethode CFA, welche für eine Faktoranalyse steht.

Die folgen Reiter lassen die verschiedenen Screeplot anzeigen und im letzten Tab können noch die drei Faktorlösungen numerisch verglichen werden.

Code anzeigen
paran1 <- paran(WSI_Ready, iterations = 1000, centile = 95, cfa = TRUE, quietly = TRUE, graph = TRUE, status = FALSE)

Using eigendecomposition of correlation matrix.

Figure 7: Plot der Parallelanalyse mit dem paran Package

Es werden 12 Faktoren behalten.

Eine letzte Möglichkeit zur Parallelanalyse habe ich noch mit dem paran Package gefunden. In der Beschreibung zu diesem Package, als auch bei Eid et al. -Eid, Gollwitzer, and Schmitt (2017) bin ich noch auf die Methode von Glorfeld gestossen, welcher vorgeschlagen hat mindestens 50 Datensätze zu erzeugen und nur die Eigenwerte beizubehalten, die über dem 0.95 Perzentil liegen. Der Analyse liegen 100 Iterationen zugrunde und nur Eigenwerte, welche diesem Kriterium entsprechen wurden beibehalten.

Die paran-Funktion gibt einen unkorrigierten Eiegnwert, als auch eine korrigierte Version, wobei die Korrektur den “Bias”finite sample bias” korrigieren soll.

Wie bereits angesprochen, sprechen die Eigenwerte durchaus für eine Lösung mit drei Faktoren.

Code anzeigen
cbind(paran1$Ev[1:10], paran1$AdjEv[1:10]) %>% 
  as.data.frame() %>% 
  rename("unkorrigiert"=V1, "korrigiert"=V2) %>% 
  round(digits=3) %>% 
  kable(caption = "Eigenwerte der Parallelanalyse")
unkorrigiert korrigiert
7.283 6.759
2.748 2.266
1.722 1.268
0.765 0.335
0.706 0.296
0.586 0.195
0.489 0.115
0.476 0.118
0.438 0.096
0.383 0.056
Table 2: Vergleich der Eigenwerte
Code anzeigen
vss <- vss(WSI_Ready, n=15, rotate = "none", fm="minres", plot=FALSE)

Mit der VSS Funktion (Very Simple Structure) liegt noch eine weitere Möglichkeit vor, um die Zahl der Faktoren zu bestimmen. Hierbei werden zwei weitere Möglichkeiten eingeführt, die Anzahl der Faktoren zu bestimmen: Die Namensgebende VSS und das MAP Kriterium. Ich habe mir nicht die Mühe gemacht, zu versuchen zu verstehen, wie diese genau funktionieren, sondern berichte die Ergbnisse nur noch als weiteren Hinweis zur Faktorenbestimmung.Weitere Erklärungen

Die Funktion wurde wie folgt spezifiziert: 15 zu extrahierende Faktoren (ausgehend von der Lösung der Parallelanalyse, muss der Funktion eine grössere Anzahl Faktoren vorgegeben werden), keine Rotation, minres als Faktormethode

Damit konnten die folgenden Lösungen gefunden werden: Die VSS Komplexität 1 findet eine Lösung mit 3 Faktoren bei einem maximalen Wert von 0.4794757 Die VSS Komplexität 2 findet eine Lösung mit 3 Faktoren bei einem maximalen Wert von 0.5786587 Die MAP Funktion findet eine Lösung mit 3 Faktoren bei einem minimlaen Wert von 0.001903

Der folgende Plot zeigt grafsich die Lösungen der VSS-Werte mit den Maxima bei 3.

Figure 8: Plot der VSS Lösungen für Komplexität 1 und 2

Faktorenanalyse

Nachdem nun die ersten Untersuchungen zu der Anzahl der Faktoren abgeschlossen ist, geht es um die genauere Inspektion der zu extrahierenden Faktoren. Verwendet wird die Funktion fa aus dem psych Package.

Note

Die Kommunalität (“Gemeinsamkeiten”) beschreibt den Anteil an der Gesamtvarianz einer Variablen, der durch alle Faktoren gemeinsam erklärt werden kann. Die Kommunalität gibt folglich an, in welchem Ausmass eine Variable durch die Faktoren erklärt wird. Wie die Kommunalitäten bestimmt werden, hängt von der gewählten Extraktionsmethode ab. Bei einer orthogonalen Rotation entspricht sie der Summe der quadrierten Faktorladungen. Quelle

Aufgrund der gestellten Aufgabe und der Analysen werde ich von drei Faktoren ausgehen. Aufgrund der Informationen in der Funktionsberschreibung von fa werde ich als Extraktionsvariante “minres” verwenden. Es wird eine orthogonale Varimax Rotation und eine oblique Promax Rotation, welche dem Pendant in SPSS entsprechen sollte. Alle weiteren Optionen belasse ich auf den default Angaben.

Code anzeigen
pa1 <- fa(WSI_Ready, fm="minres", nfactors = 3, rotate = "varimax")

Der Tucker Lewis Index weist auf einen eher problematischen Fit hin (sollte >0.9 sein), RMSEA (<0.05) ist erfüllt .


Factor analysis with Call: fa(r = WSI_Ready, nfactors = 3, rotate = "varimax", fm = "minres")

Test of the hypothesis that 3 factors are sufficient.
The degrees of freedom for the model is 2275  and the objective function was  2.65 
The number of observations was  1575  with Chi Square =  4107.43  with prob <  1.3e-108 

The root mean square of the residuals (RMSA) is  0.03 
The df corrected root mean square of the residuals is  0.03 

Tucker Lewis Index of factoring reliability =  0.859
RMSEA index =  0.023  and the 10 % confidence intervals are  0.022 0.024
BIC =  -12641.14

Die erklärte Varianz verteilt sich recht gleichmässig auf die drei Faktoren, allerdings erklären sie gemeinsam nur rund 16% der Gesamtvarianz.

                       MR1  MR3  MR2
SS loadings           4.30 3.86 3.51
Proportion Var        0.06 0.05 0.05
Cumulative Var        0.06 0.11 0.16
Proportion Explained  0.37 0.33 0.30
Cumulative Proportion 0.37 0.70 1.00

Es fällt auf, dass eine grosse Anzahl der Faktorladungen unter 0.5 liegen. Auch wenn dieser Wert als willkürlich betrachtet wird, so gibt er doch einen Hinweis, dass die drei Faktorenlösung nicht ideal ist. Auch beträgt die höchste Kommunalität der Variablen nur gerade 0.35713. Die Variablen erklären also durch den Faktor im besten Fall nur gerade rund 36% der Varianz.

Querladungen sind hingegen nur wenige vorhanden.

Code anzeigen
model_parameters(pa1,sort = TRUE, threshold = 0.19)
# Rotated loadings from Factor Analysis (varimax-rotation)

Variable   | MR1  | MR3  | MR2  | Complexity | Uniqueness
---------------------------------------------------------
MR_Item6   | 0.57 |      |      |    1.16    |    0.65   
MR_Item4   | 0.56 |      |      |    1.14    |    0.66   
MR_Item7   | 0.55 | 0.21 |      |    1.33    |    0.64   
MR_Item5   | 0.55 |      |      |    1.12    |    0.68   
MR_Item9   | 0.54 |      |      |    1.14    |    0.69   
MR_Item10  | 0.49 |      |      |    1.16    |    0.74   
ABW_Item2  | 0.46 |      |      |    1.37    |    0.75   
ABW_Item6  | 0.43 |      |      |    1.19    |    0.79   
ABW_Item9  | 0.39 |      |      |    1.40    |    0.82   
SN_Item2   | 0.39 |      |      |    1.36    |    0.83   
SN_Item6   | 0.37 |      |      |    1.38    |    0.83   
SN_Item10  | 0.37 |      |      |    1.48    |    0.83   
SN_Item5   | 0.37 |      |      |    1.28    |    0.85   
ABW_Item8  | 0.37 |      |      |    1.13    |    0.86   
ABW_Item11 | 0.37 |      |      |    1.11    |    0.86   
SN_Item9   | 0.34 |      |      |    1.46    |    0.86   
ABW_Item3  | 0.33 |      |      |    1.11    |    0.88   
ABW_Item7  | 0.32 |      |      |    1.18    |    0.89   
SN_Item7   | 0.32 |      |      |    1.27    |    0.89   
ABW_Item10 | 0.27 |      |      |    1.84    |    0.90   
RP_Item12  |      | 0.48 |      |    1.36    |    0.73   
ZR_Item7   |      | 0.47 |      |    1.09    |    0.77   
RP_Item15  |      | 0.47 |      |    1.63    |    0.72   
QV_Item17  | 0.21 | 0.45 |      |    1.42    |    0.75   
ZR_Item5   |      | 0.43 |      |    1.12    |    0.80   
RP_Item2   |      | 0.43 |      |    1.42    |    0.78   
QV_Item4   |      | 0.42 |      |    1.40    |    0.79   
ZR_Item8   |      | 0.42 |      |    1.11    |    0.81   
QV_Item5   |      | 0.41 |      |    1.37    |    0.80   
ZR_Item11  |      | 0.40 |      |    1.11    |    0.83   
RP_Item7   |      | 0.39 |      |    1.55    |    0.81   
RP_Item8   | 0.23 | 0.39 |      |    1.64    |    0.80   
RP_Item6   |      | 0.37 |      |    1.28    |    0.85   
ZR_Item2   |      | 0.37 |      |    1.13    |    0.86   
RP_Item1   | 0.19 | 0.36 |      |    1.70    |    0.82   
ZR_Item4   |      | 0.35 |      |    1.29    |    0.86   
ZR_Item6   |      | 0.33 |      |    1.02    |    0.89   
RP_Item5   |      | 0.32 |      |    1.04    |    0.90   
QV_Item1   |      | 0.31 |      |    1.45    |    0.89   
QV_Item13  | 0.19 | 0.26 |      |    1.86    |    0.89   
QV_Item12  |      | 0.26 |      |    1.76    |    0.91   
QV_Item2   |      | 0.24 |      |    1.33    |    0.93   
ANA_Item8  | 0.20 | 0.22 |      |    2.94    |    0.88   
QV_Item11  |      | 0.20 |      |    1.54    |    0.95   
ANT_Item18 |      |      | 0.50 |    1.02    |    0.75   
ANT_Item13 |      |      | 0.45 |    1.08    |    0.79   
SE_Item9   |      |      | 0.44 |    1.15    |    0.80   
ANT_Item12 |      |      | 0.43 |    1.01    |    0.81   
SE_Item7   |      |      | 0.42 |    1.02    |    0.82   
SE_Item11  |      |      | 0.41 |    1.06    |    0.83   
SE_Item1   |      |      | 0.40 |    1.01    |    0.84   
ANT_Item17 |      |      | 0.39 |    1.08    |    0.84   
ANA_Item4  |      |      | 0.39 |    1.03    |    0.85   
SE_Item5   |      |      | 0.37 |    1.24    |    0.85   
SE_Item10  |      |      | 0.36 |    1.04    |    0.87   
ANT_Item1  |      |      | 0.35 |    1.31    |    0.86   
ANT_Item3  |      |      | 0.34 |    1.09    |    0.88   
ANT_Item7  |      |      | 0.34 |    1.03    |    0.88   
SE_Item13  |      |      | 0.34 |    1.16    |    0.88   
SE_Item3   |      |      | 0.34 |    1.26    |    0.87   
ANT_Item11 |      |      | 0.32 |    1.06    |    0.90   
ANT_Item16 |      |      | 0.30 |    1.16    |    0.90   
ANT_Item14 |      |      | 0.30 |    1.25    |    0.90   
ANT_Item8  |      |      | 0.27 |    1.29    |    0.92   
ANA_Item1  |      |      | 0.26 |    2.23    |    0.89   
ANA_Item7  |      |      | 0.25 |    1.42    |    0.93   
ANA_Item6  |      |      | 0.25 |    1.27    |    0.93   
ANA_Item11 |      |      | 0.23 |    2.69    |    0.89   
ANT_Item4  |      |      | 0.23 |    1.15    |    0.94   
ANA_Item5  |      |      | 0.22 |    2.14    |    0.92   
ANA_Item3  |      |      | 0.21 |    1.48    |    0.95   

The 3 latent factors (varimax rotation) accounted for 16.43% of the total variance of the original data (MR1 = 6.05%, MR3 = 5.43%, MR2 = 4.94%).

Überlegungen bleiben gleich analog der orthogonalen Rotation.

Querladungen sind hingegen nur wenige vorhanden.

# Rotated loadings from Factor Analysis (promax-rotation)

Variable   | MR1  | MR3  | MR2  | Complexity | Uniqueness
---------------------------------------------------------
MR_Item6   | 0.62 |      |      |    1.02    |    0.65   
MR_Item4   | 0.62 |      |      |    1.04    |    0.66   
MR_Item5   | 0.61 |      |      |    1.04    |    0.68   
MR_Item9   | 0.59 |      |      |    1.02    |    0.69   
MR_Item7   | 0.58 |      |      |    1.01    |    0.64   
MR_Item10  | 0.54 |      |      |    1.01    |    0.74   
ABW_Item2  | 0.47 |      |      |    1.02    |    0.75   
ABW_Item6  | 0.47 |      |      |    1.01    |    0.79   
ABW_Item11 | 0.41 |      |      |    1.07    |    0.86   
SN_Item2   | 0.41 |      |      |    1.04    |    0.83   
ABW_Item8  | 0.40 |      |      |    1.03    |    0.86   
ABW_Item9  | 0.40 |      |      |    1.03    |    0.82   
SN_Item5   | 0.39 |      |      |    1.00    |    0.85   
SN_Item6   | 0.38 |      |      |    1.03    |    0.83   
ABW_Item3  | 0.38 |      |      |    1.10    |    0.88   
SN_Item10  | 0.37 |      |      |    1.05    |    0.83   
ABW_Item7  | 0.35 |      |      |    1.02    |    0.89   
SN_Item9   | 0.34 |      |      |    1.03    |    0.86   
SN_Item7   | 0.34 |      |      |    1.01    |    0.89   
ABW_Item10 | 0.25 |      |      |    1.24    |    0.90   
ZR_Item7   |      | 0.53 |      |    1.05    |    0.77   
RP_Item12  |      | 0.50 |      |    1.01    |    0.73   
ZR_Item5   |      | 0.48 |      |    1.04    |    0.80   
RP_Item15  |      | 0.47 |      |    1.11    |    0.72   
ZR_Item8   |      | 0.47 |      |    1.04    |    0.81   
QV_Item17  |      | 0.47 |      |    1.12    |    0.75   
ZR_Item11  |      | 0.46 |      |    1.10    |    0.83   
RP_Item2   |      | 0.44 |      |    1.02    |    0.78   
QV_Item4   |      | 0.44 |      |    1.01    |    0.79   
QV_Item5   |      | 0.43 |      |    1.06    |    0.80   
ZR_Item2   |      | 0.43 |      |    1.20    |    0.86   
RP_Item7   |      | 0.39 |      |    1.05    |    0.81   
RP_Item6   |      | 0.39 |      |    1.01    |    0.85   
ZR_Item6   |      | 0.39 |      |    1.12    |    0.89   
RP_Item8   |      | 0.38 |      |    1.25    |    0.80   
ZR_Item4   |      | 0.37 |      |    1.01    |    0.86   
RP_Item5   |      | 0.37 |      |    1.10    |    0.90   
RP_Item1   |      | 0.36 |      |    1.13    |    0.82   
QV_Item1   |      | 0.32 |      |    1.02    |    0.89   
QV_Item12  |      | 0.26 |      |    1.16    |    0.91   
QV_Item2   |      | 0.25 |      |    1.00    |    0.93   
QV_Item13  |      | 0.24 |      |    1.80    |    0.89   
QV_Item11  |      | 0.20 |      |    1.06    |    0.95   
ANA_Item8  |      |      |      |    2.93    |    0.88   
ANT_Item18 |      |      | 0.52 |    1.02    |    0.75   
ANT_Item12 |      |      | 0.46 |    1.09    |    0.81   
ANT_Item13 |      |      | 0.46 |    1.01    |    0.79   
SE_Item7   |      |      | 0.45 |    1.05    |    0.82   
SE_Item9   |      |      | 0.44 |    1.02    |    0.80   
SE_Item11  |      |      | 0.43 |    1.07    |    0.83   
SE_Item1   |      |      | 0.42 |    1.04    |    0.84   
ANA_Item4  |      |      | 0.41 |    1.02    |    0.85   
ANT_Item17 |      |      | 0.40 |    1.02    |    0.84   
SE_Item10  |      |      | 0.38 |    1.07    |    0.87   
ANT_Item7  |      |      | 0.37 |    1.16    |    0.88   
SE_Item5   |      |      | 0.37 |    1.08    |    0.85   
ANT_Item3  |      |      | 0.35 |    1.02    |    0.88   
SE_Item13  |      |      | 0.35 |    1.23    |    0.88   
ANT_Item1  |      |      | 0.35 |    1.04    |    0.86   
ANT_Item14 |      |      | 0.34 |    1.37    |    0.90   
SE_Item3   |      |      | 0.34 |    1.04    |    0.87   
ANT_Item11 |      |      | 0.33 |    1.05    |    0.90   
ANT_Item16 |      |      | 0.31 |    1.02    |    0.90   
ANT_Item8  |      |      | 0.27 |    1.24    |    0.92   
ANA_Item6  |      |      | 0.25 |    1.05    |    0.93   
ANA_Item7  |      |      | 0.24 |    1.15    |    0.93   
ANA_Item1  |      |      | 0.24 |    1.60    |    0.89   
ANT_Item4  |      |      | 0.24 |    1.02    |    0.94   
ANA_Item3  |      |      | 0.20 |    1.11    |    0.95   
ANA_Item5  |      |      | 0.20 |    1.55    |    0.92   
ANA_Item11 |      |      | 0.20 |    2.18    |    0.89   

The 3 latent factors (promax rotation) accounted for 16.43% of the total variance of the original data (MR1 = 6.17%, MR3 = 5.40%, MR2 = 4.85%).

Reliabilitätsanalyse

Code anzeigen
rel1 <- psych::alpha(WSI_Ready)

Bei der Reliabilitätsanalyse mit Cronbachs Alpha kann die interne Konsistenz einer Skala geschätzt werden. Die Werte liegen über .85 was für eine gute Reliabilität der Items spricht.

raw_alpha std.alpha G6(smc) average_r S/N mean sd median_r
0.86 0.88 0.89 0.09 7.29 0.86 0.20 0.08

Es fällt auf, dass es eine Reihe von Items gibt, die hohe und tiefe Mittelwerte aufweisen. Da diese Items dichotom sind, müsste überlegt werden, ob einige der zu einfachen oder zu schweren Items weggelassen werden könnten.

Code anzeigen
rel1$item.stats %>% 
  dplyr::select(-1) %>% 
  round(digits = 3) %>% 
  datatable()

Abschliessende Bemerkung EFA

Aufgrund der durchgeführten Analysen komme ich zum Schluss, dass eine dreifaktorielle Lösung nicht ideal, aber möglich ist. Dagegen sprechen mehrere Punkt: TLI und RMSEA sind nicht ideal und unter den Cut-Off Werten, die Faktorladungen und die Kommunalitäten sind im Mittel eher als tief anzusehen. Hingegen entspricht die vorgeschlagene Lösung sehr genau dem erwarteten Resultat der Items auf die entsprechenden Faktoren (Figure 2) und es gibt auch keine bemerkenswerten Querladungen. Die Reliabilitäten sprechen auch für eine gute Item-Konstruktion.

CFA

Nach einigen Versuchen habe ich auch das CFA Modell, basierend auf dem EFA Modell mit drei Faktoren, gerechnet und einen Plot erstellt. Die Fit Indizes sehen recht gut aus, auch wenn TLI weiterhin unter dem erwünschten bleibt.

Code anzeigen
library(lavaan)
library(semPlot)
library(parameters)
library(insight)

pa2_mod<-efa_to_cfa(pa2)
#sem_pa2 <- sem(pa2_mod, WSI_Ready)
#summary(sem_pa2)

cfa_1 <- cfa(pa2_mod, WSI_Ready)
summary(cfa_1, fit.measures=TRUE)
lavaan 0.6-12 ended normally after 218 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                       145

  Number of observations                          1575

Model Test User Model:
                                                      
  Test statistic                              4661.216
  Degrees of freedom                              2411
  P-value (Chi-square)                           0.000

Model Test Baseline Model:

  Test statistic                             16928.100
  Degrees of freedom                              2485
  P-value                                        0.000

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.844
  Tucker-Lewis Index (TLI)                       0.839

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -71155.180
  Loglikelihood unrestricted model (H1)     -68824.572
                                                      
  Akaike (AIC)                              142600.359
  Bayesian (BIC)                            143377.851
  Sample-size adjusted Bayesian (BIC)       142917.217

Root Mean Square Error of Approximation:

  RMSEA                                          0.024
  90 Percent confidence interval - lower         0.023
  90 Percent confidence interval - upper         0.025
  P-value RMSEA <= 0.05                          1.000

Standardized Root Mean Square Residual:

  SRMR                                           0.035

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)
  MR1 =~                                              
    ABW_Item9         1.000                           
    ABW_Item2         1.076    0.082   13.147    0.000
    ABW_Item8         0.782    0.072   10.935    0.000
    ABW_Item10        0.339    0.034    9.862    0.000
    ABW_Item7         0.843    0.082   10.262    0.000
    ABW_Item6         1.112    0.089   12.464    0.000
    ABW_Item3         0.907    0.090   10.099    0.000
    ABW_Item11        1.035    0.095   10.918    0.000
    SN_Item2          1.846    0.156   11.859    0.000
    SN_Item9          1.856    0.168   11.066    0.000
    SN_Item5          3.388    0.296   11.458    0.000
    SN_Item10         2.943    0.248   11.852    0.000
    SN_Item6          4.236    0.365   11.620    0.000
    SN_Item7          2.515    0.246   10.241    0.000
    MR_Item5          3.715    0.265   14.030    0.000
    MR_Item4          4.294    0.300   14.330    0.000
    MR_Item7          4.377    0.301   14.554    0.000
    MR_Item6          4.201    0.291   14.432    0.000
    MR_Item10         3.873    0.288   13.431    0.000
    MR_Item9          4.243    0.303   13.998    0.000
  MR3 =~                                              
    ANA_Item8         1.000                           
    ZR_Item4          1.153    0.126    9.168    0.000
    ZR_Item2          1.147    0.132    8.712    0.000
    ZR_Item11         1.277    0.138    9.267    0.000
    ZR_Item7          1.660    0.166    9.981    0.000
    ZR_Item5          1.380    0.142    9.734    0.000
    ZR_Item6          1.144    0.138    8.273    0.000
    ZR_Item8          1.454    0.153    9.504    0.000
    QV_Item2          0.481    0.064    7.523    0.000
    QV_Item4          1.460    0.144   10.145    0.000
    QV_Item13         0.725    0.085    8.484    0.000
    QV_Item1          0.904    0.102    8.846    0.000
    QV_Item5          1.581    0.158   10.006    0.000
    QV_Item11         0.879    0.123    7.167    0.000
    QV_Item17         1.509    0.146   10.357    0.000
    QV_Item12         1.078    0.130    8.309    0.000
    RP_Item5          0.931    0.113    8.227    0.000
    RP_Item6          1.336    0.142    9.400    0.000
    RP_Item8          1.535    0.154    9.990    0.000
    RP_Item2          1.632    0.160   10.188    0.000
    RP_Item15         1.970    0.186   10.565    0.000
    RP_Item12         1.941    0.185   10.491    0.000
    RP_Item7          1.638    0.165    9.931    0.000
    RP_Item1          1.559    0.159    9.803    0.000
  MR2 =~                                              
    ANT_Item16        1.000                           
    ANT_Item8         1.323    0.169    7.836    0.000
    ANT_Item11        1.422    0.170    8.361    0.000
    ANT_Item4         1.029    0.144    7.134    0.000
    ANT_Item1         2.376    0.261    9.115    0.000
    ANT_Item14        1.904    0.255    7.472    0.000
    ANT_Item7         2.227    0.268    8.310    0.000
    ANT_Item12        2.412    0.254    9.484    0.000
    ANT_Item13        3.156    0.318    9.918    0.000
    ANT_Item17        2.853    0.304    9.379    0.000
    ANT_Item18        3.413    0.335   10.178    0.000
    ANT_Item3         2.524    0.288    8.762    0.000
    ANA_Item5         0.918    0.124    7.376    0.000
    ANA_Item1         1.771    0.214    8.267    0.000
    ANA_Item4         2.216    0.240    9.231    0.000
    ANA_Item3         1.528    0.222    6.893    0.000
    ANA_Item7         1.854    0.242    7.672    0.000
    ANA_Item6         1.957    0.262    7.460    0.000
    ANA_Item11        2.218    0.278    7.982    0.000
    SE_Item3          1.772    0.199    8.922    0.000
    SE_Item10         2.020    0.227    8.915    0.000
    SE_Item5          1.830    0.199    9.183    0.000
    SE_Item7          2.221    0.233    9.538    0.000
    SE_Item9          3.118    0.315    9.882    0.000
    SE_Item11         2.080    0.220    9.444    0.000
    SE_Item13         2.404    0.274    8.763    0.000
    SE_Item1          2.885    0.310    9.292    0.000

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)
  MR1 ~~                                              
    MR3               0.014    0.002    8.651    0.000
    MR2               0.003    0.000    6.919    0.000
  MR3 ~~                                              
    MR2               0.003    0.000    6.747    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .ABW_Item9         0.134    0.005   27.022    0.000
   .ABW_Item2         0.106    0.004   26.537    0.000
   .ABW_Item8         0.118    0.004   27.342    0.000
   .ABW_Item10        0.031    0.001   27.545    0.000
   .ABW_Item7         0.169    0.006   27.477    0.000
   .ABW_Item6         0.145    0.005   26.873    0.000
   .ABW_Item3         0.206    0.007   27.506    0.000
   .ABW_Item11        0.208    0.008   27.345    0.000
   .SN_Item2          0.489    0.018   27.093    0.000
   .SN_Item9          0.638    0.023   27.311    0.000
   .SN_Item5          1.879    0.069   27.212    0.000
   .SN_Item10         1.247    0.046   27.095    0.000
   .SN_Item6          2.786    0.103   27.166    0.000
   .SN_Item7          1.513    0.055   27.481    0.000
   .MR_Item5          0.875    0.034   25.863    0.000
   .MR_Item4          1.015    0.040   25.528    0.000
   .MR_Item7          0.941    0.037   25.224    0.000
   .MR_Item6          0.923    0.036   25.397    0.000
   .MR_Item10         1.226    0.047   26.358    0.000
   .MR_Item9          1.158    0.045   25.895    0.000
   .ANA_Item8         0.162    0.006   27.491    0.000
   .ZR_Item4          0.148    0.005   27.229    0.000
   .ZR_Item2          0.185    0.007   27.404    0.000
   .ZR_Item11         0.171    0.006   27.182    0.000
   .ZR_Item7          0.187    0.007   26.699    0.000
   .ZR_Item5          0.152    0.006   26.903    0.000
   .ZR_Item6          0.227    0.008   27.530    0.000
   .ZR_Item8          0.194    0.007   27.055    0.000
   .QV_Item2          0.057    0.002   27.684    0.000
   .QV_Item4          0.129    0.005   26.531    0.000
   .QV_Item13         0.083    0.003   27.474    0.000
   .QV_Item1          0.107    0.004   27.358    0.000
   .QV_Item5          0.167    0.006   26.675    0.000
   .QV_Item11         0.221    0.008   27.739    0.000
   .QV_Item17         0.117    0.004   26.258    0.000
   .QV_Item12         0.198    0.007   27.521    0.000
   .RP_Item5          0.154    0.006   27.541    0.000
   .RP_Item6          0.174    0.006   27.114    0.000
   .RP_Item8          0.159    0.006   26.691    0.000
   .RP_Item2          0.156    0.006   26.481    0.000
   .RP_Item15         0.166    0.006   25.902    0.000
   .RP_Item12         0.173    0.007   26.041    0.000
   .RP_Item7          0.189    0.007   26.745    0.000
   .RP_Item1          0.186    0.007   26.851    0.000
   .ANT_Item16        0.038    0.001   27.296    0.000
   .ANT_Item8         0.086    0.003   27.466    0.000
   .ANT_Item11        0.078    0.003   27.298    0.000
   .ANT_Item4         0.071    0.003   27.627    0.000
   .ANT_Item1         0.147    0.005   26.938    0.000
   .ANT_Item14        0.210    0.008   27.556    0.000
   .ANT_Item7         0.195    0.007   27.317    0.000
   .ANT_Item12        0.123    0.005   26.671    0.000
   .ANT_Item13        0.158    0.006   26.218    0.000
   .ANT_Item17        0.182    0.007   26.756    0.000
   .ANT_Item18        0.153    0.006   25.826    0.000
   .ANT_Item3         0.200    0.007   27.130    0.000
   .ANA_Item5         0.051    0.002   27.578    0.000
   .ANA_Item1         0.126    0.005   27.332    0.000
   .ANA_Item4         0.120    0.004   26.863    0.000
   .ANA_Item3         0.175    0.006   27.671    0.000
   .ANA_Item7         0.182    0.007   27.509    0.000
   .ANA_Item6         0.223    0.008   27.559    0.000
   .ANA_Item11        0.226    0.008   27.424    0.000
   .SE_Item3          0.091    0.003   27.049    0.000
   .SE_Item10         0.118    0.004   27.052    0.000
   .SE_Item5          0.084    0.003   26.895    0.000
   .SE_Item7          0.100    0.004   26.625    0.000
   .SE_Item9          0.158    0.006   26.265    0.000
   .SE_Item11         0.093    0.003   26.705    0.000
   .SE_Item13         0.181    0.007   27.129    0.000
   .SE_Item1          0.196    0.007   26.820    0.000
    MR1               0.029    0.004    8.178    0.000
    MR3               0.017    0.003    5.829    0.000
    MR2               0.004    0.001    5.797    0.000
Code anzeigen
semPaths(cfa_1, 'std', 'est', curveAdjacent = TRUE, style = "lisrel", layout="circle")

References

Eid, Michael, Mario Gollwitzer, and Manfred Schmitt. 2017. Statistik und Forschungsmethoden Lehrbuch. Mit Online-Material. https://nbn-resolving.org/urn:nbn:de:101:1-2017110712245.