You are here

Testing for Partial Invariance

5 posts / 0 new
Last post
j.aitken's picture
Offline
Joined: 06/30/2021 - 23:08
Testing for Partial Invariance

Hello,

My research team is interested in testing a mediation model and comparing the coefficients of A paths (from IV to Mediators) as well as the coefficients of B paths (from Mediators to DV). To do so, we estimated a model without B paths and constrained all A paths to be equal and then compared the fit of that model to one where A paths were not constrained. Similarly, we tested a model (including A paths) where B paths were constrained versus one where they were not.

However, we want to test for partial invariance by relaxing each constraint one at a time to see which significantly differ and which do not. We believe the lavTestScore function (from lavaan) would allow us to do so, but we’re unsure whether this is possible in metaSEM or which function would facilitate such a test. We would appreciate any help on this issue!

In addition, because we are only interested in the A paths (without B paths or the direct effect of the IV on the DV) in the first test, we wanted to ask whether it was possible to fit a model that does not include a path to the DV or that does not make use of a variable included in the correlation matrix? We got an error message (when calling tssem2) that the model specifications imply a 7x7 correlation matrix but the pooled correlation matrix (output of tssem1) is an 8x8 matrix, so clarity on this issue would be appreciated as well!

Thank you!
John Aitken

Mike Cheung's picture
Offline
Joined: 10/08/2009 - 22:37
Hi John,

Hi John,

Could you please post a reproducible example by including the data and R code?

Mike

j.aitken's picture
Offline
Joined: 06/30/2021 - 23:08
Yes! I've attached data and

Yes! I've attached data and code to this comment. Thank you very much for the help!

Also, following AdminNeale's advice, I've included the B paths in the model testing for invariance among A paths. Thanks for the helpful advice!

John

Mike Cheung's picture
Offline
Joined: 10/08/2009 - 22:37
Hi John,

Hi John,

Regarding your second question on using a different number of variables in the stage 2 analysis, a simple approach is to rerun the stage 1 analysis with the selected variables.

Another approach is to use the developmental version in Github (https://github.com/mikewlcheung/metasem), which includes a subset.variables argument. For example,

model <- '
ts ~ es 
cp ~ es
sc ~ es
 
# Variance of exogenous variable (employment status)
es ~~ 1*es      # Fix variance of IV to 1
'
 
RAM <- lavaan2RAM(model, obs.variables = c("es", "ts", "cp", "sc"))
 
random2 <- tssem2(random1_pd, RAM=RAM,
                  subset.variables = c(TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE),
                  model.name = "model with 4 variables")
summary(random2)
AdminNeale's picture
Offline
Joined: 03/01/2013 - 14:09
Why no B paths?

I note an asymmetry, in that you test A path equality without B paths, but when you do the same for the B paths, you keep the A paths in the model. I think you should keep the non-equated paths in the model in both cases (which may solve your issue). Also, you may not be aware that it is possible to request standard errors, or better still, likelihood-based confidence intervals, on functions of parameters, enabling a well-powered test of mediation by examining the CIs of the A*B path product.