Bookmark and Share

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


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

Re: st: re: standardized betas with nlcom


From   John Antonakis <[email protected]>
To   [email protected]
Subject   Re: st: re: standardized betas with nlcom
Date   Sun, 13 Apr 2014 11:40:21 +0200

Hi Amy:

You can prefix test-type commands with -estat stdize- that is for sure. I would sooner trust tests of the unstandardized than the standardized results. Standardized results do not mean much and most would prefer to see original metrics for interpretation.

However, what is more important is for you to reflect on what you are testing, exactly. Are the mediators endogenous? They probably are. If so, you should not be estimating "piecemeal" equations--you need to "join" them by allowing the disturbances to correlate and thus account for possible common omitted causes of the mediators and the dependent variable. What you are doing now is akin to testing the system of equations via OLS, which will be inconsistent as compared to 2SLS if the mediators are endogenous. You need to use an instrumental variable estimator (see code below, and for explanations see Antonakis et al., 2010). Thus, following your specification you should also add the disturbance covariances:

sem (med1 <- indvar mod interact ) (med2 <- indvar mod interact )
(depvar <- med1 med2 indvar mod interact), cov(e.depvar*e.med1 e.depvar*med2 e.med1*e.med2)

Now, if you try to estimate this, you are not causally identified. I guess you are interested in testing a moderation effect in the first stage. If so you should test:

sem (med1 <- indvar mod interact ) (med2 <- indvar mod interact )
(depvar <- med1 med2), cov(e.depvar*e.med1 e.depvar*med2 e.med1*e.med2)

The Hausman endogeneity test is:
test (_b[cov(e.y,e.med1):_cons]=0) ( _b[cov(e.y,e.med2):_cons] = 0)

However, you will still have a problem because you do not have a unique instrument for each mediator. To identify the causal effect you need to have one unique instrument for each endogenous regressor. To see the problems, run the following code (we know that from the data generation, the effect of each mediator on y should be 1; note, q is an omitted common cause of the mediators and y):

clear
set seed 123
set obs 10000
gen iv = rnormal()
gen mod = rnormal()
gen q = rnormal()
gen inter = iv*mod
gen med1 = iv + mod + inter + q + rnormal()
gen med2 = iv + mod + inter + q + rnormal()
gen y = med1 + med2 + q + rnormal()
*your way
sem (y <- med1 med2 iv mod inter) (med1 med2 <- iv mod inter),
*the correct way (but which is not causally identified)
sem (y <- med1 med2) (med1 med2 <- iv mod inter), cov(e.y*e.med1 e.y*e.med2 e.med1*e.med2)
test (_b[cov(e.y,e.med1):_cons]=0) ( _b[cov(e.y,e.med2):_cons] = 0)

So, I would stand back and think about what it is you are trying to do. You should have an extra instrument for either med1 or med2:

clear
set seed 123
set obs 10000
gen iv = rnormal()
gen iv2 = rnormal()
gen mod = rnormal()
gen q = rnormal()
gen inter = iv*mod
gen med1 = iv + mod + inter + q + iv2+ rnormal()
gen med2 = iv + mod + inter + q + rnormal()
gen y = med1 + med2 + q + rnormal()
*your way
sem (y <- med1 med2 iv mod inter iv2) (med1 med2 <- iv mod inter iv2),
*the correct way (which is causally identified this time)
sem (y <- med1 med2) (med1 med2 <- iv mod inter iv2), cov(e.y*e.med1 e.y*e.med2 e.med1*e.med2)
test (_b[cov(e.y,e.med1):_cons]=0) ( _b[cov(e.y,e.med2):_cons] = 0)

To better understand these issues see the papers below--you might want to start with my video and then the book chapter.

Best,
J.


Ref:
Antonakis, J., Bendahan, S., Jacquart, P., & Lalive, R. (2010). On making causal claims: A review and recommendations. The Leadership Quarterly, 21(6), 1086-1120.

Baltagi, B. H. (2002). Econometrics. New York: Springer.

If you would like a more basic introduction, see: Antonakis, J., Bendahan, S., Jacquart, P., & Lalive, R. (2014). Causality and Endogeneity: Problems and solutions. In D. V. Day (Ed.), The Oxford Handbook of Leadership and Organizations (pp. 93-117). New York: Oxford University Press.

For a more basic introduction, see also
http://www.youtube.com/watch?v=dLuTjoYmfXs


__________________________________________

John Antonakis
Professor of Organizational Behavior
Director, Ph.D. Program in Management

Faculty of Business and Economics
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
Organizational Research Methods
__________________________________________

On 13.04.2014 04:29, Amy Hale wrote:
Hi Statalisters,

I'm running some moderated mediation models and need to obtain
standardized betas, but when I added - estat stdize: - to the - nlcom-
command line the z and p-values changed dramatically (e.g. before
adding - estat stdize: - p value was .015, after it was .881).  Any
ideas what might be happening?

The code I'm using is:

sem (med1 <- indvar mod interact) (med2 <- indvar mod interact)
(depvar <- med1 med2 indvar mod interact), standardized

summarize mod
global m = r(mean)
global s = r(sd)

estat stdize: nlcom (_b[med1:indvar]+($m-$s)*_b[med1:wx])*_b[depvar:med1]
estat stdize: nlcom (_b[med1:indvar]+($m)*_b[med1:wx])*_b[depvar:med1]
estat stdize: nlcom (_b[med1:indvar]+($m+$s)*_b[med1:wx])*_b[depvar:med1]
estat stdize: nlcom (_b[med2:indvar]+($m-$s)*_b[med2:wx])*_b[depvar:med2]
estat stdize: nlcom (_b[med2:indvar]+($m)*_b[med2:wx])*_b[depvar:med2]
estat stdize: nlcom (_b[med2:indvar]+($m+$s)*_b[med2:wx])*_b[depvar:med2]
estat stdize: nlcom
(_b[med1:indvar]+($m-$s)*_b[med1:wx])*_b[depvar:med1]+
(_b[med2:indvar]+($m-$s)*_b[med2:wx])*_b[depvar:med2]
estat stdize: nlcom (_b[med1:indvar]+($m)*_b[med1:wx])*_b[depvar:med1]
+ (_b[med2:indvar]+($m)*_b[med2:wx])*_b[depvar:med2]
estat stdize: nlcom
(_b[med1:indvar]+($m+$s)*_b[med1:wx])*_b[depvar:med1] +
(_b[med2:indvar]+($m+$s)*_b[med2:wx])*_b[depvar:med2]


key:
*med1 = mediator #1
*med2 = mediator #2
*mod = moderator
*interact = interaction term
*indvar = independent variable
*depvar = dependent variable

Should I be using a different command to get standardized betas with
-nlcom-, or am I missing something obvious?

Thanks,
Amy
*
*   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–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index