disappearing indirect effects

33 views
Skip to first unread message

Chris Y.

unread,
Jun 10, 2019, 9:44:40 AM6/10/19
to lavaan
Dear Forum

I have a question about calculating indirect (and total) effects in a SEM which relates to an environmental psychology study about the effects of greenspace on restoration.

My SEM has two 1st-order latent variables and one second order latent variable, constructed from the two 1st-order latent variables and a third (non-latent) variable. I am mainly interested in the effects of determinants 1 and 2 on "restoration" (the outcome), mediated by the second-order latent variable. My question is about the indirect effects (which I calculate at the end of the model). The indirect effects of both determinant1 and determinant2 are not significant and very small. This is not the case in simpler models I have run, but the effects disappear in this model.

model <-
"
# latent variables
2nd_order =~ a*1st_order1+1st_order2+f*R5
1st_order1 =~ R1 + R2
1st_order2 =~ R3 + R4
# regressions
1st_order1 ~ b*determinant1+control1
R5 ~ g*determinant2+control2+control3+control4+control5
determinant3~ h*determinant2+control2+control3+control4+control5
2nd_order ~ i*determinant2+e*determinant1+control1+control2+control3+control4+control5
restoration ~ c*2nd_order+d*determinant1+control1+j*determinant3+k*determinant2+control2+control3+control4+control5
# control1-5 are (socio-economic) control variables
# indirect effect determinant1
ind1:=a*b*c*e
# total effect determinant1
total1:=ind+d
# indirect effect determinant2
ind2:=c*f*g*h*j*i
# total effect determinant2
total2:=ind2+k
"
model.fit <- sem(model, data=data, missing="fiml", estimator="MLR")
summary(model.fit, fit.measures=T, standardized=T)

What puzzles me is that while the indirect effects are not significant, the individual paths are all significant. So focusing on determinant1, the effect of determinant1 on  on 2nd-order is significant and substantial, as is the effect of 2nd-order on restoration, as is the effect of determinant1 on 1st-order1 etc. The diagram attached gives a visual illustration, with all the paths involved in the indirect effect of determinant1 on restoration marked in red (coefficients given are standardized betas).

Of course, given the way indirect effects are calculated, I'm not that surprised that I get non-significant and small effects, as I am multiplying 4 values between 0 and 1 with each other, which results in a very small number. Indeed, in simpler model specifications with fewer values to multiply, I get a significant indirect effect of determinant1.

Am I actually calculating the indirect effects correctly in my R script? Is there a limit to this method of multiplying coefficients to calculate the indirect effect? Is there a better way of calculating indirect effects? Or is my problem related to my sample size, which is around 300 cases.

Thanks for any help
Chris
model_for_lavaangroup.jpg

Terrence Jorgensen

unread,
Jun 17, 2019, 4:40:58 PM6/17/19
to lavaan
Am I actually calculating the indirect effects correctly in my R script?

According to the arrows in your path diagram, your direct effects aren't even correct.  The "2nd order" construct appears to be an effect, rather than cause, of the "1st order" constructs.  

Is there a limit to this method of multiplying coefficients to calculate the indirect effect?  Is there a better way of calculating indirect effects? 

That is what a linear indirect effect is.  Make sure you understand path-tracing rules:

Loehlin, J. C. (1987). Latent variable models: An introduction to factor, path, and structural analysis. Lawrence Erlbaum Associates, Inc.

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

Chris Y.

unread,
Jun 24, 2019, 5:38:03 AM6/24/19
to lavaan
Dear Terrence

Many thanks for your answer. I hadn't seen the mistake in my diagram, though it should have been obvious. The path tracing rules in Loehlin were very useful and solved my problem.

Just in case it could help someone else, the (rather glaring) mistake I made was in the calculation of the indirect effects. I multiplied all coefficients of determinant1 in all the paths it occurred, except the direct path.

# indirect effect determinant1
ind1:=a*b*c*e

What I should have done was this:

# indirect effect determinant1
ind1:=e*c

This involved two simultaneous mistakes. (1) I didn't add the separate paths, instead I multiplied them. Correcting just this would have given me b*a+e*c. However, (2) b*a violates tracing rules, as it goes along an arrow forwards, then backwards. So I end up with just e*c.

Many thanks again!
Chris
Reply all
Reply to author
Forward
0 new messages