ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验

  ___  ____  ____  ____  ____ (R)
 /__    /   ____/   /   ____/
___/   /   /___/   /   /___/   13.1
  Statistics/Data Analysis           

此次系列文章的主题是通过Stata软件来分析时间序列的平稳和非平稳关系,以及如何通过Stata软件来进行不同时间序列模型的预测性分析。

Stata软件介绍:(https://www.stata.com/)

Stata is the solution for your data science needs. Obtain and manipulate data. Explore. Visualize. Model. Make inferences. Collect your results into reproducible reports.

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第1张图片

一、背景介绍

时间序列模型是将一个或一组变量按照时间次序排列,用于解释变量和相互关系的数学表达式,所得到的离散数字组成的序列集合。时间序列模型,可分为平稳时间序列和非平稳时间序列。平稳时间序列可以用来拟合回归方程进行未来的预测,而非平稳的时间序列不能直接做回归,会产生没有实际意义的伪回归。(不平稳的时间序列数据可能会带来t检验失败、自回归系数估计值有偏向的等问题)

首先,判断一个时间序列是不是平稳,主要有三个评价指标:

1. 均值是与t无关的函数

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第2张图片

2. 方差是与t无关的函数 (即方差齐性)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第3张图片

3. 协方差是与t无关的函数。(协方差用于衡量两个变量的总体误差。当两个变量是相同的情况时,协方差体现为方差。)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第4张图片

(图片来源:https://blog.csdn.net/qq_40006058/article/details/80191168)

对于单独的非平稳时间序列,需要通过分来将非平稳时间序列变为平稳时间序列。如果对于两个非平稳时间序列,它们的某些线性组合是平稳的,那么这两个非平稳时间序列则存在协整关系,我们便可以基于协整关系去探索序列之间的长期均衡关系了。

二、统计学模型

验证时间序列的模型有:

  1. AR - Auto Regression, 自回归模型。自回归模型AR(p),p-自回归阶数;AR可以解决当前数据与后期数据之间的关系;

  2. MA - Moving Average,移动平均模型。移动平均模型MA(q),q-移动平均阶数;MA则可以解决随机变动也就是噪声的问题;

  3. ARMA - Auto Regression and Moving Average,自回归移动平均模型。自回归移动平均模型是与自回归和移动平均模型两部分组成;(以上三类模型可以直接应用于平稳时间序列模型)

  4. ARIMA - Auto Regression Integreate Moving Average,差分自回归移动平均模型。同前面的三种模型,ARIMA模型也是基于平稳的时间序列的或者差分化后是稳定的,另外前面的几种模型都可以看作ARIMA的某种特殊形式。表示为ARIMA(p, d, q)。p为自回归阶数,q为移动平均阶数,d为时间成为平稳时所做的差分次数。(前面三种模型,d=0,即平稳时间序列模型不需要做差分)

  5. ARCH - Auto Regressive Conditional Heteroskedasticity, 自回归条件异方差模型,用来解决传统计量经济学对时间序列变量的第二个假设(变异数恒定)所引起的问题;

  6. GARCH - Generalized Auto Regressive Conditional Heteroskedasticity, 广义自回归条件异方差模型,GARCH模型是一个专门针对金融数据所量体定做的回归模型。和普通回归模型相比,GARCH对误差的方差进行了进一步的建模,特别适用于波动性的分析和预测,这样的分析对投资者的决策能起到非常重要的指导作用;

  7. VAR - Vector Auto Regression, 向量自回归模型, 描述在同一个样本期间内的n个变量(内生变量)可以作为他们过去值的线性函数;VAR模型的方法是通过将变量作为一个系统来预测,被称为“多变量时间序列”,即向量自回归;

  8. 受限因变量模型:通俗的讲,是由于某种原因无法观察到被解释变量的全部值。在实际中,还会经常遇到因变量受到某种限制的情况,这种情况下,取得样本数据来自总体的一个子集,可能不能完全反映总体。例如,小时工资、住房价格和名义利率都必须大于零。这时需要建立的经济计量模型称为受限因变量模型(limited dependent variable model )。

    1. 断尾回归模型

    2. 截取回归模型

    3. 样本选择模型

三、Stata实证分析

  1. ARIMA模型实践

ARIMA模型分析时间序列的基本步骤为:将原始数据的时间序列可视化,观察平稳与非平稳分布 - 通过单位根检验,判断时间序列是否为平稳 - 通过ADF找到最优参数,建立ARIMA模型 - 进行预测

打开Stata/MP 13.1软件,初始界面如下:

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第5张图片

打开实例数据wp1,stata默认的数据文件后缀为.dta

打开data-editor,查看导入的数据。wpi - wholesales price index - 批发价格指数,Lnwpi - wpi的对数。

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第6张图片

要检测时间数据,需要首先定义数据为时间序列,在command中输入命令:tsset t

将原始数据的时间序列进行可视化处理,作图观察时间序列的趋势:

line wpi t

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第7张图片

直观看此时间序列为非平稳时间序列分布;但是需要通过验证才可以得出相应结论。

通过观察自相关图与偏相关图,最主要的目的还是确定序列的ARMA(p,q)模型的具体形式。

一般拿到数据后,先看你数据是否存在协整关系,存在就用平稳数据,不存在只能尝试差分后处理。差分的目的是消除序列的不平稳性,使其波动曲线更平稳。通过一阶插分和二阶插分的时序,来进行ADF单位根检验,进而判断后面的序列是否平稳。

对原始数据进行单位根检验:dfuller ln_wpi

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第8张图片

Z test都大于检验各检验临界值,且p-value>0.05

所以原序列是非平稳时间序列;

对一阶差分后的数据进行单位根检验:dfuller d.ln_wpi

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第9张图片

Z-test都小于各检验临界值,且p-value<0.05

所以一阶差分后,序列变为平稳时间序列;

对时序进行二阶差分的单位根检验:dfuller d2.ln_wpi

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第10张图片

结果显示,二阶差分的时序为平稳时间序列。

(* 滞后几阶与几阶差分的含义不同:滞后二阶是指取前两期的值;二阶差分就是,后一期一阶差分减去前一期一阶差分。)

一阶差分就是离散函数中连续相邻两项之差。绘制一阶差分图:

line d.wpi t,yline(0)

(yline(0)表示在y=0处做一条直线)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第11张图片

绘制二阶插分图:line d2.wpi t,yline(0)

可以看出二阶差分的时序图,直观上已经接近于一个平稳时间序列了。

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第12张图片

AC图确定的是p,PAC图确定的是q。判断ARIMA模型的传统方法是通过ACF(自相关图)和PACF(偏自相关图), 看ACF和PACF快速衰减的位置,看不同阶数对应快速衰减到标准差之内的位置。观察ACF和PACF的模式,主要看图形分布上是否有如下两个特征:

  1. 截尾:到了某个位置,系数突然变化,像被“截断”了一样;

  2. 拖尾:就是系数整体是一个单调渐变的趋势,但都不为0;

若ACF拖尾,PACF截尾,用AR算法;

若ACF截尾,PACF拖尾,用MA算法;

若ACF,PACF都是拖尾,用ARMA算法;不平稳用ARIMA算法;

如果,ACF和PACF的模式不明显,则需要尝试不同的参数值,然后通过赤池信息准则来判断。

绘制一阶差分的自相关图:ac d.wpi

(AC - Autocorrelation)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第13张图片

绘制一阶差分的偏自相关:pac d.wpi

(PAC - Partial Autocorrelation)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第14张图片

根据图示,ACF的特征类似于拖尾,PACF则没有明显的特征模式。当ACF,PACF没有明显特征时,需要通过赤池信息来判断。

赤池信息准则:通过AIC作为衡量统计模型拟合优良性的一种标准。它建立在熵的概念基础上,可以权衡所估计模型的复杂度和此模型拟合数据的优良性。根据不同参数组合的AIC值来判断模型的好坏,AIC越小越好。

(AIC实际上是对样本内误差(in sample error)的估计量,即在训练样本的基础上,保持自变量不变,观察到一组新的y', 然后计算模型在这个新样本中得到误差的期望值。)

通过单位根检验判断此时间序列是否为平稳时间序列:dfuller ln_wpi,lag(3) trend regress (此处假设滞后3期,lag(3)。正常做法是要进行多次滞后项的验证,然后去评判拟合回归的显著性效果。)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第15张图片

ADF(Augmented Dickey-Fuller) 单位根检验 (unit root test) 的原假设为:H0:p=1, 备择假设为:H1:p<1. (p=1表明存在单位根,原时间序列为非平稳时间序列)

ADF检验的逻辑:如果序列平稳,则不会存在单位根;如果序列不平稳,则可以通过差分变换,检验差分后的序列是否平稳。

ADF原假设H0为存在单位根(非平稳),对于一个平稳的时间序列数据,就要在给定的置信水平上显著,拒绝原假设。

拒绝原假设的判别条件:1>统计量显著小于3个置信度(1%,5%,10%)的临界统计值时;2>Z统计量的P-value接近0。

\]

通过单位根检验结果可以看到在1%,5%,10%显著性水平下的临界值分别为1%-critical value=-4.033, 5%-critical value=-3.447, 10%-critical value=-3.147,Z检验统计量值为-2.25。而ADF是左侧单边检验,只要Z检验统计量值大于各临界值,则不能拒绝原假设H0(即p=1),原序列为非平稳时间序列。且p-value=0.4617,不能显著拒绝原假设。

回归系数的解读:

L1 - 表示回归系数;

LD,L2D和L3D - 分别代表了滞后1-3阶滞后项对应的系数;LD滞后项p值为0,L2D滞后项p值为0.036,两项在5%显著性水平上都非常显著;L3D滞后项的p值为0.145,在5%显著性水平上显著性一般;

_trend - 时间趋势项;p值为0.024,时间趋势在5%水平上很显著;

_cons - 常数项;

在Stata中,ARIMA模型被看做带有ARIMA扰动项的结构模型,ARIMA模型公式中本质上使用的是MLE(最大似然估计),对于序列ln_wpi,通过判断为非平稳时间序列,所以ARIMA(p,d,q)模型中,d=1。ARIMA(p,1,q)中的 自回归阶数p 和 移动平均阶数q 通过信息准则来确定,假定模型为ARIMA(1,1,1),在Stata中输入如下命令:

arima ln_wpi,airma(1,1,1)

estat ic

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第16张图片

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第17张图片

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第18张图片

再分别求出ARIMA(2,1,1),ARIMA(1,1,2),ARIMA(2,1,2)的结果:

ARIMA(2,1,1)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第19张图片

ARIMA(1,1,2)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第20张图片

ARIMA(2,1,2)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第21张图片

可以看出ARIMA(1,1,1)中的AIC和BIC最小,p=1,q=1,d=1为ARIMA模型最优参数。拟合模型后,需要对残差序列检验是否为白噪声,输入:

predict r,residual

数据集中生成了新的残差序列r:

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第22张图片

一个标准的检验流程中,需要比较不同预测方法得到的预测结果的残差。正常情况下,残差应该为平稳序列。

我们对得到的残差列进行单位根检验:

dfuller r

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第23张图片

根据z-test和p-value,残差为平稳时间序列;

绘制残差图如下,也可以直观的看出是一个平稳的时间序列。

line r t,yline(0)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第24张图片

系数显著性检验通过后,要进行模型的有效性检验,也就是检验残差性是否为白噪声:

用Q统计量进行白噪声(white noise)检验:

wntestq r

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第25张图片

wntestb r

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第26张图片

通过白噪声检验的结果,可知模型的有效性拟合效果较好。

下面开始模型的预测:

生成未差分的wpi时间序列y:preidct y,y

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第27张图片

生成差分后的wpi序列xb:predict xb,xb

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第28张图片

比对ARIMA模型生成的预测值和原始值的拟合线对比:

line ln_wpi y t, yline(0)

(红色为预测值拟合线,黑色为原始值拟合线)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第29张图片

样本外预测,首先添加预测值的空白填充位置:

tsappend,add(4)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第30张图片

对差分后序列的预测:predict y_hat

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第31张图片

对原序列wpi的预测:predict yy_hat,y

(在STATA中,ARIMA模型只能预测未来1期的数值。)

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第32张图片

将预测值与原始值的拟合曲线进行比较:line ln_wpi yy_hat t, yline(0)

可以看出红色拟合线对应的多出一期的预测值已经体现。

ADF单位根检验三种形式_[STATA] 时间序列模型 ARIMA检验_第33张图片

下一篇将总结时间序列模型之ARCH和GARCH模型,在STATA中的使用方法和规范。

“笔人自认才疏学浅,仅略知皮毛,更兼时间和精力所限,文中错谬之处在所难免,若蒙读者诸君不吝告知,将不胜感激。”

你可能感兴趣的:(ADF单位根检验三种形式,aic值检验,p值,pta求阶乘序列前n项和,回归系数t检验公式)