我想实现自回归分布滞后模型和滚动回归一起使用,以下是我的一些思路和遇到的问题。
1.使用
- varsoc
限定检查阶滞后,根据检查结果,选择滞后阶数,将判定结果输出并保存。
2.调用判定结果,根据结果使用
- reg
进行回归。
3.将reg的系数保存为变量
根据上述步骤,使用stata实现还要写不少命令还要思考判别条件怎么写,觉得很麻烦,就搜索和求助发现了命令
- ardl
是步骤1和2的集成命令,基本语法:
- ardl depvar [indepvars] [if] [in] [,options]
可以进行 BIC或AIC准则对滞后阶进行判别,此处不过多赘述,详见连享会ARDL命令的介绍。
up在使用该命令时,发现了这个代码只能用于单一时序数据,不能识别面板数据分个体各自回归。
注,该命令可以和
- bysort
连用,但是结果一下子全出来了,我调用储存的回归结果只看到最后一组的结果,没想到如何将别的组的结果储存起来,就放弃从bysort这条路上深入了。
- bysort var: ardl
目的二:
UP的另一个目的是想要在面板数据中对每个个体单独使用ardl,并且想要和滚动回归进行连用。
试验发现:
- rolling,window(窗口大小) clear:ardl var,lag(.) bic maxlags(最大滞后阶数)
可行,rolling 和 ardl 可以连用。rolling可以自动将回归系数变为变量。
为了解决ardl不能在面板数据中使用的问题,使用循环语句:
- forvalues k=1/200{ preserve //储存原面板
我的目的二就达到了。
我 还一直在尝试将rangerun 和 ardl 结合在一起:
- webuse invest2 //一个面板数据的样本例
,但一直不成功,运行命令后没有任何结果,也没有任何报错。不知道是否有高手可以指点一下。后可设置现金定价


雷达卡






京公网安备 11010802022788号







