在Stata中进行两阶段最小二乘法(2SLS)估计,特别是当内生变量也作为"被解释变量"时,确实需要稍微调整命令。您提供的命令格式似乎是在尝试分别对每个模型运行单独的2SLS估计。但是,一个更直接和准确的方法是同时指定所有内生变量,并将它们作为一个整体与工具变量一起列出。
对于你提到的例子,假设`GSU` 和 `SH` 都是内生变量并且相互之间有关系,你应该使用同一个命令来指定所有的内生变量以及对应的工具变量。例如:
```stata
ivreghdfe SH GSU NGSC NBE Personal (GSU SH = instrument_for_GSU instrument_for_SH), first endog(GSU SH)
```
这里的关键是`(` 和 `)` 之间的部分,你将所有内生变量放在括号的左边(由一个空格隔开),然后等于符号后面列出的是对应的工具变量。确保你的工具变量能够有效识别并解释内生变量的变化。
然而,在你的命令中可能遇到的问题在于`first endog()`选项的使用。在最新的Stata版本中,这些选项可能已经被更简洁的方式所替代或不再需要。实际上,当你使用`ivreghdfe`时,通过在括号中明确列出内生变量和工具变量,就已经隐含地指出了第一阶段回归。
因此,一个简化后的命令可能是这样的:
```stata
ivreghdfe SH GSU NGSC NBE Personal (GSU SH = instrument_for_GSU instrument_for_SH)
```
确保你已经选择了正确的工具变量`instrument_for_GSU`和`instrument_for_SH`。它们应该是与内生变量相关,但不直接与模型的误差项相关联(满足外生性和关联性条件)。如果命令仍然给出错误消息,请检查是否正确输入了所有的变量名和工具变量名,以及确保没有语法上的小错误或遗漏。
此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用