基于 Python 的时序模型——AMIRA模型

时间序列分析的目的:给定一个已被观测了的时间序列,预测该序列的未来值

ARIMA 模型:如果一个时间序列经差分运算后具有平稳性,则该序列为差分平稳序列,可以使用 ARIMA 模型进行分析。

时间序列的预处理:

  1.        平稳性检验

                    时序图检验:平稳序列的时序图显示该序列值始终在一个常数附近随机波动,而且波动范围有界;

                                            非平稳序列有明显的趋势性或周期性。

                   自相关图检验:平稳序列具有短期相关性,即只有近期的序列值对现时值的影响比较明显,间隔越远的过去值对现时值影响越小。随着延迟期数k的增加,平稳序列的自相关系数会比较快的衰减趋向于0, 并在0附近随机波动

                                               非平稳序列的自相关系数衰减的速度比较慢。

                    单位根检验:存在单位根就是非平稳序列。

  1.       纯随机性检验(白噪声检验):由样本各延迟期数的自相关系数可以计算得到检验统计量,然后计算出对应的 p 值。如果 p 值显著大于显著性水平\alpha,则为白噪声序列,可以停止分析。

预处理完成后可以根据处理结果将序列分为不同类型,不同的序列采取不同的分析方法:

  1. 纯随机序列(白噪声序列):各项之间没有任何相关关系,序列在进行完全无徐的随机波动,是没有信息可提取的平稳序列。此时可以终止对该序列的分析。
  2. 平稳非白噪声序列:其均值和方差是常数。常用的拟合模型是 ARMA 模型。
  3. 非平稳序列:均值和方差不稳定,一般将其转变为平稳序列。如果一个时间序列经差分运算后具有平稳性,则该序列为差分平稳序列,可以使用 ARIMA 模型进行分析。

模型识别原则:

模型 自相关系数 ACF 偏自相关系数 PACF
AR(p) 拖尾 p 阶截尾
MA(q) q 阶截尾 拖尾
AEMA(p,q) p 阶截尾 q 阶截尾

差分运算:

  • p 阶差分:相距一期的两个序列值之间的减法运算称为1阶差分运算。
  • k 步差分:相距k期的两个序列值之间的减法运算称为k步差分运算。

差分运算具有强大的确定性信息提取能力,许多非平稳序列差分后会显示出平稳序列的性质,这时称这个非平稳序列为差分平稳序列。

对差分平稳序列可以使用ARMA模型进行拟合。ARIMA 模型的实质就是差分运算与ARMA模型的组合。


差分平稳时间序列建模步骤:

获得观察值序列——>平稳性检验——(Y)——>白噪声检验——(Y)——>分析结束

                                      平稳性检验——(N)——>差分运算——>平稳性检验------->白噪声检验——(N)——>拟合 ARMA 模型——>白噪声检验------->分析结束


得到平稳非白噪声序列后建模步骤:

平稳非白噪声序列——>计算 ACF、PACF——>ARMA模型识别——>估计模型中未知参数的值——>模型检验——(Y)——>模型优化——(Y)——>预测将来走势

                                                                                                                                                                   -----模型检验——(N)——>ARMA模型识别——>估计模型中未知参数的值——>模型检验——(Y)——>模型优化——(N)——>ARMA模型识别------


猜你喜欢

转载自blog.csdn.net/Carolinedy/article/details/81076100