前面几篇推文介绍的都是平稳时间序列模型,本篇来介绍两种带趋势的模型。
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 去除趋势
趋势平稳和差分平稳都是包含趋势的过程,前者的趋势是确定的,后者的趋势是随机的。
对于趋势平稳,平稳化的方法是使用合适的回归模型拟合其确定趋势部分,剩下的残差则是平稳序列;
对于差分平稳,平稳化的方法是取其若干阶的差分。