0时间序列初探—平稳性分析及R实现

更新时间:2024-05-08 01:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1 基本概念

1.1 时间序列的平稳性

假定某个时间序列是由某一随机过程(stochastic process)生成的,即假定时间序列{Xt}(t=1, 2, …)的每一个数值都是从一个概率分布中随机得到,如果满足下列条件:

1)均值E(Xt)=?是与时间t 无关的常数; 2)方差Var(Xt)=?2是与时间t 无关的常数;

3)协方差Cov(Xt,Xt+k)=?k 是只与时期间隔k有关,与时间t 无关的常数;

则称该随机时间序列是平稳的(stationary),而该随机过程是一平稳随机过程(stationary stochastic process)。

1.2 时间序列的非平稳性

平稳时间序列的均值为常数,自协方差函数与起点无关,而非平稳时间序列则不满足这两条要求。常见的非平稳类型有趋势和突变

1.2.1 趋势

趋势是指变量随时间持续长期的运动,时间序列变量围绕其趋势波动。可以用线性趋势、二次趋势、季节性均值趋势和余弦趋势来估计一般的非常数均值趋势模型的参数。

1.2.2 突变

突变来自总体回归系数在某一特定日期上的离散变化或来自系数在长时期内的渐变。

1.3 平稳性判断 1.3.1 图示判断

? 给出一个随机时间序列,首先可通过该序列的时间路径图来粗略地判断它是否是平稳的。

? 一个平稳的时间序列在图形上往往表现出一种围绕其均值不断波动的过程;

? 而非平稳序列则往往表现出在不同的时间段具有不同的均值(如持续上升或持续下降)。

Xt Xt t t (a) (b) 图9.1 平稳时间序列与非平稳时间序列图

函数1:时间序列及趋势绘制 参数1:时间序列 功能:绘制时间序列

绘制时间序列的趋势函数 返回值:无

1.3.2 单位根检验

单位根检验(unit root test)是针对宏观经济数据序列、货币金融数据序列中是否具有某种统计特性而提出的一种平稳性检验的特殊方法,单位根检验的方法有很多种,包括DF检验、ADF检验、PP检验、NP检验等。

单位根检验时间序列的单位根研究是时间序列分析的一个热点问题。时间序列特性的时变行为实际上反映了时间序列的非平稳性质。对非平稳时间序列的处

理方法一般是将其转变为平稳序列,这样就可以应用有关平稳时间序列的方法来进行相应得研究。对时间序列单位根的检验就是对时间序列平稳性的检验,非平稳时间序列如果存在单位根,则一般可以通过差分的方法来消除单位根,得到平稳序列。对于存在单位根的时间序列,一般都显示出明显的记忆性和波动的持续性,因此单位根检验是有关协整关系存在性检验和序列波动持续性讨论的基础。

1.3.3 自相关函数(ACF)判断

平稳时间序列的自相关函数(ACF)要么是截尾的, 要么是拖尾的。因此我们可以根据这个特性来判断时间序列是否为平稳序列。 若时间序列具有上升或下降的趋势,那么对于所有短时滞来说,自相关系数大且为正,而且随着时滞k的增加而缓慢地下降。

若序列无趋势,但是具有季节那么于按月采集的数据,时滞12,24, 36……的自相关系数达到最大(如果数据是按季度采集,则最大自相关系数出现 在4,8,12, ……),并且随着时滞的增加变得较小。

2 平稳时间序列模型

2.1 自回归AR模型

由于经济系统惯性的作用,经济时间序列往往存在着前后依存关系。最简单的一种前后依存关系就是变量当前的取值主要与其前一时期的取值状况有关。用数学模型来描述这种关系就是如下的一阶自回归模型:

Xt=φXt-1+εt (2.1.1)

常记作AR(1)。其中{Xt}为零均值(即已中心化处理)平稳序列,φ为Xt对Xt

-1

的依赖程度,εt为随机扰动项序列(外部冲击)。

若φ=1则Xt包含了一个随机性趋势,是非平稳的。若φ的绝对值<1则其是平稳的。

如果Xt 与过去时期直到Xt-p 的取值相关,则需要使用包含Xt-1 ,……Xt-p在内的p阶自回归模型来加以刻画。P阶自回归模型的一般形式为:

Xt=φ1 Xt-1+φ2 Xt-2+…+φp Xt-p+εt (2.1.2)

为了简便运算和行文方便,我们引入滞后算子来简记模型。设B为滞后算

子,即BXt=Xt-1, 则B(Bk-1Xt)=BkXt=Xt-k B(C)=C(C为常数)。利用这些记号,(2.1.2)式可化为:

Xt=φ1BXt+φ2B2Xt+φ3B3Xt+……+φpBpXt+εt

从而有:

(1-φ1B-φ2B2-……-φpBp)Xt=εt

记算子多项式φ(B)=(1-φ1B-φ2B2-……-φpBP),则模型可以表示成

φ(B)Xt=εt (2.1.3)

例如,二阶自回归模型Xt=0.7Xt-1+0.3Xt-2+0.3Xt-3+εt可写成(1-0.7B-0.3B2)Xt=ε

t

若AR(P)有一个等于1的根,则称序列有一个单位自回归根或称为单位根,从而也说明它包含了随机性趋势,是非平稳的。当且仅当AR特征方程的每一个根绝对值大于1,时间序列是平稳的。

2.2 滑动平均模型(MA)

有时,序列Xt的记忆是关于过去外部冲击值的记忆,在这种情况下,Xt可

以表示成过去冲击值和现在冲击值的线性组合,即

Xt=εt-θ1ε

t-1

-θ2ε

t-2

-……-θqε

t-q

(2.1.4)

此模型常称为序列Xt的滑动平均模型,记为MA(q), 其中q为滑动平均的阶数,θ1,θ2…θq为参滑动平均的权数。相应的序列Xt称为滑动平均序列。

使用滞后算子记号,(2.1.4)可写成

Xt=(1-θ1B-θ2B2-……- θqBq)qt=θ(B)εt (2.1.5)

2.3 自回归滑动平均模型(ARMA)

如果序列{Xt}的当前值不仅与自身的过去值有关,而且还与其以前进入系

统的外部冲击存在一定依存关系,则在用模型刻画这种动态特征时,模型中既包括自身的滞后项,也包括过去的外部冲击,这种模型叫做自回归滑动平均模型,其一般结构为:

Xt=φ1Xt-1+φ2Xt-2+……+φpXt-p+εt-θ1ε

t-1

-θ2ε

t-2

-……-θqε

t-q

(2.1.6)

简记为ARMA(p, q)。利用滞后算子,此模型可写为

φ(B)Xt=θ(B)εt (2.1.7)

3 R中实现判断时间序列的平稳性

3.1 例一

> x=rnorm(500) #生成500个服从正太分布的数 > y=cumsum(x) #累加x的数对应得到y

3.1.1 绘制时序图

> plot.ts(x)

> plot.ts(y)

从两个图的不同可以看出x时间序列趋势不随时间的变化而变化,其随机性比较强。而y序列则有明显的时间趋势。

3.1.2 ADF.test检验

install.packages(\#安装时间序列包

library(\rary\#载入时间序列包 > adf.test(x) Augmented Dickey-Fuller Test

data: x

Dickey-Fuller = -8.0878, Lag order = 7, p-value = 0.01 alternative hypothesis: stationary

结论:p-value = 0.01拒绝原假设(原假设认为时间序列是非平稳的),即可认为x是平稳的。 > adf.test(y) Augmented Dickey-Fuller Test

data: y

Dickey-Fuller = -1.1291, Lag order = 7, p-value = 0.9179 alternative hypothesis: stationary

结论:p-value = 0.9179不能拒绝原假设,所以认为y是非平稳的。

函数2:ADF检验时间序列的平稳性:ADFTEST 参数1:时间序列

P临界值,默认值为0.05 返回结果:用框架来组织返回结果

结论(1:平稳,0:不平稳) adf.test函数的返回值

3.1.3 PP检验

> pp.test(x) Phillips-Perron Unit Root Test

data: x

Dickey-Fuller Z(alpha) = -510.4566, Truncation lag parameter = 5, p-value = 0.01

alternative hypothesis: stationary

警告信息:

In pp.test(x) : p-value smaller than printed p-value

结论:p-value = 0.01拒绝非平稳性假设,即认为x是平稳的。

> pp.test(y) Phillips-Perron Unit Root Test

data: y

Dickey-Fuller Z(alpha) = -3.9888, Truncation lag parameter = 5, p-value = 0.8872

alternative hypothesis: stationary

结论:p-value = 0.8872不能拒绝原假设y是非平稳的,所以认为y是非平稳的。

函数3:PP检验时间序列的平稳性:PPTEST 参数1:时间序列

P临界值,默认值为0.05

返回结果:用框架来组织返回结果

结论(1:平稳,0:不平稳) R语言pp检验函数的返回值

3.1.4 ACF自相关函数判断

> modelx=lm(x~time(x)) > summary(modelx)

Call:

lm(formula = x ~ time(x))

Residuals:

Min 1Q Median 3Q Max

-2.87920 -0.75003 0.01103 0.70595 3.15625

Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) 0.1524849 0.0915359 1.666 0.0964 . time(x) -0.0005077 0.0003166 -1.603 0.1095 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.022 on 498 degrees of freedom Multiple R-squared: 0.005136, Adjusted R-squared: 0.003138

F-statistic: 2.571 on 1 and 498 DF, p-value: 0.1095

> acf(rstudent(modelx),main='关于x的acf自相关系数')

从图中可以看出其K阶滞后自相关系数都非常小呈截现象,因此判断时间系列为平稳性是合理的。

函数4:ACF检验函数 参数:时间序列

检验p值,默认为0.05 图形保存路径,默认为空 返回值:以框架形式

线性回归函数各个系数的检验p值 ACF函数的返回值

> modely=lm(y~time(y)) > summary(modely)

Call:

lm(formula = y ~ time(y))

Residuals:

Min 1Q Median 3Q Max -13.2206 -5.6292 -0.6742 6.3185 13.6971

Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) 8.659376 0.620538 13.96 <2e-16 *** time(y) 0.032966 0.002146 15.36 <2e-16 *** ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.927 on 498 degrees of freedom Multiple R-squared: 0.3214, Adjusted R-squared: 0.3201 F-statistic: 235.9 on 1 and 498 DF, p-value: < 2.2e-16

> acf(rstudent(modely),main='关于y的acf自相关系数')

从图中可以看出ACF随着k的增大而缓慢下降,自相关系数大且为正因此判断y序列为非平稳时间序列是合理的。

3.2 例二

以TSA自带的数据tempdub为例验证数据的平稳性检验

3.2.1 绘图

>library(\y\

从图中可以看出此时间序列具有非常明显的周期性趋势。

3.2.2 Adf检验

> adf.test(tempdub) Augmented Dickey-Fuller Test

data: tempdub

Dickey-Fuller = -11.0773, Lag order = 5, p-value = 0.01 alternative hypothesis: stationary

结论:p-value = 0.01所以tempdub时间序列是平稳的。

3.2.3 Pp检验

> pp.test(tempdub) Phillips-Perron Unit Root Test

data: tempdub

Dickey-Fuller Z(alpha) = -51.0795, Truncation lag parameter = 4, p-value = 0.01

alternative hypothesis: stationary

警告信息:

In pp.test(tempdub) : p-value smaller than printed p-value 结论:p-value = 0.01再次验证该时间序列的平稳性。

3.2.4 ACF自相关函数判断

> modeltemp=lm(tempdub~time(tempdub)) > summary(modeltemp)

Call:

lm(formula = tempdub ~ time(tempdub))

Residuals:

Min 1Q Median 3Q Max -37.871 -19.066 2.394 17.053 28.156

Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) -214.1324 920.7668 -0.233 0.816 time(tempdub) 0.1322 0.4674 0.283 0.778

Residual standard error: 19.43 on 142 degrees of freedom Multiple R-squared: 0.0005629, Adjusted R-squared: -0.006475

F-statistic: 0.07998 on 1 and 142 DF, p-value: 0.7777

> acf(rstudent(modeltemp),main='关于tempdub的acf自相关系数')

从图中可以看出ACF也具有明显的周期性。

本文来源:https://www.bwwdw.com/article/3fog.html

Top