栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

时间序列分析(5)| 趋势平稳模型和差分平稳模型

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

时间序列分析(5)| 趋势平稳模型和差分平稳模型

前面几篇推文介绍的都是平稳时间序列模型,本篇来介绍两种带趋势的模型。

1 趋势平稳模型

趋势平稳可以简单地理解成“确定趋势成分+平稳成分”。比如,

在模拟该序列时,可以使用arima.sim()函数模型部分,再加上确定趋势:

set.seed(123)
x0 <- arima.sim(model = list(ma = c(0.2)), n = 50)
x <- x0 + 0.2*c(1:50)
plot(x, ylim = c(-2, 10))
lines(x0, lty = 2, col = "red")
lines(0.2*c(1:50), lty = 2, col = "blue")
2 差分平稳 2.1 随机游走模型

随机游走模型的一阶差分是一个白噪声过程,

这个一阶差分显然是平稳序列。记序列的初始值为,则

  • 虽然上式看起来像一个MA过程,但实际上并不是。MA过程的项的个数是固定的,即(可以为无穷),而上式的项的个数为,是随时间逐渐增多的。

序列是非平稳的,因为它的方差是随时间逐渐增大的。但它的差分是平稳序列,这种序列称为差分平稳序列。

下面模拟一个随机游走过程:

set.seed(456)
epsilon = rnorm(1000)
y <- cumsum(epsilon)[50:1000]
plot(y, type = "l")

从图上可以看出,这个序列具有一个向上的趋势。但是,这种趋势完全是随机的,只要再换一组随机数,情况就会发生转变:

set.seed(167)
epsilon = rnorm(1000)
y <- cumsum(epsilon)[50:1000]
plot(y, type = "l")

总之,随机游走模型也包含趋势,但这种趋势是随机的,这也是它与趋势平稳模型的差别。

2.2 随机游走模型的拓展

在随机游走模型中加入确定趋势,

上式称为带漂移项的随机游走模型。它的一阶差分:

也是平稳序列。

在随机游走模型中加入一个独立于白噪声,

上式称作带噪声的随机游走模型。

在随机游走模型中同时加入和,

上式称作带有噪声的趋势模型。

将白噪声换成一个MA过程,

上式称作带有不规则差分的一般趋势模型。

上述随机游走模型的拓展形式均属于差分平稳模型。

2.3 ARIMA模型

前面已经提到ARIMA(, , )过程可以经过次差分变成平稳序列,因此它也属于差分平稳过程。

ARIMA模型在形式上与ARMA模型是一样的,都可以写出如下形式:

其中,,

若将看作是未知数,则的解与ARIMA模型的特征方程的解互为倒数,其中等于1的解称为单位根,单位根的个数即参数。

因此可以对进行分解:,
从而有
而即为的阶差分,记作,
则有,
因此是平稳序列。
则可以称作是阶单整的,记作。

set.seed(123)
y <- arima.sim(model = list(order = c(0,1,1),
                            ma = 0.5),
               n = 200)

plot(y)
lines(diff(y), col = "red")
3 去除趋势

趋势平稳和差分平稳都是包含趋势的过程,前者的趋势是确定的,后者的趋势是随机的。

  • 对于趋势平稳,平稳化的方法是使用合适的回归模型拟合其确定趋势部分,剩下的残差则是平稳序列;

  • 对于差分平稳,平稳化的方法是取其若干阶的差分。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/589648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号