MIMIC Modeling with Dummies

39 views
Skip to first unread message

Brandon Bretl

unread,
Jan 5, 2020, 12:47:18 PM1/5/20
to lavaan
Hi everyone,

I am assessing moral violation ratings of adolescents. I am wondering how to interpret MIMIC models where I regress the factor onto sex, age, and political ideology. For sex and political ideology, I am using dummy codes. For age, I am not. 

My data is coming from 11 different schools, so I am regressing the factor on 10 dummy coded school variables to control for school. Is it accurate to say I am controlling for these variables when I regress the factor on them?

Let's take the "loyalty" factor as an example. For this, I also regressed the political ideology identifier on two indicators because they involve a "US General" and an "American" as the protagonist, so I hypothesized that these might exhibit metric non-invariance for liberal vs. conservative students (they are also the items that show up has having correlated error variance in the modification indices). 

Here is the syntax for the loyalty factor analysis:  

loya <- '
loya =~ Q1_6 + Q2_6 + Q3_6 + Q4_6 + Q5_7 + Q6_7
loya ~ schooldummy_1
loya ~ schooldummy_10
loya ~ schooldummy_3
loya ~ schooldummy_4
loya ~ schooldummy_5
loya ~ schooldummy_6
loya ~ schooldummy_7
loya ~ schooldummy_8
loya ~ schooldummy_9
loya ~ schooldummy_11
loya ~ sex_1
loya ~ Q11
loya ~ consrep
loya ~ libdem
Q2_6 ~ consrep
Q6_7 ~ consrep
Q2_6 ~ libdem
Q6_7 ~ libdem
'

loya1
<- cfa(loya, data = cfs,std.lv = TRUE, mimic = "mplus", estimator = "MLR")
summary
(loya1, fit.measures = TRUE, rsquare=TRUE, standardized = TRUE)
modificationindices
(loya1, standardized = TRUE,sort. = TRUE)

When I run this code, I get the output provided below. 

Here are my questions regarding interpreting this:

1. I can say I am controlling for school, sex, age, and political ideology by including these regressions, correct?
2. There is a significant (p<.05) difference in factor means for schools 10, 4, 6, 8, and 9. Is that correct?
3. There is a significant difference in factor means for age, sex, and being politically conservative (consrep) but not liberal (libdem), correct?
4. There is a significant direct effect of being conservative (consrep) on the Q2_6 and Q6_7 indicators, but only a significant direct effect on the Q6_7 indicator for liberals, correct?
5. The direct effects on the indicators (Q2_6 and Q6_7) are evidence of metric non-invariance?

Any additional thoughts/guidance anyone has is highly appreciated. I am using Brown's book, but would love to hear of additional resources.

Thanks so much,
Brandon



> summary(loya1, fit.measures = TRUE, rsquare=TRUE, standardized = TRUE)
lavaan
0.6-5 ended normally after 88 iterations


 
Estimator                                         ML
 
Optimization method                           NLMINB
 
Number of free parameters                         36
                                                     
                                                 
Used       Total
 
Number of observations                          1730        1733
 
Number of missing patterns                         1            
                                                                 
Model Test User Model:
                                             
Standard      Robust
 
Test Statistic                               264.847     264.319
 
Degrees of freedom                                75          75
  P
-value (Chi-square)                           0.000       0.000
 
Scaling correction factor                                  1.002
   
for the Yuan-Bentler correction (Mplus variant)


Model Test Baseline Model:


 
Test statistic                              2696.446    2629.089
 
Degrees of freedom                                99          99
  P
-value                                        0.000       0.000
 
Scaling correction factor                                  1.026


User Model versus Baseline Model:


 
Comparative Fit Index (CFI)                    0.927       0.925
 
Tucker-Lewis Index (TLI)                       0.904       0.901
                                                                 
 
Robust Comparative Fit Index (CFI)                         0.927
 
Robust Tucker-Lewis Index (TLI)                            0.904


Loglikelihood and Information Criteria:


 
Loglikelihood user model (H0)             -15179.969  -15179.969
 
Scaling correction factor                                  1.004
     
for the MLR correction                                      
 
Loglikelihood unrestricted model (H1)     -15047.546  -15047.546
 
Scaling correction factor                                  1.003
     
for the MLR correction                                      
                                                                 
 
Akaike (AIC)                               30431.939   30431.939
 
Bayesian (BIC)                             30628.350   30628.350
 
Sample-size adjusted Bayesian (BIC)        30513.982   30513.982


Root Mean Square Error of Approximation:


  RMSEA                                          
0.038       0.038
 
90 Percent confidence interval - lower         0.033       0.033
 
90 Percent confidence interval - upper         0.043       0.043
  P
-value RMSEA <= 0.05                          1.000       1.000
                                                                 
 
Robust RMSEA                                               0.038
 
90 Percent confidence interval - lower                     0.033
 
90 Percent confidence interval - upper                     0.043


Standardized Root Mean Square Residual:


  SRMR                                          
0.022       0.022


Parameter Estimates:


 
Information                                      Observed
 
Observed information based on                     Hessian
 
Standard errors                        Robust.huber.white


Latent Variables:
                   
Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  loya
=~                                                              
    Q1_6              
0.524    0.033   15.679    0.000    0.549    0.411
    Q2_6              
0.670    0.030   22.058    0.000    0.702    0.559
    Q3_6              
0.712    0.026   26.911    0.000    0.746    0.643
    Q4_6              
0.797    0.024   33.854    0.000    0.836    0.750
    Q5_7              
0.669    0.023   28.521    0.000    0.701    0.673
    Q6_7              
0.605    0.028   21.625    0.000    0.634    0.549


Regressions:
                   
Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  loya
~                                                                
    schooldummy_1    
0.290    0.208    1.394    0.163    0.277    0.041
    schooldummy_10   -0.189    0.090   -2.103    0.035   -0.180   -0.066
    schooldummy_3    
-0.010    0.137   -0.070    0.944   -0.009   -0.002
   
schooldummy_4     0.381    0.136    2.806    0.005    0.364    0.086
    schooldummy_5    
0.210    0.134    1.564    0.118    0.201    0.058
   
schooldummy_6     0.579    0.144    4.031    0.000    0.552    0.126
    schooldummy_7    
-0.018    0.154   -0.115    0.908   -0.017   -0.003
   
schooldummy_8     0.853    0.213    4.000    0.000    0.814    0.106
    schooldummy_9    
-0.256    0.099   -2.581    0.010   -0.244   -0.084

    schooldummy_11  
-0.136    0.146   -0.931    0.352   -0.130   -0.048
   
sex_1            -0.270    0.056   -4.793    0.000   -0.258   -0.128
    Q11              
-0.064    0.025   -2.540    0.011   -0.061   -0.132
    consrep          
0.130    0.066    1.983    0.047    0.124    0.058

    libdem          
-0.159    0.090   -1.773    0.076   -0.152   -0.048
 
Q2_6 ~                                                                
    consrep          
0.228    0.059    3.856    0.000    0.228    0.085
  Q6_7
~                                                                
    consrep          
0.140    0.053    2.619    0.009    0.140    0.056

  Q2_6
~                                                                
    libdem          
-0.078    0.087   -0.892    0.372   -0.078   -0.020
 
Q6_7 ~                                                                
    libdem          
-0.260    0.086   -3.019    0.003   -0.260   -0.072



Intercepts:
                   
Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   
.Q1_6              2.856    0.170   16.793    0.000    2.856    2.135
   
.Q2_6              3.357    0.217   15.498    0.000    3.357    2.671
   
.Q3_6              3.315    0.225   14.727    0.000    3.315    2.856
   
.Q4_6              3.797    0.252   15.048    0.000    3.797    3.408
   
.Q5_7              4.145    0.214   19.390    0.000    4.145    3.976
   
.Q6_7              4.233    0.199   21.257    0.000    4.233    3.662
   
.loya              0.000                               0.000    0.000


Variances:
                   
Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   
.Q1_6              1.488    0.045   32.743    0.000    1.488    0.831
   
.Q2_6              1.065    0.043   24.786    0.000    1.065    0.674
   
.Q3_6              0.791    0.036   21.723    0.000    0.791    0.587
   
.Q4_6              0.543    0.032   17.150    0.000    0.543    0.437
   
.Q5_7              0.595    0.030   19.622    0.000    0.595    0.547
   
.Q6_7              0.910    0.039   23.526    0.000    0.910    0.681
   
.loya              1.000                               0.910    0.910


R
-Square:
                   
Estimate
    Q1_6              
0.169
    Q2_6              
0.326
    Q3_6              
0.413
    Q4_6              
0.563
    Q5_7              
0.453
    Q6_7              
0.319
    loya              
0.090


> modificationindices(loya1, standardized = TRUE,sort. = TRUE)
               lhs op            rhs     mi    epc sepc
.lv sepc.all sepc.nox
188           Q6_7  ~           Q2_6 29.353  0.140   0.140    0.152    0.152
166           Q2_6 ~~           Q6_7 29.352  0.149   0.149    0.152    0.152
175           Q2_6  ~           Q6_7 29.351  0.164   0.164    0.151    0.151
200           Q6_7  ~            Q11 24.255 -0.059  -0.059   -0.111   -0.051
395        consrep  ~           Q6_7 23.959  0.132   0.132    0.327    0.327
160           Q1_6 ~~           Q4_6 15.389  0.110   0.110    0.123    0.123
164           Q2_6 ~~           Q4_6 13.282 -0.096  -0.096   -0.127   -0.127
162           Q1_6 ~~           Q6_7 13.280 -0.112  -0.112   -0.097   -0.097
163           Q2_6 ~~           Q3_6 12.147  0.095   0.095    0.104    0.104
168           Q3_6 ~~           Q5_7 12.138 -0.080  -0.080   -0.116   -0.116
172           Q5_7 ~~           Q6_7 10.575  0.073   0.073    0.099    0.099
171           Q4_6 ~~           Q6_7  9.868 -0.076  -0.076   -0.108   -0.108
189           Q6_7  ~  schooldummy_1  9.267 -0.500  -0.500   -0.064   -0.433
...
>













Terrence Jorgensen

unread,
Jan 6, 2020, 5:22:27 PM1/6/20
to lavaan
Is it accurate to say I am controlling for these variables when I regress the factor on them?

Every path in an SEM is a slope.  The interpretations are the same as in any other regression model. So yes, if you have multiple predictors, your interpretation of a slope is always the expected change in the outcome given any other predictors of that outcome.

Terrence D. Jorgensen
Assistant Professor, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam

Reply all
Reply to author
Forward
0 new messages