R中fixest与plm实现2SLS固定效应回归的差异及语法疑问
R面板固定效应2SLS回归常见问题解答
1 fixest与plm包同模型结果差异原因
两个包的核心2SLS估计逻辑没有本质区别,结果差异几乎都来自参数默认设置的不同:
- fixest默认报告的R²是无校正的原始R²,计算逻辑为1 - (残差平方和 / 总平方和),当2SLS模型拟合效果差于仅包含固定效应的空模型时,就会出现负R²,属于正常计算结果并非报错。
- plm默认对估计结果的自由度、R²计算规则做了不同校正,若你没有手动对齐两个包的固定效应维度、标准误聚类设置、工具变量集、有限样本校正开关,输出结果自然会有明显差异。
- 对齐上述所有参数后,两个包输出的核心系数、标准误结果会完全一致。
2 plm包2SLS支持与工具变量语法说明
plm完全支持固定效应2SLS估计,其工具变量采用|分隔的两部分公式语法,规则如下:
- 你贴出的示例代码中
| . - lprbarr - lpolpc + ltaxpc + lmix的含义确实是:lprbarr、lpolpc为内生变量,ltaxpc、lmix为两者的工具变量,其余原始回归变量(.指代|前的所有回归变量)均为外生控制变量,你的理解正确。 - 如果你仅需要为
lprbarr设置ltaxpc、lmix作为工具变量,lpolpc作为外生变量保留,你写的| . - lprbarr + ltaxpc + lmix语法完全正确。
单内生变量场景的完整代码示例:
# 固定效应2SLS:仅lprbarr为内生变量,工具变量为ltaxpc、lmix FE2SLS <- plm(被解释变量 ~ lprbarr + lpolpc + 其他控制变量 + 固定效应变量 | . - lprbarr + ltaxpc + lmix, data = 你的面板数据集, model = "within")
内容的提问来源于stack exchange,提问作者Lars
相关产品推荐
相关产品推荐

