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]

Re: st: about ivregress

From   John Antonakis <>
Subject   Re: st: about ivregress
Date   Tue, 28 Aug 2012 08:20:33 +0200

[Oops. There was a typo in the Three-stage least square command, which should have 3sls (the default, thus it does not even need to be written, instead of 2sls)]

It does; as Kit suggested "varlist" is a list of (n) variables. Try:

ivregress 2sls y x1 (x2 x5 =x3 x4 x6 x7)

If you want to specify your model precisely as indicated below, you'll need to use reg3 or sem:

Two-stage least squares estimator
reg3 (y x1 x2 x5) (x2 x3 x4) (x5 x6 x7), 2sls

Three-stage least squares estimator
reg3 (y x1 x2 x5) (x2 x3 x4) (x5 x6 x7), 3sls

You can test overidentifying restrictions with the userwritten -overid- command.

You can estimated this with -sem- too, Maximum likelihood:

sem (y<- x1 x2 x5) (x2 <-x3 x4) (x5<-x6 x7)

You can also add ", vce(robust)" to the sem command.

This should help,


Prof. John Antonakis
Faculty of Business and Economics
Department of Organizational Behavior
University of Lausanne
Internef #618
CH-1015 Lausanne-Dorigny
Tel ++41 (0)21 692-3438
Fax ++41 (0)21 692-3305

Associate Editor
The Leadership Quarterly

On 28.08.2012 19:05, Lynn Lee wrote:

The example provided in help document is " ivregress 2sls rent pcturban
(hsngval = faminc i.region)", which indicates  the endogenous variable is
"hsngval" and the number of endogenous variable is one. Now, my model has
two endogenous variables, "ivregress 2sls y x1 (x2=x3 x4) (x5=x6
x7)", this
command is wrong. I am wondering whether there is command that
handles two
endogenous variables x2 and x5 at same time.  Thanks for any suggestion.

Best Regards,
Lynn Lee

-----Original Message-----
[] On Behalf Of
Christopher Baum
Sent: Monday, August 27, 2012 1:41 PM
Subject: re: st: about ivregress

Lynn said:

My estimation model has two endogenous explanatory variables
data set). The command "ivregress 2sls" or "ivregress gmm" are
suitable for
one endogenous variable. What specific command I can use if I want to
these two endogenous variables at same time in Stata? And what
command for
handling more than one endogenous variables in panel data is used?

The syntax for -ivregress- is

        ivregress estimator depvar [varlist1] (varlist2 = varlist_iv)
[in] [weight] [, options]

Note that -varlist2- is a varlist, not a varname. Thus you may put as
variables as you wish into -varlist2-, s.t. the order condition for
identification, which requires that -varlist_iv- has at least as many
elements as -varlist2-.

In panel data, use -xtivreg-, which uses the same syntax.

For a broader set of features, -ssc desc ivreg2- and -ssc xtivreg2-
and the
two Stata Journal papers by Baum, Schaffer, Stillman referenced in their
help files.


Kit Baum   |   Boston College Economics & DIW Berlin   |
                             An Introduction to Stata Programming  |
  An Introduction to Modern Econometrics Using Stata  |

*   For searches and help try:

*   For searches and help try:

*   For searches and help try:
*   For searches and help try:

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