楼主: Sunny602678
6946 1

[问答] 存在异方差性时,怎么得到稳健标准误(R语言) [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

本科生

29%

还不是VIP/贵宾

-

威望
0
论坛币
33 个
通用积分
7.6879
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
495 点
帖子
57
精华
0
在线时间
116 小时
注册时间
2016-6-27
最后登录
2020-11-8

楼主
Sunny602678 在职认证  学生认证  发表于 2020-4-6 12:19:09 |AI写论文
20论坛币
样本数据是非平衡面板数据(混合截面数据)
lm1=lm(rdin~.,data=reg1)
回归后经bptest检验发现存在严重的异方差性,想要修正标准误使其稳健,并得到修正后的t值

目前学习到的命令有三种:第一个:kk1=coeftest(lm1,vcov=vcovHAC(lm1))


第二个:
kk2=coeftest(lm1,vcov.= vcovHC(lm1,method='white1',type='HC1',cluster='group'))
第三个:
kk3=coeftest(lm1, vcov = NeweyWest(lm2))

用了以上三种方式后,发现各个方式得到的修正t值都不一样。目前只知道vcovHC进行的是异方差一致估计,vovHAC和NeweyWest进行的是异方差和自相关一致估计(但二者给出的结果也不一样)。在R里面help了这些函数查看也不太明白。

想问:为什么这三种方式修正的结果不一样?三种方法各自适用什么情况呢?请大神赐教







沙发
film2004 发表于 2021-12-23 04:01:51
最简单的办法是用包estimatr里的函数lm_robust(),验证过,这个函数的结果与李子奈计量经济学例子里面的结果是相同的。
library(estimatr) #计算white异方差稳健标准误需要
lm_robust(Y~X1+X2,dat)

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-16 12:03