• Index

平稳性检验

Reads: 20846 Edit

1 模型说明

在时间序列中,平稳性是很多时间序列模型估计的前提。平稳性本质上反应了一个经济系统能够在一个状态下持续运行,这也是对经济系统进行预测的前提。

很多人对平稳性的理解存在偏差,认为平稳与发散相对。但平稳的对立面不是发散,例如下面的时间序列走势,都是平稳时间序列。因为虽然三者的运行状态不同,但是都维持了各自状态持续运行。

153-1

153-2

153-3

更一般的,加入随机干扰项后,平稳时间序列的典型走势如下所示,虽然数据呈上下波动,但是均在一定的范围之内波动,时间序列的运行状态没有发生改变。

154

平稳的对立面可以简单理解为“随机性”,即经济系统的运行状态一直在发生改变,这将导致经济系统不可预测。最简单的例子是随机游走,如下图所示:

155

总之,时间序列模型的根本目的是进行预测,只有当时间序列数据是平稳的,即时间序列的状态能够在长期保持不变,才能够基于时间序列过去和现在的状态来对未来走势进行预测。否则,如果时间序列数据不平稳,数据属于随机游走过程、状态一直在转变,那么也就无法对其进行预测。

所以,平稳性检验,主要是检验时间序列数据是不是“随机游走”过程!

最常用的平稳性检验方法是ADF检验

2 ADF平稳性检验的形式

ADF单位根检验有3种形式,第一种不带截距项和趋势项、第二种带截距项、第三种同时带截距项和趋势项。分别对应了前面“在数值0状态下运行”、“在数值3状态下运行”和“在截距为1,趋势为0.2的状态下运行”的走势图。

注意!严格意义上来说,只有当数据围绕上面三种状态均值做上下波动,ADF检验的三种形式才分别对应了前面“在数值0状态下运行”、“在数值3状态下运行”和“在截距为1,趋势为0.2的状态下运行”的走势图。 如果数据呈现单边升值的情况(具有明显的AR特性),那么具有趋势项的走势也可能适用ADF的第二种形式!

3 ADF平稳性检验的应用

3.1 数据

研究宏观经济问题时,经常需要用到GDP的数据,这里采用ADF方法对1952年至2020年我国GDP的时间序列数据进行平稳性检验。

在ADF检验时,首先对原始序列进行单位根检验,如果存在单位根,则继续对一阶差分后的变量进行单位根检验,依次类推,直到差分n次后的序列不存在单位根为止。但是实际应用中,一阶差分表示增长量,二阶差分表示增长的速度,三阶差分将无显示意义,所以如果一个序列差分2次后仍不平稳,就不用再检验了!该变量无法用于时间序列建模,需要更换其他变量!

由于ADF检验有三种形式,所以检验时需要依次检验:不包含截距项和趋势项的形式、只包含截距项的形式、同时包含截距项和趋势项的形式,直到不存在单位根为止。

3.2 录入数据

打开数据编辑窗口,将数据从Excel中复制到Stata,注意粘贴时选择“将第一行作为变量名”

stata-280

3.3 数据预处理

在进行单位根检验时,需要将某列设置为时间序列!

变量变换:

rename var1 year
rename GDP亿元 gdp
g lngdp=ln(gdp)

生成变量t,并将t设置为时间序列:

encode year,g(t)
tsset t

3.4 原始lngdp序列ADF单位根检验

stata中,单位根检验的命令为dfuller,其参数nocons表示不加截距项;trend表示加趋势项;lags()表示需要设置的滞后期!

不包含截距项和趋势项的形式:

dfuller lngdp,nocons lags(2)

在检验结果中,Z统计量的值为3.751,大于10%置信水平的临界值:-1.610,所以认为存在单位根!

stata-281

只包含截距项的形式:

dfuller lngdp, lags(2)

在检验结果中,stata直接给出了Z统计量的P值:0.9922,由于P值大于0.1,所以认为存在单位根!

stata-282

同时包含截距项和趋势项的形式:

dfuller lngdp, trend lags(2)

在检验结果中,stata直接给出了Z统计量的P值:0.6801,由于P值大于0.1,所以认为存在单位根!

stata-283

3.5 一阶差分lngdp序列ADF单位根检验

原始lngdp序列三种形式的ADF检验均显示存在单位根,所以这里对lngdp的一阶差分序列进行单位根检验!

不包含截距项和趋势项的形式:

dfuller d.lngdp, nocons lags(2)

在检验结果中,Z统计量的值为-1.810,小于10%置信水平的临界值:-1.610,所以认为不存在单位根!因而,最终可以判断lngdp变量为1阶单整序列!

stata-284

3.6 ADF平稳性检验滞后期的选择经验

在运行单位根检验的命令后,紧跟着运行estat ic命令,可以获得AIC和BIC信息准则!

在ADF检验中,滞后期的选择会直接影响ADF检验结果。

滞后期太长会导致ADF检验更为敏感,即更容易检验出存在单位根!

所以经验做法是,如果时间序列数据很短,那么建议自己指定一个较短的滞后期!

单位根检验的流程并没有绝对正确的标准。所以在实际应用中可以结合自己所研究的问题来选择合适的滞后期范围。同时,结合AIC和SIC准则来确定合适的滞后期!

我们仍以上面GDP的例子进行说明,将样本范围缩小到1978-2020年!对应的变量t应该大于等于27.

滞后4期的形式:

dfuller d.lngdp if t>=27, lags(4)

在检验结果中,stata直接给出了Z统计量的P值:0.3247,由于P值大于0.1,所以认为存在单位根!

stata-285

滞后1期的形式:

dfuller d.lngdp if t>=27, lags(1)

在检验结果中,stata直接给出了Z统计量的P值:0.0218,由于P值小于0.1,所以认为不存在单位根!

可以看出,同样的时间序列、同样的ADF检验形式,滞后期数更小的检验更易检验得到序列平稳!

stata-286

3.7 其他形式的单位给检验

3.7.1 pperron单位根检验

pperron单位根检验的用法和ADF检验基本类似!

一阶差分lngdp,滞后2期的形式:

pperron d.lngdp, lag(2) reg

在检验结果中,stata直接给出了Z统计量的P值:0.0005,由于P值小于0.1,所以认为不存在单位根!

stata-287

3.7.2 DF-GLS单位根检验

在stata中,ADF检验和pperron检验并没有给出AIC和SC统计量,因而不太好判断滞后期!DF-GLS单位根检验的最大优势是根据AIC和SC准则,自动从滞后1期到滞后[12 (T/100)(1/4)]中选择最优的滞后期。当然,我们也可以通过参数maxlag()来指定可选的最大滞后期范围!

原始lngdp序列,不包含趋势项的形式:

dfgls lngdp,notrend

在检验结果中,自动选择的最优滞后期为6,然后,滞后期为6期的DF-GLS统计量为-1.058,大于10%置信水平的临界值:-1.807,所以认为存在单位根!

stata-288

原始lngdp序列,包含趋势项的形式,自定义最大滞后期数为10:

dfgls lngdp,maxlag(10)

在检验结果中,自动选择的最优滞后期为2,然后,滞后期为2期的DF-GLS统计量为-0.869,大于10%置信水平的临界值:-2.802,所以认为存在单位根!

stata-289

一阶差分lngdp序列,不包含趋势项的形式:

dfgls d.lngdp, notrend

在检验结果中,自动选择的最优滞后期为2,然后,滞后期为2期的DF-GLS统计量为-2.906,大于10%置信水平的临界值:-1.894,所以认为不存在单位根!

最终,判断出lngdp变量为1阶单整序列!

stata-290



获取案例数据,请关注微信公众号并回复:Stata_dt27


Comments

Make a comment

  • Index