9.2 Der Mittelwertvergleich zwischen Gruppen
Das Beispiel der Technikakzeptanz zwischen zwei Gruppen aus dem vorhergehenden Abschnitt wird hier nun aufgegriffen.
Dabei wird das Modell wie bereits mehrfach gezeigt zunächst spezifiziert.
<- 'TA =~ ta1 + ta2 + ta3 + ta4' model.ta1
Im nächsten Schritt wird jedoch bei der Schätzung des Modells nicht nur die Gruppenvariable angegeben, so dass das Modell für jede Gruppe geschätzt wird (siehe Gruppierungsvariable ), sondern es wird auch angegeben, welche Identitätsrestriktionen (Weiber and Mühlhaus 2014, S. 292) festgelegt werden. Da, wie im vorigen Abschnitt geprüft, von metrischer sowie skalarer Messinvarianz ausgegangen werden kann, spricht nichts dagegen, zwischen den Gruppen entsprechende Identitätsrestriktionen festzulegen12.
Diese werden mit dem Befehl "group.equal ="
festgesetzt. Hierbei werden a) für die Faktorladungen Identitätsrestriktionen festgelegt: "loading"
, als auch b) für die Achsenabschnitte: "intercepts"
.
So sieht der auszuführende Befehl aus:
<- cfa(model.ta1,
fit.ta1.mwv data = daten_latente_konstrukte,
group = "wissen_dichotom",
group.equal = c("loadings", "intercepts"))
Diese Spezifizierung setzt nun eine Gruppe als Referenzgruppe fest, bei der die Mittelwerte der latenten Variablen auf den Wert 0 restringiert werden und schätzt die Mittelwerte der anderen Gruppe(n).
Der Ergebnisoutput sieht nun wie folgt aus, wenn wir uns die Modellgüte mit der Funktion summary()
ausgeben lassen.
::summary(fit.ta1.mwv, fit.measures=TRUE, standardized = TRUE) lavaan
## lavaan 0.6-12 ended normally after 35 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 25
## Number of equality constraints 7
##
## Number of observations per group:
## 1 280
## 0 175
##
## Model Test User Model:
##
## Test statistic 30.381
## Degrees of freedom 10
## P-value (Chi-square) 0.001
## Test statistic for each group:
## 1 16.766
## 0 13.615
##
## Model Test Baseline Model:
##
## Test statistic 781.099
## Degrees of freedom 12
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.974
## Tucker-Lewis Index (TLI) 0.968
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2424.686
## Loglikelihood unrestricted model (H1) -2409.496
##
## Akaike (AIC) 4885.373
## Bayesian (BIC) 4959.538
## Sample-size adjusted Bayesian (BIC) 4902.412
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.095
## 90 Percent confidence interval - lower 0.057
## 90 Percent confidence interval - upper 0.134
## P-value RMSEA <= 0.05 0.027
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.046
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
##
## Group 1 [1]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## TA =~
## ta1 1.000 0.745 0.714
## ta2 (.p2.) 1.204 0.074 16.333 0.000 0.897 0.852
## ta3 (.p3.) 1.141 0.075 15.269 0.000 0.851 0.745
## ta4 (.p4.) 1.001 0.075 13.433 0.000 0.746 0.655
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ta1 (.10.) 3.674 0.058 63.544 0.000 3.674 3.520
## .ta2 (.11.) 3.224 0.061 52.758 0.000 3.224 3.060
## .ta3 (.12.) 2.547 0.063 40.347 0.000 2.547 2.232
## .ta4 (.13.) 2.549 0.061 41.627 0.000 2.549 2.239
## TA 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ta1 0.534 0.055 9.672 0.000 0.534 0.490
## .ta2 0.305 0.047 6.424 0.000 0.305 0.275
## .ta3 0.579 0.063 9.222 0.000 0.579 0.445
## .ta4 0.739 0.072 10.309 0.000 0.739 0.570
## TA 0.555 0.074 7.461 0.000 1.000 1.000
##
##
## Group 2 [0]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## TA =~
## ta1 1.000 0.859 0.733
## ta2 (.p2.) 1.204 0.074 16.333 0.000 1.034 0.893
## ta3 (.p3.) 1.141 0.075 15.269 0.000 0.981 0.815
## ta4 (.p4.) 1.001 0.075 13.433 0.000 0.860 0.709
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ta1 (.10.) 3.674 0.058 63.544 0.000 3.674 3.136
## .ta2 (.11.) 3.224 0.061 52.758 0.000 3.224 2.782
## .ta3 (.12.) 2.547 0.063 40.347 0.000 2.547 2.117
## .ta4 (.13.) 2.549 0.061 41.627 0.000 2.549 2.100
## TA -0.159 0.084 -1.878 0.060 -0.185 -0.185
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .ta1 0.634 0.079 8.011 0.000 0.634 0.462
## .ta2 0.273 0.057 4.784 0.000 0.273 0.203
## .ta3 0.485 0.070 6.920 0.000 0.485 0.335
## .ta4 0.734 0.090 8.197 0.000 0.734 0.498
## TA 0.738 0.113 6.543 0.000 1.000 1.000
Der Output offenbart viele interessante Einsichten in das Modell. Für den Mittelwertvergleich ist nun insbesondere die Zeile in den Interceps interessant, die mit dem Buchstaben TA beginnt. Die Gruppe 1 (die auf der Wissensvariablen die Ausprägung 1 hat) wurde als Referenzgruppe festgelegt. Hier ist der Mittelwert auf Null restringiert.
Für Gruppe 2 (mit dem Wert Null auf der Wissensvariable) ist der Wert M=-0.159 (SE=.084). Das heißt, der Mittelwert für Gruppe 2 fällt geringer aus. Allerdings ist der Unterschied unter Annahme zufälliger Stichprobenziehung nicht signifikant. Das lässt sich am ebenfalls ausgegebenen Z-Wert von -1.878 ablesen und dem in der Zeile rechts daneben ausgegebenen Signifikanzniveau von p=.060. Es wird mithin kein Mittelwertunterschied zwischen den Gruppen angenommen.
Schauen Sie sich den Output noch einmal ganz genau an und versuchen Sie zur Übung folgende Fragen zu beantworten:
-
Was fällt Ihnen auf, wenn Sie einmal für beide Gruppen die Werte der
Latent Variable
sowie derLoadings
in der SpalteEstimate
vergleichen.- Was bedeuten die Zahlen in den Klammern wie bspw. (.p1)?
- Wie viele Gleichheitsrestriktionen gibt es? Wieso kommt das geschätzte Modell auf diese Zahl?
-
Wenn Sie einmal an das Beispiel zur Messinvarianz denken: Gab es
nicht dort bereits einen Hinweis, zu den Mittelwertunterschieden?
Schauen Sie doch noch einmal im entsprechenden Abschnitt
nach und achten Sie dabei auf den p-Wert von
0.06
.
9.2.1 Ergebnisse bei anderweitigen Skalierungsfestlegungen der latenten Variable
Es empfiehlt sich an dieser Stelle einmal die Ergebnisse des Gruppenvergleichs für die beiden anderen Verfahren der Skalierung der latenten Variable zu vergleichen, also für die Festlegung der Faktorvarianz und das ‘Effects Coding’ (Little, Slegers, and Card 2006), um zu prüfen wie robust die geschätzten Ergebnisse sind.
Festlegung der Faktorvarianz
Zunächst wird ein Modell geschätzt, bei dem die Varianz des latenten Faktors festgelegt wird (Varianz = 1
durch den Befehl std.lv = True
).
<- cfa(model.ta1,
fit.ta1.fv data = daten_latente_konstrukte,
group = "wissen_dichotom",
group.equal = c("loadings", "intercepts"),
std.lv = TRUE)
::summary(fit.ta1.fv) lavaan
## lavaan 0.6-12 ended normally after 31 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 26
## Number of equality constraints 8
##
## Number of observations per group:
## 1 280
## 0 175
##
## Model Test User Model:
##
## Test statistic 30.381
## Degrees of freedom 10
## P-value (Chi-square) 0.001
## Test statistic for each group:
## 1 16.766
## 0 13.615
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
##
## Group 1 [1]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|)
## TA =~
## ta1 (.p1.) 0.745 0.050 14.923 0.000
## ta2 (.p2.) 0.897 0.051 17.704 0.000
## ta3 (.p3.) 0.851 0.054 15.858 0.000
## ta4 (.p4.) 0.746 0.054 13.905 0.000
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|)
## .ta1 (.10.) 3.674 0.058 63.544 0.000
## .ta2 (.11.) 3.224 0.061 52.758 0.000
## .ta3 (.12.) 2.547 0.063 40.347 0.000
## .ta4 (.13.) 2.549 0.061 41.627 0.000
## TA 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|)
## .ta1 0.534 0.055 9.672 0.000
## .ta2 0.305 0.047 6.424 0.000
## .ta3 0.579 0.063 9.222 0.000
## .ta4 0.739 0.072 10.309 0.000
## TA 1.000
##
##
## Group 2 [0]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|)
## TA =~
## ta1 (.p1.) 0.745 0.050 14.923 0.000
## ta2 (.p2.) 0.897 0.051 17.704 0.000
## ta3 (.p3.) 0.851 0.054 15.858 0.000
## ta4 (.p4.) 0.746 0.054 13.905 0.000
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|)
## .ta1 (.10.) 3.674 0.058 63.544 0.000
## .ta2 (.11.) 3.224 0.061 52.758 0.000
## .ta3 (.12.) 2.547 0.063 40.347 0.000
## .ta4 (.13.) 2.549 0.061 41.627 0.000
## TA -0.213 0.113 -1.877 0.060
##
## Variances:
## Estimate Std.Err z-value P(>|z|)
## .ta1 0.634 0.079 8.011 0.000
## .ta2 0.273 0.057 4.784 0.000
## .ta3 0.485 0.070 6.920 0.000
## .ta4 0.734 0.090 8.197 0.000
## TA 1.329 0.209 6.374 0.000
Es zeigt sich, dass die Ergebnisse große Ähnlichkeit zum geschätzten Modell aufweisen, bei dem der Indikator ta1
als Referenzindikator festgelegt wurde. Auch hier ist der Mittelwertunterschied nicht signifikant.
Modellschätzung mit Effects Coding
Zudem wird eine Modell mit Effects Coding nach Little, Slegers, and Card (2006) geschätzt.
Allerdings werden an dieser Stelle vor der Schätzung des Modell ein Modell spezifiziert, in dem 1) noch zusätzlich Labels für die Mittelwerte des latenten Faktors für die beiden Gruppen zugewiesen werden, und 2) explizit eine Prüfung der Unterschiedlichkeit der beiden Parameterschätzungen für den Mittelwert des jeweiligen latenten Faktors in den beiden Gruppen angefordert.
Das ist insbesondere mit Blick auf eine Prüfung auf Mittelwertunterschiede in einem Modell mit ‘Effects Coding’ als Skalierung für die latenten Faktoren von Bedeutung, da die latenten Faktoren hier so wie die Skala der Indikatoren skaliert und sich Unterschiede nicht mehr so einfach ablesen lassen. Es wird hier, je nach Skalierung, nämlich nicht mehr der Wert der Referenzgruppe auf den Wert 0
gesetzt und mit dem im Default Model
inhärenten Signifikanztest ein Unterschied zum Nullwert geprüft.
<- 'TA =~ ta1 + ta2 + ta3 + ta4
model.ta1
#Labels für die MW vergeben
TA ~ c(mean_TA_group1, mean_TA_group2)*1
#Unterschied der Parameterwerte prüfen
diff_TA := mean_TA_group1 - mean_TA_group2'
<- cfa(model.ta1,
fit.ta1.ec data = daten_latente_konstrukte,
group = "wissen_dichotom",
group.equal = c("loadings", "intercepts"),
effect.coding = TRUE)
::summary(fit.ta1.ec) lavaan
## lavaan 0.6-12 ended normally after 46 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 28
## Number of equality constraints 12
## Row rank of the constraints matrix 10
##
## Number of observations per group:
## 1 280
## 0 175
##
## Model Test User Model:
##
## Test statistic 30.381
## Degrees of freedom 10
## P-value (Chi-square) 0.001
## Test statistic for each group:
## 1 16.766
## 0 13.615
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
##
## Group 1 [1]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|)
## TA =~
## ta1 (.p1.) 0.920 0.040 23.255 0.000
## ta2 (.p2.) 1.108 0.037 30.260 0.000
## ta3 (.p3.) 1.050 0.039 26.806 0.000
## ta4 (.p4.) 0.921 0.043 21.491 0.000
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|)
## TA (m_TA) 2.998 0.053 56.704 0.000
## .ta1 (.11.) 0.915 0.120 7.615 0.000
## .ta2 (.12.) -0.099 0.110 -0.895 0.371
## .ta3 (.13.) -0.602 0.118 -5.084 0.000
## .ta4 (.14.) -0.214 0.130 -1.643 0.100
##
## Variances:
## Estimate Std.Err z-value P(>|z|)
## .ta1 0.534 0.055 9.672 0.000
## .ta2 0.305 0.047 6.424 0.000
## .ta3 0.579 0.063 9.222 0.000
## .ta4 0.739 0.072 10.309 0.000
## TA 0.656 0.066 9.882 0.000
##
##
## Group 2 [0]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|)
## TA =~
## ta1 (.p1.) 0.920 0.040 23.255 0.000
## ta2 (.p2.) 1.108 0.037 30.260 0.000
## ta3 (.p3.) 1.050 0.039 26.806 0.000
## ta4 (.p4.) 0.921 0.043 21.491 0.000
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|)
## TA (m_TA) 2.826 0.075 37.586 0.000
## .ta1 (.11.) 0.915 0.120 7.615 0.000
## .ta2 (.12.) -0.099 0.110 -0.895 0.371
## .ta3 (.13.) -0.602 0.118 -5.084 0.000
## .ta4 (.14.) -0.214 0.130 -1.643 0.100
##
## Variances:
## Estimate Std.Err z-value P(>|z|)
## .ta1 0.634 0.079 8.011 0.000
## .ta2 0.273 0.057 4.784 0.000
## .ta3 0.485 0.070 6.920 0.000
## .ta4 0.734 0.090 8.197 0.000
## TA 0.872 0.106 8.195 0.000
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|)
## diff_TA 0.172 0.091 1.885 0.059
Auch hier indizieren die Ergebnisse des geschätzten Modells, dass es keine signifikanten Mittelwertunterschiede des latenten Faktors in den beiden Gruppen gibt.