前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >时间序列分析这件小事(六)--非平稳时间序列与差分

时间序列分析这件小事(六)--非平稳时间序列与差分

作者头像
钱塘小甲子
发布于 2019-01-28 08:16:12
发布于 2019-01-28 08:16:12
3.7K00
代码可运行
举报
运行总次数:0
代码可运行

1.非平稳时间序列

之前我们说明了怎么样的时间序列是序列平稳的,但是世界并不是那么美好,很多时间序列都不是平稳序列,所以这里就要求我们做一些处理了。

首先我们来看一下非平稳时间序列长什么样。在AR模型中,只要自回归系数都绝对值都是小于1的,那么序列就是平稳的,所以这样一个序列,自回归系数等于1,就是不平稳的序列了。

yt = yt-1 + c

c是一个服从正态分布的噪音。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#example 10
set.seed(12345)
ut = rnorm(50,0,1.5)
xt = cumsum(ut)
plot(xt,type = 'o');abline(h = 0)

其中,cumsum是一个计算累计数的函数。比如cumsum(c(1,2,3,4,5))=(1,1+2,1+2+3,1+2+3+4.....)=(1,3,6,10......)

这就是对非平稳序列的一个直观的感受了。

2.非平稳序列的平稳方法--差分

非平稳序列往往一次到两次差分之后,就会变成平稳序列。什么是差分呢?就是后一时间点的值减去当前时间点,也就是yt-yt-1。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#example 11
x = 1:10
diff(x,d=1)
diff(x,d=2)

这里,我们对1,2,3,4,5......这个序列做了两次差分,都是后一个数减去前一个数。

值得注意的一点是,每一次差分之后,都会少一个序列值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#example 12
plot(diff(xt,d = 1),type = 'o');abline(h = 0)
plot(diff(xt,d = 2),type = 'o');abline(h = 0)

我们用之前的序列试一下水,可以看到,一阶差分和二阶差分后,看上去都平稳了呢!

3.判断序列是否平稳

前面我们用肉眼看了序列的平稳性,但是作为一个时间序列分析者,竟然用眼睛主观判断,这有点不合逻辑。很幸运的是,我们根据单位根过程(有兴趣的读者查找相关资料),可以进行假设检验,譬如DF与ADF检验。

adf检验函数包含在tseries这个包中,使用前我们要先引用它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#example 13
adf.test(xt)
adf.test(diff(xt))
adf.test(diff(xt,d=2))

大家注意看哦,当没有做差分的时候,p-value是0.47+,而备择假设是stationary,也就是平稳时间序列,所以零假设就是非平稳时间序列。p-value>0.05的时候,在95%的置信度下,我们是不能拒绝原假设的,所以我们不能说xt原序列是时序平稳的,但是对于一阶差分和二阶差分就是可以的了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年12月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.非平稳时间序列
  • 2.非平稳序列的平稳方法--差分
  • 3.判断序列是否平稳
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档