BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Takdir
Obsidian | Level 7

I have to perform a 2 SLS regression with multiple endogenous variable.

1st endogenous variable: a

Instrument variable for 1st endogenous variable: b c d

2nd endogenous variable: p

Instrument variable for 2nd endogenous variable: q r s

My final model: y = a p b c d q r s.

 

is there any simple way to do it?

for example using proc syslin or something like that ?

1 ACCEPTED SOLUTION

Accepted Solutions
kessler
SAS Employee

Typically, when there is only one dependent variable in your model you use all the instrumental variables to instrument both endogenous variables; however, if you want to limit which instrumental variables are used to correct for the endogeneity of each endogenous explanatory variable you could use the following:

 

proc tmodel data=yourdata;
   eq.a = y - ka*a;
   eq.p = y - kp*p;
   fit a p / ols 2sls;
   instruments (a, b c d) (p, q r s);
quit;

View solution in original post

3 REPLIES 3
kessler
SAS Employee

In both PROC MODEL and its multithreaded replacement, PROC TMODEL, you can estimate your model using two stage least squares with the following statements:

 

proc tmodel data=yourdata;
   y = ka*a + kp*p;
   fit y / 2sls;
   instruments b c d q r s;
quit;

 

Let me know if you need any further clarifications on how to use PROC (T)MODEL for your problem.

Takdir
Obsidian | Level 7

but how do i assign different instrumental variables to different endogenous variables? like how to separate them to their respective endogenous variable ?

kessler
SAS Employee

Typically, when there is only one dependent variable in your model you use all the instrumental variables to instrument both endogenous variables; however, if you want to limit which instrumental variables are used to correct for the endogeneity of each endogenous explanatory variable you could use the following:

 

proc tmodel data=yourdata;
   eq.a = y - ka*a;
   eq.p = y - kp*p;
   fit a p / ols 2sls;
   instruments (a, b c d) (p, q r s);
quit;

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

Register now!

Discussion stats
  • 3 replies
  • 3012 views
  • 0 likes
  • 2 in conversation