对于平稳时间的序列,可以采用 AR 和 MA 模型进行预测,他们组合起来就是 ARMA 模型。先说 AR 模型吧,所谓 AR(Autoregressive) ,翻译过来是自回归模型。下面自回归标准公式,大家只要读懂这个公式,那么应该对 AR 模型问题不大。
来解释一下这个公式,这个公式如何表示自回归。首先 t 时刻 y 随机变量表示当前时刻要计算(预测)的随机变量,这里 y 是随机变量而不是值,而是一个随机变量。
首先之前一直在说平稳的时间序列,AR 模型前提条件就是要研究时间序列应该是平稳的。那么复习一下满足什么条件时间序列是平稳时间序列
- 是与时间 t 无关的常数
- 是与时间 t 无关的常数
- 是与时间间隔 k 的参数
前两个条件比较容易理解,而不同时刻只要间隔相同,他们的协方差值是时间间隔 k 相关,这样也就是说明时间间隔有一定关系所以才有研究价值,如果不同时刻的两两协方差是 0 也就是每一个时刻都是两两独立,也就是纯随机平稳时间序列。
c 表示一个常数,然后从 t-1 到 t-p 的过去时刻观察值,其实就是在这些时刻随机函数的一个观察值,前面系数表示该时刻值对当前 t 时刻 y 最后 epsilon 扰动项,随意是一个随机函数。无论是 AR 模型还是 MA 都有一个扰动项,
这里的 是均值为 0 方差为 1 的正态分布
我们都已经熟悉了什么是线性回归,这里以简单线性回归可以表示
其中 y hat 是预测值,x 是样本,而 b 表示截距,那么接下来扩展到多元线性回归,其中第 i 个样本 x,用上标表示 i 个样本,下标表示 i 个样本第 i 个特性。也就是样本 x 有 n 特征,也就是 tensor 维度,然后通过将这些样本特征线性组合加上一个常数项对的 y hat。这个看起来和我们时间序列是不是有点像是
所谓自回归我们认为当前时刻的随机变量和过去一段时间内每一个时刻值存在一定关系,所以将过去时刻看成自变量,当前时刻看成因变量。这里 x 的 i 特征变为了 t-1 或者 t-2 时刻的随机变量 y 的线性组合 c 有点类似截距 b。不过这里多了一个扰动项。
# AR example
from statsmodels.tsa.ar_model import AutoReg
from random import random
import matplotlib.pyplot as plt
# contrived dataset
data = [x + random() for x in range(1, 100)]
# fit model
model = AutoReg(data, lags=1)
model_fit = model.fit()
# make prediction
yhat = model_fit.predict(0, len(data))
plt.grid()
plt.plot(data,lw=.8,linestyle='-')
plt.plot(yhat,c='orange')
plt.show()
print(yhat)
截屏2020-07-20下午8.49.04.png
解 1 阶线性差分方差
其中
对差分方程进行求解,1 阶自回归模型
特征根法
- 特征方程
- 特征根
- 齐次解
- 特解
体现数据特征,解反应时间序列数值上特征,没有特解的齐次方程也就是 也就是等比级数,如果再加上随机扰动项也就是特解 在等比级数上加上随机项
有了线性差分方程可以推导序列的特征,现在时间序列建模过程就是上面过程相反过程,推导出现象差分方程。这是从差分方程用途,从数学角度解释了时间序列。这也就是给时间序列找到数学来源
网友评论