残差自回归模型

来源:互联网 发布:局域网网络协议 编辑:程序博客网 时间:2024/05/16 12:50

ARIMA模型的提出使人们对非平稳序列拟合精度大大提高,但和传统的确定性因素分解方法相比较,ARIMA模型仍然有一些缺憾,它使用养分方法提取确定性信息,差分方法的优点是对确定信息的提取比较充分,缺点是很难对模型进行直观解释。所以当序列具有非常显著的确定性趋势或者季节效应时,人们会怀念确定性因素分解方法对各种确定性效应的解释,但又因为它对残差信息的浪费而不敢轻易使用。
为了解决这个问题,人们构造了残差自回归(auto-regressive)模型。

模型结构

1.残差自回归模型的构造思想是首先通过确定性因素分解方法提取序列中主要的确定性信息。
包括趋势效应拟合与季节效应拟合。
2.考虑到因素分解方法对确定性信息的提取可能不充分,因而需要进一步检验残差序列的自相关性。
3.如果检验结果显示残差序列自相关性不显著,说明回归模型对信息的提取比较充分,可以停止分析。
4.如果检验结果显示残差序列自相关性显著,说明回归模型对信息的提取不充分,可以考虑对残差序列拟合自回归模型。
这样的模型叫做残差自回归模型。
实践中两种方式(一)(二):
(一)
(1)自变量为时间t的幂函数
(2)自变量为历史观察值
(二)
(1)给定季节指数
(2)建立季节自回归模型

残差自回归模型举例

使用残差自回归模型分析1952-1988年中国农业实际国民收入指数序列。
该序列有显著的线性递增趋势,但没有季节效应,所以考虑建立(一 )类模型。

#拟合关于时间t的线性回归模型d<-read.table("D:/R-TT/book4/4R/data/file17.csv",sep=",",header = T)x<-ts(d$index,start = 1952)t<-c(1:37)x.fit1<-lm(x~t)summary(x.fit1)Call:lm(formula = x ~ t)Residuals:   Min     1Q Median     3Q    Max -28.71 -20.48 -10.81  26.42  46.17 Coefficients:            Estimate Std. Error t value Pr(>|t|)    (Intercept)  66.1491     8.1197   8.147 1.35e-09 ***t             4.5158     0.3726  12.121 4.40e-14 ***---Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 24.2 on 35 degrees of freedomMultiple R-squared:  0.8076,    Adjusted R-squared:  0.8021 F-statistic: 146.9 on 1 and 35 DF,  p-value: 4.404e-14

拟合关于延迟变量的自回归模型

xlag<-x[2:37]x2<-x[1:36]x.fit2<-lm(x2~xlag)summary(x.fit2)Call:lm(formula = x2 ~ xlag)Residuals:    Min      1Q  Median      3Q     Max -15.764  -5.066  -0.703   5.539  20.424 Coefficients:            Estimate Std. Error t value Pr(>|t|)    (Intercept)  7.39226    4.00444   1.846   0.0736 .  xlag         0.91932    0.02464  37.309   <2e-16 ***---Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 7.936 on 34 degrees of freedomMultiple R-squared:  0.9762,    Adjusted R-squared:  0.9755 F-statistic:  1392 on 1 and 34 DF,  p-value: < 2.2e-16

两个趋势拟合模型的拟合效果图

fit1<-ts(x.fit1$fitted.value,start = 1952)fit2<-ts(x.fit2$fitted.value,start = 1952)plot(x,type = "p",pch=8)lines(fit1,col=2)lines(fit2,col=4)

趋势拟合效果图
趋势拟合效果图

残差自相关检验

一、检验原理
确定性模型拟合好后,要对该模型拟合效果进行检验。
如果残差序列显示出纯随机性的性质,就说明确定性模型拟合的非常好,已经能够充分提取序列中的相关信息,不需要对残差进行二次信息提取,分析结束。
反之,如果残差序列显示显著的自相关性,即说明提取的不够充分,应该对残差序列在次拟合,提取其中残存的相关信息,以提高模型拟合的精度。
二、Durbin-Watson检验
这是在考虑多元自回归的模型的残差独立性时提出的一个自相关检验统计量,我们把它借鉴过来进行时间序列的残差自相关检验。

> library(zoo)> library(lmtest)> dwtest(x.fit1)    Durbin-Watson testdata:  x.fit1DW = 0.13784, p-value < 2.2e-16alternative hypothesis: true autocorrelation is greater than 0

这里写图片描述
DW检验结果显示,DW的统计量要小于2,且p值极小,这说明残差序列高度正相关,为了充分提取相关信息,我们要对残差序列进行在次提取。
三.Durbin h检验
在一些场合下容易产生残差序列正自相关性不显著的误判。
使用Durbin h检验代替DW检验统计量成为延迟因变量的场合常用的自相关性检验统计量。

dwtest(x.fit2,order.by=xlag)    Durbin-Watson testdata:  x.fit2DW = 1.8153, p-value = 0.2295alternative hypothesis: true autocorrelation is greater than 0

对拟合模型而言,因为自变量xlag和因变量x具有自相关关系,所以需要使用Durbin h检验。DW值接近2,不相关。

残差自相关模型拟合

当残差自相关检验显示残差序列高度自相关时,我们需要对残差序列进行二次拟合,进一步提取残差序列中蕴涵中的相关信息,拟合残差自相关模型的步骤和命令与构建ARIMA模型的步骤与命令一样。

绘制差分后序列自相关图和偏自相关图

acf(x.fit1$residual)pacf(x.fit1$residual)

ACF
ACF
PACF
PACF
自相关系数拖尾,偏自相关系数2阶截尾。所以对残差序列拟合AR(2)模型。

#拟合AR(2)模型r.fit<-arima(x.fit1$residual,order=c(2,0,0),include.mean = F)r.fitCall:arima(x = x.fit1$residual, order = c(2, 0, 0), include.mean = F)Coefficients:         ar1      ar2      1.4995  -0.6028s.e.  0.1274   0.1356sigma^2 estimated as 50.6:  log likelihood = -126.59,  aic = 259.17
> #残差自相关模型的显著性检验> for(i in 1:2) print(Box.test(r.fit$residual,lag=6*i))    Box-Pierce testdata:  r.fit$residualX-squared = 3.1979, df = 6, p-value = 0.7836    Box-Pierce testdata:  r.fit$residualX-squared = 10.661, df = 12, p-value = 0.5582

通过了检验
这里写图片描述