Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Analyzing multiple mediators


From   John Antonakis <John.Antonakis@unil.ch>
To   statalist@hsphsun2.harvard.edu
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

See also:

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
Faculty of Business and Economics
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
The Leadership Quarterly
__________________________________________


> 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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index