时间序列分析这件小事(七)----协整
2016-12-05 16:15
309 查看
真实世界中,其实有很少是平稳时间序列,通常都是含有一定趋势的时间序列,譬如GDP值等等。之前我们说了可以用差分的方法获取平稳序列,但是,一旦差分其实我们丢失了原始序列的一些信息,而且往往很难从实际的意义上去解释差分后拟合的结果,所以今天我们讨论一下“协整”
我们可以知道,平稳序列的线性组合还是平稳序列;平稳序列和一阶单整序列的线性组合是一阶单整,也就是说,一阶单整序列具有占优性质。
但是,重点来了,两个一阶单整序列的线性组合一定是一阶单整吗?答案是不一定。于是我们得到了另外一种获得平稳序列的方法,就是两个一阶单整的序列的线性组合。
如果ut是平稳序列,xt与yt都是一阶单整序列,那么我们就称xt与yt是协整的,(a,b)称为协整向量。
我们先构造两个非平稳序列:
很显然,xt与yt都不是序列平稳的。
我们对xt于yt做一个回归,然后残差作为一个时间序列来分析:
1.单整
在说协整之前,我们先讨论一下单整。如果一个序列经过一次差分之后就变成了平稳序列,那么我们就称之为一阶单整序列;如果d次差分之后才变成平稳序列,则称之为d阶单整。我们可以知道,平稳序列的线性组合还是平稳序列;平稳序列和一阶单整序列的线性组合是一阶单整,也就是说,一阶单整序列具有占优性质。
但是,重点来了,两个一阶单整序列的线性组合一定是一阶单整吗?答案是不一定。于是我们得到了另外一种获得平稳序列的方法,就是两个一阶单整的序列的线性组合。
2.协整
ut=m+a*xt+b*yt如果ut是平稳序列,xt与yt都是一阶单整序列,那么我们就称xt与yt是协整的,(a,b)称为协整向量。
我们先构造两个非平稳序列:
#example 14 set.seed(123) n=100 u1 = rnorm(n) xt = cumsum(u1) u2 = rnorm(n) yt = 0.6*xt + u2 plot(xt,type = 'l',ylab = '') lines(yt,lty = 2) legend('topleft',c('xt','yt'),lty = 1:2,bty = 'n')
很显然,xt与yt都不是序列平稳的。
我们对xt于yt做一个回归,然后残差作为一个时间序列来分析:
#example 15 fm = lm(yt~xt) et = resid(fm) plot(et,type = 'o');abline(h=0) adf.test(et)
相关文章推荐
- 时间序列分析这件小事(二)--自回归
- 时间序列分析这件小事(四)--AR模型
- 时间序列分析这件小事(一)--基本概念与R-studio入门
- 时间序列分析这件小事(三)--自回归的假设检验
- 时间序列分析这件小事(六)--非平稳时间序列与差分
- 时间序列分析这件小事(五)--MA模型
- 时间序列分析这件小事(八)----格兰杰因果关系检验
- 时间序列分析的matlab自相关函数autocorr
- 时间序列分析
- 时间序列分析中的ARMA,ARIMA,ARC…
- 时间序列分析基础概念
- R并行做大数据时间序列分析与bootstrap
- 利用Python进行数据分析--时间序列
- 时间序列分析
- 时间序列分析之 ARIMA 模型的JAVA实现
- R语言时间序列分析
- R语言与数据分析之七:时间序列简单指数平滑
- SPSS时间序列分析
- R语言与数据分析之六:时间序列简单介绍
- 利用Python进行数据分析——时间序列[十](1) .