Bookmark and Share

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

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

st: Calculating elasticities of an endogenous covariate with interaction terms

From   Jason Russ <>
To   statalist <>
Subject   st: Calculating elasticities of an endogenous covariate with interaction terms
Date   Tue, 1 Oct 2013 14:28:09 -0400

Hi Statalisters,

I have a question regarding calculating elasticities when there are
endogenous covariates.

I am estimating a translog production function in which the covariate
of interest is endogenous. There are three regressors, X1, X2, and X3,
(all in log form) and X1 is endogenous. Following the translog form,
all squared terms and interaction terms are also included (using
stata's syntax of c.X1##c.X1 c.X2##c.X2 c.X1#c.X2 etc...).

After estimating the regression, I need to calculate the elasticity of
X1. If X1 were not endogenous, I would use the following function to
estimate elasticity:

margins, dydx(X1) atmeans

However, since X1 is endogenous, I am running 2sls with the instrument
Z, using "ivregress". Because of the translog form, all of the
interaction terms which include X1 are also instrumented by replacing
the X1 part of the interaction term with Z. That means there will be 4
"stage 1", reduced form regressions (one for each of the endogenous
variables X1, X1^2, X1*X2, X1*X3)

Here's my problem: when using ivregress, stata will not let me include
an interaction term as the dependent variable of the reduced form
regression. I get the error  "depvars may not be interactions".

One alternative is to simply define a new variable for the squared and
interaction terms, rather than using stata syntax with the hashtags.
However, then I could not use the "margins" function, and would need
to calculate the elasticities by hand, which is feasible, but very
time consuming. However, it would also mean calculating the standard
errors of the elasticities by hand, the method for which is not
obvious to me (do I need to bootstrap?).

I would greatly appreciate it if anyone could alert me to a built in
Stata function (if one exists) that allows interaction variables as
dependent variables of the reduced form of a 2-stage regression.

If a function does not exist, any advice on how to efficiently
calculate the standard errors would also be very helpful and
appreciated. Would bootstrapping be the only way to go?

Many thanks,
Jason Russ
*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index