Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: Analyzing multiple mediators

 From John Antonakis <[email protected]> To [email protected] Subject Re: st: Analyzing multiple mediators Date Thu, 22 Nov 2012 21:08:31 +0100

```Hi Isok:

```
One thing to pay attention to is that all these methods assume that the is exogenous. If your mediator is endogenous (depends on the exogenous variables), it is possible that it correlates with omitted causes in the y-equation. Thus, -sureg- unless iterated (option -isure-), you will not get consistent estimates (see documentation in Stata).
```
```
To obtain consistent estimates where you have endogenous regressors you'll need use 2SLS, 3SLS (with -reg3-), or to correlate cross-equation disturbances using maximum likelihood estimation (with -sem-) . For identification, you'll need as many "instruments" (exogenous variables) as you have endogenous regressors. Ideally you'll have more so you can do overidentification tests.
```
```
For a basic intro to all this see (see discussion around "two inconvenient demonstrations" and "Two-stage least squares in practice: An example"):
```
```
Antonakis, J., Bendahan, S., Jacquart, P., & Lalive, R. (in press). Causality and endogeneity: Problems and solutions. In D.V. Day (Ed.), The Oxford Handbook of Leadership and Organizations. http://www.hec.unil.ch/jantonakis/Causality_and_endogeneity_final.pdf
```

```
Antonakis, J., Bendahan, S., Jacquart, P., & Lalive, R. (2010). On making causal claims: A review and recommendations. The Leadership Quarterly, 21(6). 1086-1120. http://www.hec.unil.ch/jantonakis/Causal_Claims.pdf
```
Best,
J.

__________________________________________

Prof. John Antonakis
Department of Organizational Behavior
University of Lausanne
Internef #618
CH-1015 Lausanne-Dorigny
Switzerland
Tel ++41 (0)21 692-3438
Fax ++41 (0)21 692-3305
http://www.hec.unil.ch/people/jantonakis

Associate Editor
__________________________________________

> Hi,
>
```
> I'm trying to analyze a model with multiple mediators, as described in ULCA
```> stata FAQ site (http://www.ats.ucla.edu/stat/stata/faq/mulmediation.htm).
> The analyses are based on Preacher & Hayes (2008) method and uses
> combination of -sureg- and -nlcom- commands to get the coefficients and
> indirect effects coefficients, respectively. Then to get the standard
> errors, it demonstrates use of ado-program called 'bootmm' and subsequent
> bootstrap post-estimation command.
>
> Where I'm having trouble with this combination of analyses is at the last
> stage with bootstrap command. The error msg reads, "insufficient
```
> observations to compute jackknife standard errors; no results will be saved"
```> r(2000).
>
```
> There are 397 observations included in the analyses and -sureg- command runs > fine. I'm not sure where the error is coming from. Below is the syntax I > used. Any suggestion or insight into resolving this problem would be greatly
```> appreciated!
>
> Thanks,
> isok
>
```
> *---------------------------------------------------------------------------
```> */
> /* H2a: Mediation Test IVs(PRD) MV(GC3E GC3D RC3E RC3D) DV(CESD)
> CV(controls)*/
> /* surge (mv1 iv cv)(mv2 iv2 cv)(dv mv1 mv2 iv cv)
> */
> /* nlcom [mv1]_b[iv]*[dv]_b[mv1]
> */
```
> /*--------------------------------------------------------------------------
```> -*/
>
> /*-sureg-&-nlcom- methods*/
>
> sureg (GC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>       (GC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>       (RC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>       (RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>       (CESD GC3E GC3D RC3E RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS
> i.NATIVITY) if NMV==1
>
> //Indirect via GC3E
> nlcom [GC3E]_b[PRD]*[CESD]_b[GC3E]
> //Indirect via GC3D
> nlcom [GC3D]_b[PRD]*[CESD]_b[GC3D]
> //Indirect via GC3E
> nlcom [RC3E]_b[PRD]*[CESD]_b[RC3E]
> //Indirect via GC3D
> nlcom [RC3D]_b[PRD]*[CESD]_b[RC3D]
>
> //Total indirect
> nlcom [GC3E]_b[PRD]*[CESD]_b[GC3E]+[GC3D]_b[PRD]*[CESD]_b[GC3D] ///
> +[RC3E]_b[PRD]*[CESD]_b[RC3E]+[RC3D]_b[PRD]*[CESD]_b[RC3D]
>
> capture program drop bootmm
> program bootmm, rclass
>     syntax [if] [in]
>     sureg (GC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>           (GC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>           (RC3E PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>           (RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS i.NATIVITY) ///
>           (CESD GC3E GC3D RC3E RC3D PRD i.SEX AGE EDU i.UNEMP i.MARSTS
> i.NATIVITY) if NMV==1
>     return scalar indGC3E = [GC3E]_b[PRD]*[CESD]_b[GC3E]
>     return scalar indGC3D = [GC3D]_b[PRD]*[CESD]_b[GC3D]
>     return scalar indRC3E = [RC3E]_b[PRD]*[CESD]_b[RC3E]
>     return scalar indRC3D = [RC3D]_b[PRD]*[CESD]_b[RC3D]
>     return scalar indtotal =
> [GC3E]_b[PRD]*[CESD]_b[GC3E]+[GC3D]_b[PRD]*[CESD]_b[GC3D] ///
>
> +[RC3E]_b[PRD]*[CESD]_b[RC3E]+[RC3D]_b[PRD]*[CESD]_b[RC3D]
> end
>
> bootstrap r(indGC3E) r(indGC3D) r(indRC3E) r(indRC3D) r(indtotal), bca
> reps(1000) nodots: bootmm
> estat boot, percentile bc bca
>
>
> *
>
>
> *
> *   For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/statalist-faq/
> * http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/
```