# Differences between meta-analytic indirect effects estimated using meta() and tssem2()

7 posts / 0 new Offline
Joined: 03/05/2013 - 09:31
Differences between meta-analytic indirect effects estimated using meta() and tssem2()
AttachmentSize mediation.png7.33 KB metaSEM script.R1.97 KB

Hi Mike and metaSEM users,

First of all, thank you, Mike, for maintaining such an active presence on this forum! It makes a HUGE difference as a user to be able to get questions answered from the package maintainer within a pretty reasonable timeframe. :)

I had another question about the meta-analytic indirect effects that are estimated by indirectEffect() (and then meta-analytically combined using meta() ).

As most people already know, in a single sample, a mediation model can be represented as a path model in the attached image. This path model can be represented using the following two regression models:

(1) M ~ aX + e_1
(2) Y ~ bM + cX + e_2

The direct effect of X on Y, not through M, can be estimated using c and the indirect effect of X on Y through M can be estimated using the product ab.

For a meta-analysis I'm doing, I wanted to present coefficients a, b, and c so that readers could understand the relative contributions of a and b to the indirect effect. I had thought that a good way to do this would be to estimate the meta-analytic pooled correlation matrix using tssem1(), which I could use to find meta-analytic coefficient a, and fit the regression model (2) with this pooled correlation matrix using tssem2(), yielding coefficients b and c. You can find my code using 10 arbitrary correlation matrices attached.

My problem is that the product ab calculated using the method I described above departs quite substantially from the meta-analytic indirect effect estimated by first calculating the indirect effect within each correlation matrix, then pooling these indirect effects. The coefficient c obtained from tssem2() also departs from the direct effect obtained from indirectEffect() and meta(). I haven't done a formal simulation study, but I've played with different correlation matrices and found that the indirect effects estimated in these different ways depart from each other pretty consistently.

What's going on here? Is there a flaw in my thinking? Is there a better way of obtaining meta-analtyic estimates of the quantities a, b, and c? Offline
Joined: 10/08/2009 - 22:37
Hi Patrick, Thanks for

Hi Patrick,

Thanks for bringing up this question. This topic is what we wanted to address in Cheung and Cheung (in press). We termed the first approach as the correlation-based MASEM and the second approach as the parameter-based MASEM.

Cheung, M. W.­-L., & Cheung, S.­F. (in press). Random-effects models for meta­-analytic structural equation modeling: Review, issues, and illustrations. Research Synthesis Methods. Available at https://dl.dropboxusercontent.com/u/25182759/Random%20effects%20models%20for%20meta%20analytic%20structural%20equation%20modeling%20Review%20issues%20and%20illustrations.pdf

By the way, you may estimate the indirect effect and its likelihood-based CI directly. The sample code is available at https://github.com/mikewlcheung/code-in-articles/blob/master/Cheung%20and%20Cheung%202016/REM.md

Mike Offline
Joined: 03/05/2013 - 09:31
This is great! Thanks for

This is great! Thanks for your response, and for the link to the in-press paper.

I have a few follow-up questions. First, what does it mean if the correlation-based MASEM results diverge from the parameter-based results? In the script that I posted, there are no missing data, so differences in missing data methods can't explain the divergence in the results.

Second, I tried modifying my code to estimate the indirect effect and CI directly, as shown in your paper. Here is the code snippet (cor_mats and ns are both defined in my previous script):

mod_1 <- tssem1(cor_mats, ns, method = "REM")
A1 <- create.mxMatrix(c(0,"0.2b","0.2c",
0, 0, "0.2a",
0, 0, 0),
type="Full", ncol=3, nrow=3, as.mxMatrix=FALSE, byrow=TRUE)
dimnames(A1) <- list(c("y","m","x"), c("y","m","x"))
S1 <- create.mxMatrix(c("0.2
Error_y","0.2Error_m",1), type="Diag", as.mxMatrix=FALSE)
dimnames(S1) <- list(c("y","m","x"), c("y","m","x"))
mod_2 <- tssem2(mod_1, Amatrix=A1, Smatrix=S1,
diag.constraints=TRUE, intervals.type="LB",
mx.algebras=list( indirect=mxAlgebra(a
b, name="indirect"),
direct=mxAlgebra(c, name="direct") ))

However, when I try to estimate mod_2, I get the following error:

 The linearized problem has no feasible solution. The problem may not be feasible.

I'm guessing that this error is related to the fact that, in the parameter-based model, the heterogeneity component for the indirect effect is quite small and needed to be fixed at 0 (something that has happened to me with most of the MASEMs I've fit that involve indirect effects). Any advice about how address this error? Offline
Joined: 10/08/2009 - 22:37
Regarding the first question,

Regarding the first question, there are two different ways to calculate the indirect effects. The first indirect effect is calculated from the average correlation matrix whereas the second indirect effect is the average of the individual indirect effects. It might be tempted to think that they are the same. But they are likely different in the presence of random effects. This is similar to the case that the average correlation is likely different from the transformed average Fisher's z score in meta-analysis.

I am not an export on this topic. Adam Hafdahl is, see http://cogsci.stackexchange.com/questions/1214/what-articles-use-structural-equation-modelling-in-a-meta-analytic-context-to-mo/1901#1901

Regarding the second question, I don't have the same error. However, there is an error code 5 in mod_1. It works fine with the following changes.

mod_1 <- tssem1(cor_mats, ns, method = "REM", RE.type="Diag")

This is an issue I hope to address it someday. Offline
Joined: 03/05/2013 - 09:31
Hi Mike, I have another

Hi Mike,

I have another follow-up question. In the context in which I'm working, I have very strong reasons to believe that there will be heterogeneity in both the direct and indirect effects. The reason is that I am working with different treatment comparisons -- so, study 1 might be comparing treatments A and B, whereas study 2 might make an entirely different comparison (B and C, A and E, etc).

Given that I have strong a priori reasons to believe that there will be substantive (i.e., not related to sampling) heterogeneity in these effects, would you say that a correlation-based approach is inappropriate? In some of your past papers (e.g., Cheung & Chan, 2005) , you argue that fitting a structural model in Stage 2 is generally uninformative in the presence of heterogeneity.

To phrase my question a different way -- if there is hetereogeneity in the underlying correlation matrices, are there any reasonable ways of handling the heteroegeneity besides dividing the matrices into homogeneous subsets? Offline
Joined: 10/08/2009 - 22:37
Hi Patrick, Since you are

Hi Patrick,

Since you are interested in the heterogeneity of the indirect effects, the parameter-based meta-analysis is more appropriate to address your research questions. Various study characteristics may be used to predict the indirect effects. If there are not too many missing data, it is a good choice.

Mike Offline
Joined: 03/05/2013 - 09:31
OK, I fiddled with the start

OK, I fiddled with the start values in both the correlation-based and parameter-based models and switched to the SLSQP optimizer (I was using CSOLNP). With these changes, I got both models to converge without fixing the heterogeneity of the indirect effect to 0 in the parameter-based model (script attached).

Now that the models are converging, the indirect effect is .035 in the correlation-based model and .043 in the parameter-based model -- much closer. This makes me conclude that the divergence was due to the fixed value of the heterogeneity of the indirect effect.