温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
编译: 许梦洁 (Frankfurt School of Finance and Management)
E-mail: m.xu@fs.de
目录
检验序列的平稳性是时间序列分析的关键步骤。时间序列中很多估计量的统计特性都依赖于数据是否平稳。一般意义上,一个 (弱) 平稳过程的期望、方差和自相关系数应不随时间变化。
然而,在大多可观测的时间序列中,趋势项的存在总会使得序列不具有平稳性。
趋势项包括确定趋势项和随机趋势项,趋势项的类型决定了我们需要使用什么方法将时间序列转换成平稳序列。比如,含有随机趋势项的单位根过程可以通过差分变得平稳。然而,对实际上含有确定趋势项的序列进行差分则会得到含单位根的移动平均过程。因此,在做转换之前,识别出序列的非平稳性到底是源于确定趋势项还是随机趋势项是非常重要的。
在这篇文章中,我会介绍检验单位根的三个命令。
随机趋势的一个简单例子是随机游走过程。
考虑以下 AR(1) 过程:
其中,
其中,等式右端为随机趋势项
向随机游走过程加入一个常数项即可得到带漂移项的随机游走:
其中,
现在等式右端是一个确定性趋势项
考虑如下带有线性确定趋势的随机过程:
其中,
首先,我分别根据随机游走模型和漂移项为 0.1 的随机游走模型模拟生成数据并画图,代码在附录中提供。
从上图来看,两个时间序列都没有明显的趋势,并且红线相当于蓝线总是有正向的调整。如果将这两个序列分别画到两张图上,几乎不可能区分出哪个才是带漂移项的随机游走过程。然而,由于两个序列都包含随机趋势,我们仍然可以通过将两个序列差分来获得平稳的时间序列。
类似地,我分别根据漂移项为 1 的随机游走模型和带有确定性趋势的模型分别模拟数据并画图。
如上图所示,两个序列看起来非常相像。蓝线在一个确定的趋势线上下浮动。红线的随机趋势则在样本开始时缓慢增长,而在样本后期迅速增长。在这种情况下想要转换为平稳的时间序列,就像前面提到的,应用正确的转换方式是非常重要的。
单位根检验的原假设是真正的随机过程为随机游走过程
其中,
如果
此外,在回归中是否包含常数或时间趋势项会导致检验统计量有不同的渐近分布,这也意味着在做这类检验时清楚设定原假设和备择假设是非常重要的。
在单位根检验的原假设下,真实的过程要么是随机游走,要么是带漂移项的随机游走。对于模型
为了解决这个问题,ADF检验通过将模型
注意,
我分别模拟了两列时间序列,其中 yrwd2 是漂移项为 1 的随机游走过程,yt 是有线性趋势的模型。这里用 dfuller 命令来做 ADF 检验。我们感兴趣的原假设 1 是:yrwd2为有漂移项的随机游走过程。其备择假设为:yrwd2 是一个有线性趋势的平稳过程。
因此,为了检验 dfuller
命令中加入选项 trend
。
. dfuller yrwd2, trend
Dickey-Fuller test for unit root Number of obs = 149
--------- Interpolated Dickey-Fuller ---------
Test 1% Critical 5% Critical 10% Critical
Statistic Value Value Value
----------------------------------------------------------
Z(t) -2.664 -4.024 -3.443 -3.143
----------------------------------------------------------
MacKinnon approximate p-value for Z(t) = 0.2511
与预期一致,yrwd2 的检验结果显示:不能拒绝该过程为带漂移的随机游走过程的原假设。接下来,我们对 yt 序列也做类似的检验。
. dfuller yt, trend
Dickey-Fuller test for unit root Number of obs = 149
---------- Interpolated Dickey-Fuller ---------
Test 1% Critical 5% Critical 10% Critical
Statistic Value Value Value
-----------------------------------------------------------
Z(t) -5.328 -4.024 -3.443 -3.143
-----------------------------------------------------------
MacKinnon approximate p-value for Z(t) = 0.0000
此时,yt 序列的检验结果拒绝了原假设。
Phillips(1987)[^P1987] 和 Phillips and Perron(1988)[^P1988] 开发出这个检验主要是为了解决残差项中潜在的序列相关和异方差问题,其检验统计量的渐进分布和临界值与 ADF 检验相同。
在 Stata 中,PP 检验的命令 pperron
与 dfuller
的用法相似。使用 pperron
对yrwd2 和 yt 执行检验可以得到与 ADF 检验类似的结果。
Elliott et al. (1996)[^E1996] 提出的 GLS-ADF 检验与 ADF 检验类似,只是在对模型
为了检验 yrwd2 是否是一个带漂移项的随机游走过程,我使用设定最大 4 阶滞后的 dfgls
命令对模型
. dfgls yrwd2, maxlag(4)
DF-GLS for yrwd2 Number of obs = 145
DF-GLS tau 1% Critical 5% Critical 10% Critical
[lags] Test Statistic Value Value Value
---------------------------------------------------------------
4 -1.404 -3.520 -2.930 -2.643
3 -1.420 -3.520 -2.942 -2.654
2 -1.638 -3.520 -2.953 -2.664
1 -1.644 -3.520 -2.963 -2.673
Opt Lag (Ng-Perron seq t) = 0 [use maxlag(0)]
Min SC = 3.31175 at lag 1 with RMSE 5.060941
Min MAIC = 3.295598 at lag 1 with RMSE 5.060941
注意,与 dfuller
和 pperon
命令不同的是,dfgls
默认控制了线性时间趋势项。结果仍然显示不能拒绝 yrwd2 是带漂移项的随机游走过程的原假设。
最后,我对 yt 序列做了同样的检验:
. dfgls yt, maxlag(4)
DF-GLS for yt Number of obs = 145
DF-GLS tau 1% Critical 5% Critical 10% Critical
[lags] Test Statistic Value Value Value
---------------------------------------------------------------
4 -4.013 -3.520 -2.930 -2.643
3 -4.154 -3.520 -2.942 -2.654
2 -4.848 -3.520 -2.953 -2.664
1 -4.844 -3.520 -2.963 -2.673
Opt Lag (Ng-Perron seq t) = 0 [use maxlag(0)]
Min SC = 3.302146 at lag 1 with RMSE 5.036697
Min MAIC = 3.638026 at lag 1 with RMSE 5.036697
与期望一致,我们拒绝了 yt 序列为带漂移项的随机游走过程的原假设。
在这篇文章中,我讨论了时间序列非平稳主要是由于存在随机趋势项或确定趋势项或二者都有,同时还使用介绍了如何使用 dfuller
、pperron
和dfgls
命令检验是否存在单位根。
这是生成随机游走过程、带漂移项的随机游走过程以及带线性趋势过程的 Stata 代码:
clear all
set seed 2016
local T = 200
set obs `T'
gen time = _n
label var time "Time"
tsset time
gen eps = rnormal(0,5)
/*Random walk*/
gen yrw = eps in 1
replace yrw = l.yrw + eps in 2/l
/*Random walk with drift*/
gen yrwd1 = 0.1 + eps in 1
replace yrwd1 = 0.1 + l.yrwd1 + eps in 2/l
/*Random walk with drift*/
gen yrwd2 = 1 + eps in 1
replace yrwd2 = 1 + l.yrwd2 + eps in 2/l
/*Stationary around a time trend model*/
gen yt = 0.5 + 0.1*time + eps in 1
replace yt = 0.5 + 0.1*time +0.8*l.yt+ eps in 2/l
drop in 1/50
tsline yrw yrwd1, title("Stochastic trend") ///
legend(label(1 "Random walk") ///
label(2 "Random walk with drift"))
tsline yt yrwd2, ///
legend(label(1 "Deterministic time trend") ///
label(2 "Random walk with drift")) ///
title("Stochastic and deterministic trend")
[^P1987]:Phillips, P. C. B. 1987. Time series regression with a unit root. Econometrica 55: 277–301.
[^P1988]:Phillips, P. C. B., and P. Perron. 1988. Testing for a unit root in time series regression. Biometrika 75: 335–346.
[^H1994]:Hamilton, J. D. 1994. Time Series Analysis. Princeton: Princeton University Press.
[^E1996]:Elliott, G. R., T. J. Rothenberg, and J. H. Stock. 1996. Efficient tests for an autoregressive unit root. Econometrica 64: 813–836.
连享会-直播课 上线了!
http://lianxh.duanshu.com
免费公开课:
直击面板数据模型 - 连玉君,时长:1小时40分钟 Stata 33 讲 - 连玉君, 每讲 15 分钟. 部分直播课 课程资料下载 (PPT,dofiles等)
支持回看,所有课程可以随时购买观看。
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 ⭐ | DSGE, 因果推断, 空间计量等 | |
⭕ Stata数据清洗 | 游万海 | 直播, 2 小时,已上线 |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会学习群-常见问题解答汇总:
✨ https://gitee.com/arlionn/WD