楼主: zhsytl1980
7883 6

[回归分析求助] 请问各位大神,采用ivreghdfe命令做完工具变量回归后,怎么生成各个样本的残差呢? [推广有奖]

  • 0关注
  • 0粉丝

高级会员

硕士生

17%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
420 点
帖子
19
精华
0
在线时间
251 小时
注册时间
2011-6-21
最后登录
2025-1-8

楼主
zhsytl1980 发表于 2021-6-26 18:05:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问各位大神,采用ivreghdfe命令做完工具变量回归后,怎么生成各个样本的残差呢?采用predict,提示you must add the resid option to reghdfe before running this prediction。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:IVREG 工具变量 GHD REG IVR

回帖推荐

黃河泉 发表于2楼  查看完整内容

请参考

蓝色 发表于3楼  查看完整内容

sysuse auto,clear *残差为ehat ivreghdfe price weight (length=gear), absorb(trunk, resid(ehat)) *残差为_reghdfe_resid ivreghdfe price weight (length=gear), absorb(trunk, resid) *对比ehat 和_reghdfe_resid list ehat _reghdfe_resid in 1/10

沙发
黃河泉 在职认证  发表于 2021-6-26 19:42:39
请参考
  1. sysuse auto, clear

  2. ivreg2 price weight (length=gear) i.rep78
  3. predict w1, r

  4. ivreghdfe price weight (length=gear), absorb(rep78, resid(w2))
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
zhsytl1980 + 5 + 5 + 5 精彩帖子

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

藤椅
蓝色 发表于 2021-6-26 20:09:53
sysuse auto,clear

*残差为ehat
ivreghdfe price weight (length=gear), absorb(trunk, resid(ehat))
*残差为_reghdfe_resid
ivreghdfe price weight (length=gear), absorb(trunk, resid)

*对比ehat 和_reghdfe_resid
list ehat _reghdfe_resid  in 1/10


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
zhsytl1980 + 5 + 5 + 5 精彩帖子

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

板凳
zhsytl1980 发表于 2021-6-27 12:03:53
非常感谢两位老师的回复,困扰很久的问题终于解决了。

报纸
jli888 发表于 2022-10-9 09:57:28
黃河泉 发表于 2021-6-26 19:42
请参考
老师您好,按照您的代码做ivreghdfe报错了invalid suboptions in absorb(): resid(ehat),然后我把resid(ehat)放在了absorb括号外了,这样就可以了。不知道这样做对不对,跟您的有区别吗

地板
shanghuanpu0 发表于 2024-3-7 14:37:33
jli888 发表于 2022-10-9 09:57
老师您好,按照您的代码做ivreghdfe报错了invalid suboptions in absorb(): resid(ehat),然后我把resid( ...
您好 我也这样改了 请问这样做可以吗

7
赵安豆 发表于 2024-7-14 12:27:32
在Stata中使用`ivreghdfe`进行工具变量回归后,生成每个样本的残差需要遵循特定步骤。由于你提到`predict`命令给出了错误信息,这是因为`ivreghdfe`命令本身不直接支持使用`predict`来生成残差。

然而,你可以通过以下步骤间接得到残差:

1. 首先运行你的IV回归:
```stata
ivreghdfe depvar (endog_var = instr_var) exog_vars, absorb(idvar)
```
这里假设`depvar`是被解释变量,`endog_var`是内生解释变量,`instr_var`是对应的工具变量,`exog_vars`是外生的控制变量,而`idvar`是用来吸收固定效应(如果需要的话)。

2. 然后,你可能需要保存预测值。尽管`ivreghdfe`命令本身不直接支持使用`predict`生成残差,但你可以先用它来得到预测值:
```stata
predict double predvar, xb
```
这里,`predvar`是你选择的变量名用来存储预测值。

3. 接着计算残差。这可以通过从实际观测值中减去预测值得到:
```stata
gen double resid = depvar - predvar
```

这样,你就能得到每个样本的残差了。

但值得注意的是,在使用`ivreghdfe`时,由于它会自动处理固定效应和高维吸收等问题,直接通过上述方法计算的残差可能未完全剔除这些影响。如果你需要更精确地控制这些细节,可能需要进一步调整你的模型设定或使用专门设计用于处理复杂数据结构的方法。

此外,Stata的社区贡献命令集(如`reghdfe`)经常更新和改进功能,所以在遇到问题时,确保你安装的是最新版本,并查阅相应的文档以获取最准确的信息。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 15:48