0

I want to run a two stages least squares/instrumental variables regression with a second stage that includes controls not included in the first stage. When I run:

library(fixest)
library(modelsummary)

modelsummary(summary(feols(mpg ~ 1 + csw0(cyl, disp) | hp ~ drat, mtcars), stage = 1:2))

the first stage will also include cyl, disp as controls, but I want them only included in the second stage. How do I achieve this?

Let me know if I should further clarify.

Swift Dev Journal
  • 19,282
  • 4
  • 56
  • 66
Anton
  • 254
  • 1
  • 9
  • 1
    I don't think you can do that. In 2SLS, the controls of the second stage have to be present in the first stage. Actually, all independent variables in the first stage are instruments: the difference is that the variables that have a direct effect on your final outcome are *included instruments*, while the variables that affect your final outcome only through the endogenous variable are *excluded instruments*. – bretauv Jul 14 '22 at 12:18
  • The thing that confuses me is that my outcome in the second stage and the control variables are observed in period t, while the endogenous explanatory variable and the instrument are observed in period t-1. Thus in the first stage I would explain the endogenous variable with controls/additional instruments from a future period. This seems illogical to me or am I overlooking something? – Anton Jul 14 '22 at 12:23
  • 1
    That might be a question more suited for [CrossValidated](https://stats.stackexchange.com/). To me, this isn't a problem since the first stage isn't supposed to be causally interpreted but only to provide predicted values that are uncorrelated with the error term in the second stage (but you should ask on CrossValidated anyway). – bretauv Jul 14 '22 at 12:30
  • 1
    [This Stata page](https://www.stata.com/support/faqs/statistics/instrumental-variables-regression/) might also be helpful – bretauv Jul 14 '22 at 12:34

0 Answers0