楼主: 胡老
6644 8

[回归分析求助] HAC(Newey-West)能够分阶段做吗? (stata) [推广有奖]

  • 3关注
  • 0粉丝

硕士生

23%

还不是VIP/贵宾

-

威望
0
论坛币
497 个
通用积分
1.0217
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
2950 点
帖子
135
精华
0
在线时间
161 小时
注册时间
2007-10-22
最后登录
2018-4-23

楼主
胡老 发表于 2016-3-26 14:54:12 |AI写论文
50论坛币
【异方差-自相关一致标准误,Heteroskedasticity and Autocorrelation Consistent (HAC) Standard Error】

我做的是四个金融时序之间的OLS,其中一个时序是被解释变量的滞后一阶(作为控制变量之一)。
因为担心出现残差的自相关性,所以要用HAC(也就是Newey-West)来修正OLS的标准误。
我用的是stata,用的是newey命令。

问题是:
我之前的这四个时序,都是分了(相同的)三阶段来做的(每个阶段大约2000个样本数,所以我HAC的滞后期取了2000的0.25次方≈7)。
因为我OLS的实证结果,必须分阶段报告系数、t值和R方。所以现在做HAC修正也得按阶段来做,不然无法分阶段报告结果
然而我by stage的命令总是出错,显示 not sorted
【【不论我是否单独运行了sort stage,甚至加上了tsset date1;还是紧挨着by stage:reg 命令一起运行,都不行】】

by stage5
by stage4
by stage3
by stage2
by stage1

难道HAC(newey命令)不能分阶段执行吗??? [cry] [cry]

求各位大侠指点一二!!万分感谢!!! [em20]

最佳答案

夏目贵志 查看完整内容

比如newey [the rest of the command] if stage==1做一个,然后newey [the rest of the command] if stage==2做一个什么的。
关键词:newey-west newey Stata tata west 自相关 HAC newey 分阶段 stata

沙发
夏目贵志 发表于 2016-3-26 14:54:13
胡老 发表于 2016-3-29 22:45
噢,我对if不熟,能简要的说说该输入神马命令吗。
比如newey [the rest of the command] if stage==1做一个,然后newey [the rest of the command] if stage==2做一个什么的。
已有 1 人评分经验 收起 理由
Captain-CUI + 60 热心帮助其他会员

总评分: 经验 + 60   查看全部评分

藤椅
夏目贵志 发表于 2016-3-28 08:01:01
最简单的办法:把每个stage存成单独的数据文件。然后再试。如果还有问题那就跟分不分阶段没啥关系,就是你数据本身的问题吧。
或者不要用by,用if条件选择stage,分开每个stage一个一个地做试试看。

板凳
胡老 发表于 2016-3-29 22:44:31 来自手机
夏目贵志 发表于 2016-3-28 08:01
最简单的办法:把每个stage存成单独的数据文件。然后再试。如果还有问题那就跟分不分阶段没啥关系,就是你数 ...
第一个办法当然可以,但是感觉太笨了。
第二个方法我试试,谢谢!

报纸
胡老 发表于 2016-3-29 22:45:26 来自手机
夏目贵志 发表于 2016-3-28 08:01
最简单的办法:把每个stage存成单独的数据文件。然后再试。如果还有问题那就跟分不分阶段没啥关系,就是你数 ...
噢,我对if不熟,能简要的说说该输入神马命令吗。

地板
胡老 发表于 2016-4-1 07:43:19 来自手机
夏目贵志 发表于 2016-3-31 10:57
比如newey [the rest of the command] if stage==1做一个,然后newey [the rest of the command] if stag ...
谢谢!也就是说,if是可以实现我这个分阶段功能(而无需做三个数据)的,对吧?

7
夏目贵志 发表于 2016-4-1 08:03:19
胡老 发表于 2016-4-1 07:43
谢谢!也就是说,if是可以实现我这个分阶段功能(而无需做三个数据)的,对吧?
但是你不是遇到问题了么?这个就是帮着找问题的原因而已。所以如果用if不行的话还是可以试试分开三个数据的。

8
胡老 发表于 2016-4-2 16:37:15
夏目贵志 发表于 2016-4-1 08:03
但是你不是遇到问题了么?这个就是帮着找问题的原因而已。所以如果用if不行的话还是可以试试分开三个数据 ...
谢谢,如下命令已经成功运行:
newey dljp dljp1 dlcn1 dlus11 if stage==1,lag(7)
newey dljp dljp1 dlcn1 dlus11 if stage==2,lag(7)
newey dljp dljp1 dlcn1 dlus11 if stage==3,lag(7)

9
胡老 发表于 2016-4-4 15:31:09
我擦,突然又不行了,,,,,又显示 not sorted [funk]

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 02:44