时间序列与ARIMA模型简记

时间序列分析

预测的方法和形式多种多样,根据方法本身的性质特点将预测方法分为定性预测方法、时间序列分析、因果关系预测。

时间序列
是按照一定的时间间隔排列的一组数据,通过对这些时间序列的分析,从中发现和揭示现象发展变化的规律,并将这些知识和信息用于预测。对于时间序列的预测,由于很难确定它与其他变量之间的关系,使用时间序列方法进行预测。

时间序列预测方法有确定性时间序列分析预测法及随机性时间序列分析预测法:

确定性时间序列分析预测法
这种预测方法使用的数学模型是不考虑随机项的非统计模型,是利用反映事物具有确定性的时间序列进行预测的方法,包括平均法、指数平滑法、趋势外推法、季节指数预测法等。
随机性时间序列分析预测法
这种方法是利用反映事物具有随机性的时间序列进行预测的方法。它的基本思想是假定预测对象是一个随机时间序列,然后利用统计数据估计该随机过程的模型,根据最终的模型做出最佳的预测。由于这种方法考虑的因素比较多,计算过程复杂,计算量大,一般市场预测使用的是确定性分析预测法。在本问题中对黄金比特币价值预测采用此种预测方法

原理:

一般,时间序列分析通常将各种可能发生作用的因素进行分类,传统的分类方法是按各种因素的特点或影响效果分为四大类:长期趋势(T),季节变动(S),循环变动(C)和不规则变动(I)。
时间序列分析预测法依据的是惯性原理,所以它建立在某经济变量过去的发展变化趋势的基础上,也就是该经济变量未来的发展变化趋势是假设的。然而从事物发展变化的规律来看,同一经济变量的发展趋势在不同时期是不可能完全相同的。这样只有将定性预测和时间序列分析预测结合在一起,才能收到最佳效果。即首先通过定性预测,在保证惯性原理成立的前提下,再运用时间序列分析预测法进行定量预测。

特点

撇开了事物发展的因果关系去分析事物过去和未来的联系。(序列相关性)
假设过去的趋势会延伸到未来。(趋势性)
时间序列数据变动存在规律性和不规律性(随机性)。

模型

采用时间序列分析进行预测时需要一系列的模型,这种模型称为时间序列模型
本题采用自回归和移动平均(ARIMA)模型,是由博克思(Box)和詹金斯(Jenkins)于70年代初提出的一著名时间序列预测方法。该模型相对于算数平均法,移动平均法,加权移动平均,指数平滑法等,具有信息浪费最少,集趋势性,相关性和随机性于一身的优点。

ARIMA 优缺点及原理:

  • 模型的优点是:模型简单,只需要内生变量而不需要借助其他外生变量。

  • 模型的缺点是:要求时序数据是稳定的,或者通过差分化之后是稳定的;本质上只能捕捉线性关系,不能捕捉非线性关系。

  • ARIMA(Auto Regressive Integrate Moving Average Model)差分自回归移动平均模型,包含3个部分,即自回归(AR)、差分(I)和移动平均(MA),它们的含义分别是:

    • AR(Auto Regressive Model)自回归模型通过自身前面部分的数据与后面部分的数据之间的相关关系(自相关)来建立回归方程,从而可以进行预测或者分析。服从p阶的自回归方程表达式如下:
      x t = ϕ 1 x t − 1 + ϕ 2 x t − 2 + . . . + ϕ p x t − p + μ t x_{t} = \phi _{1}x_{t-1} + \phi_{2}x_{t-2} + ... + \phi_{p}x_{t-p} + \mu_{t} xt=ϕ1xt1+ϕ2xt2+...+ϕpxtp+μt
      表示为AR§,。其中 μ t \mu_{t} μt表示白噪声,是时间序列中的数值的随机波动,但是这些波动会相互抵消,最终是0。 ϕ \phi ϕ表示自回归系数

    • MA(Moving Average Model)移动平均模型通过将一段时间序列中白噪声(误差)进行加权和,可以得到移动平均方程。如下模型为q阶移动平均过程,表示为MA(q):
      x t = ( μ + ) μ t + θ 1 μ t − 1 + θ 2 μ t − 2 + . . . + θ p μ t − q x_{t} = (\mu +) \mu_{t} + \theta _{1}\mu_{t-1} + \theta_{2}\mu_{t-2} + ... + \theta_{p}\mu_{t-q} xt=(μ+)μt+θ1μt1+θ2μt2+...+θpμtq
      其中 x t x_{t} xt表示t期的值,当期的值由前q期的误差值来决定,μ值是常数项,相当于普通回归中的截距项, μ t \mu_{t} μt是当期的随机误差。MA模型的核心思想是每一期的随机误差都会影响当期值,把前q期的所有误差加起来就是对t期值的影响

    • ARMA模型(AR + MA):ARMA(Auto Regressive and Moving Average Model)自回归移动平均模型是与自回归和移动平均模型两部分组成。所以可以表示为ARMA(p, q)。p是自回归阶数,q是移动平均阶数。

    • ARIMA模型:ARIMA(Auto Regressive Integrate Moving Average Model)差分自回归移动平均模型是在ARMA模型的基础上进行改造的,ARMA模型是针对t期值进行建模的,而ARIMA是针对t期与t-d期之间差值进行建模,我们把这种不同期之间做差称为差分,这里的d是几就是几阶差分。ARIMA模型也是基于平稳的时间序列的或者差分化后是稳定的,另外前面的几种模型都可以看作ARIMA的某种特殊形式。表示为ARIMA(p, d, q)。p为自回归阶数,q为移动平均阶数,d为时间成为平稳时所做的差分次数,也就是Integrate单词的在这里的意思。

    • 这一段解释可要可不要了I 表示单整阶数(Integration),时间序列必须是平稳的,才能建立计量模型。对时间序列进行单位根检验,如果是非平稳序列,那么需要通过差分转化为平稳序列,经过几次差分转化为平稳序列,就称为几阶单整。

ARIMA模型建立流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CGn0CmTE-1645512191038)(流程1.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-scQISXxs-1645512191040)(流程图2.jpg)]

  1. 时间序列可视化

  2. 平稳性检验:

  • 一般所讲的平稳时间序列在默认情况下都是指宽平稳时间序列,宽平稳时间序列则认为只要时间序列的低阶距(二阶)平稳,则该时间序列近似平稳。如果时间序列{Xt}满足以下三个条件:。。。(不想打了,直接查吧)即可认为宽平稳
  • 根据宽平稳时间序列的条件,我们可以容易得到宽平稳时间序列所具有的性质:均值,方差均为常数,自协方差函数和自相关系数只依赖于时间的平移长度,而与时间的起点无关。因此,可以利用全部的样本来估计总体的均值和方差。(这也是为什么说当拿到一个时间序列后,需要对其进行平稳性检验。)
  • 平稳时间序列的检验:
    1. 图检:通过自相关图来进行检验,对于平稳时间序列,其自相关图一般随着阶数的递增,自相关系统会迅速衰减至0附近,而非平稳时间序列则可能存在先减后增或者周期性波动等变动
    2. 统计检验:ADF(增补迪基-福勒)检验
      • 可以用它来确定序列中单位根的存在,从而帮助判断序列是否是平稳。ADF检验是对DF检验的扩展。这一检验的原假设与备选假设如下
        • 原假设: 序列有一个单位根(序列非平稳)
        • 备选假设: 该序列没有单位根。(序列平稳)
      • 单位根:当一个自回归过程中: y t = b y t − 1 + a + ϵ t y_{t} = by_{t-1} + a + \epsilon_{t} yt=byt1+a+ϵt,如果滞后项系数b为1,就称为单位根。当单位根存在时,自变量和因变量之间的关系具有欺骗性,因为残差序列的任何误差都不会随着样本量(即时期数)增大而衰减,也就是说模型中的残差的影响是永久的。这种回归又称作伪回归。如果单位根存在,这个过程就是一个随机漫步(random walk)。ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根.
      • ADF的结果主要看以下两个方面:
        1. (第一个数据)Test Statistic的值如果比Critical Value (5%)小则满足稳定性需求.
        2. (第二个数据)p-value越低(理论上需要低于0.05)证明序列越稳定。
  1. 模型识别&差分处理
  • 非平稳序列进行平稳化操作

    1. 差分法:计算序列中连续项的差值。执行差分操作通常是为了消除均值的变化
    2. 变换:著作权归作者所有。变换用于对方差为非常数的序列进行平稳化。常用的变换方法包括幂变换、平方根变换和对数变换。
  • 补充:
    对于有明显趋势或者周期性的时间序列,我们也可以对其进行分解。分解需要用到statsmodels.tsa.seasonal.seasonal_decompose函数,可以将时间序列的数据分解为趋势(trend),季节性(seasonality)和残差(residual)三部分。之后我们就可以计算残差值的稳定性,从而得到一个平稳的时间序列

  • 确定模型的类型并确定模型的参数

    1. p为自回归阶数,也就是我们需要用前多少个时间段的数据去做自回归。d为时间成为平稳时所做的差分次数,q为移动平均阶数。在之前的平稳性变化中我们做了一阶差分,那么对应d=1,那么另外两个参数ARMA(p, q)如何确定呢?
    2. 通过自相关图或者偏相关图:(ACF与PACF图)
      图的阴影部分为置信区间。
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tq3XflQP-1645512191041)(ARIMA阶数.png)]
      拖尾指序列以指数率单调递减或震荡衰减,而截尾指序列值落在置信区间内(95%的点都符合该规则).
    3. 遍历获取:
      • 先导:AIC,BIC都是判断模型的标准,其值越小表示模型越好
      • 在上述通过自相关图与偏自相关图确定p,q的方法里,我们可以看到确定的参数不止一种,因此我们可以通过遍历各个p,q参数获取对应的AIC,BIC等信息确定参数。
  1. 建模预测:
    在确定了最佳参数后,我们可以进行后续的建模与预测。预测主要有两个函数,一个是predict函数,一个是forecast函数,predict的起始时间必须在原始的数据中的,而forecast则是对训练数据集末尾下一个时间段的值进行预估。

  2. 模型的验证:
    模型的验证主要是验证模型的拟合效果,之后对模型进行相关优化与应用

你可能感兴趣的:(数据挖掘)