时间序列 —— task03

时间序列模型

一、时间序列预测模型

时间序列分解

  • 时间序列是指将同一统计量的数值按其发生的时间先后顺序排列而成的数列
    常用按时间顺序排列的一组随机变量X1,X2,⋯Xt,⋯
    表示一个随机事件的时间序列,简记为 {Xt}

  • 时间序列的各种变化都可以归纳成四大类因素的综合影响
    - 长期趋势(trend):会导致序列出现明显的长期趋势
    - 循环波动(circle):会导致序列呈现出周期性波动
    - 季节性变化(season): 会导致序列呈现出和季节变化相关的稳定的周期波动.
    - 随机波动(immediate): 纯随机、与时间无关

  • 季节变动视为一种特殊的循环波动

  • 可采用加法结构或乘法结构分解时间序列

    • (1)加法模型:xt= Tt + Ct + St + It
    • (2)乘法模型:xt= Tt × Ct × St × It
    • Tt—趋势项
    • Ct—周期项
    • St—季节项
    • It—随机项
  • 还有加法结构与乘法结构的混合分解方式
    时间序列 —— task03

  • STL(Seasonal and Trend decomposition using Loess )分解

    • 最常用的分解方法
    • 将时间序列分解为周期项(季节项)Ct+趋势项Tt+随机项It
    • 可将时间序列分为三类:
      • 没有趋势、也没有周期的序列(水平型时间序列)
      • 只有趋势、没有周期的序列(斜坡型时间序列;可分段)
      • 有趋势、有周期的序列(含趋势和周期的时间序列)
  • 可采用指数平滑预测各项

    • 水平型时间序列:简单指数平滑
      • 假定:在较短时间间隔内,序列取值是较稳定
      • 模型为 x^t+1=α×xt+(1α)×x^t\widehat{x}_{t+1}=\alpha\times{x}_t +(1-\alpha)\times\widehat{x}_t
      • 0<α<10<\alpha<1
      • xtx_ttt 时刻真实值
      • x^t\widehat{x}_ttt 时刻平滑值
      • x^1\widehat{x}_1通常设为x1x_1
    • 斜坡型时间序列:Holt两参数指数平滑
      • 假定序列有一个比较固定的线性趋势
      • 模型为
        x^t+1=α×xt+(1α)×(x^t1+rt1)\widehat{x}_{t+1}=\alpha\times{x}_t +(1-\alpha)\times(\widehat{x}_{t-1}+r_{t-1})
        r^t=β×(x^t1x^t)+(1β)×rt1\widehat{r}_t = \beta \times(\widehat{x}_{t-1}-\widehat{x}_t)+(1-\beta)\times{r_{t-1}}
        0<α<10<\alpha<1
        0<β<10<\beta<1
    • 含趋势和周期的时间序列:Holt-winters三参数指数平滑
      • 假定序列既有趋势、又含周期; 若没有趋势,则rtr_t趋向0
      • 模型为
        x^t+1=α×(xtstπ)+(1α)×(x^t1+rt1)\widehat{x}_{t+1}=\alpha\times({x}_t -s_{t-\pi})+(1-\alpha)\times(\widehat{x}_{t-1}+r_{t-1})
        r^t=β×(x^t1x^tπ)+(1β)×rt1\widehat{r}_t = \beta \times(\widehat{x}_{t-1}-\widehat{x}_{t-\pi})+(1-\beta)\times{r_{t-1}}
        s^t=γ×(xtx^t+1)+(1+γ)×stπ\widehat{s}_t=\gamma\times(x_t-\widehat{x}_{t+1})+(1+\gamma)\times{s_{t-\pi}}
      • sts_t为周期项
      • π\pi为周期长度
      • 周期项初始可设置成0

ARIMA模型

  • Auto Regressive Integrated Moving Average model(整合移动平均自回归模型)

  • ARIMA(p,d,q)ARIMA(p,d,q)

  • 在ARMA模型的基础上使用差分法解决非平稳序列

  • 模型假定与ARMA模型一致

  • AR是“自回归”,p为自回归项数,MA为“滑动平均”,q为滑动平均项数,d为使之成为平稳序列所做的差分次数(阶数)。自回归模型,是统计上一种处理时间序列的方法,用同一变数例如x的之前各期,亦即x1至xt-1来预测本期xt的表现,并假设它们为一线性关系。因为这是从回归分析中的线性回归发展而来,只是不用x预测y,而是用x预测 x(自己);所以叫做自回归。

  • ARMA(p,q)模型中包含了p个自回归项和q个移动平均项,ARMA(p,q)模型可以表示为:
    时间序列 —— task03

  • ARMA模型假定:

  • E(εt)=0,Var(ε)=σε2E(\varepsilon_t)=0,Var(\varepsilon)=\sigma_{\varepsilon}^2这个假定保证了残差序列零均值等方差

  • E(εtεs)=0,stE(\varepsilon_t\varepsilon_s)=0,s\ne{t}这个假定保证了残差序列彼此不相关

  • E(xtεs)=0,stE(x_t\varepsilon_s)=0,s\ne{t}这个假定表明了不同时刻的序列值与残差不相关

  • ARIMA预处理流程:时间序列 —— task03

  • 平稳序列有两种定义:严平稳、宽平稳

  • 严平稳:对任意正整数mm,任取t1,t2,,tmTt_1,t_2,…,t_m\in{T},,对任意整数τ\tau,有Ft1,t2,...,tm(x1,x2,...,xm)=Ft1+τ,t2+τ,...,tm+τ(x1,x2,...,xm)F_{t_1,t_2,...,t_m}(x_1,x_2,...,x_m)=F_{t_{1+\tau},t_{2+\tau},...,t_{m+\tau}}(x_1,x_2,...,x_m)

  • 宽平稳:

    • (1)tT\forall{t}\in{T},有EXt2<EX_t^2<\infty;
    • (2)tT\forall{t}\in{T},有EXt=μEX_t=\mu,且μ\mu为常数;
    • (3)t,s,kT\forall{t,s,k}\in{T},且s+ktTs+k-t\in{T},有γ(t,s)=γ(k,k+st)\gamma(t,s)=\gamma(k,k+s-t)
    • 自协方差函数:γ(t,s)=E[(xtu)(xsu)]\gamma(t,s)=E[(x_t-u)(x_s-u)]
  • 单位根检验

    • 检验序列是否平稳

    • 原假设:给定时间序列是非平稳序列

    • ADF检验

    • KPSS检验时间序列 —— task03

    • 若不平稳,则可尝试差分运算

  • 过差分

    • 足够多次的差分运算可以使序列稳定,但会损失过度的信息。
  • 纯随机序列

    • 白噪声序列
    • 一种特殊的平稳序列
    • 完全无序的随机波动
  • 纯随机检验

    • 原假设是该序列是白噪声序列
    • Box-Pierce检验(适用于大样本情况)、Ljung -Box检验(适用于小样本情况)
  • 差分运算至序列稳定且通过白噪声检验的最小差分阶数即为d的取值

  • ARIMAj建模流程时间序列 —— task03

  • 自相关系数

    • 时间序列观测值与其过去的观测值之间的线性相关性时间序列 —— task03
  • 偏自相关系数

    • 在剔除中间k-1个随机变量的干扰后,t-k时刻观测值与t时刻观测值间的相关性时间序列 —— task03
  • 根据自相关系数图和偏自相关系数图,选择合适的p和q。

  • ARMA模型定阶原则时间序列 —— task03

  • 在确定p、q时,通常会使用AIC或BIC准则挑选合适的模型

  • 在模型复杂度与模型对数据集描述能力(即似然函数)之间寻求最佳平衡

  • AIC准则

    • AIC =2 *(模型参数的个数)-2 * ln(模型的极大似然函数)
  • BIC准则

    • BIC =(模型参数的个数) * ln(样本数量)-2 * ln(模型的极大似然函数)
  • AIC偏重拟合效果

  • BIC对模型复杂度惩罚更重

模型检验

  • 模型显著性检验
    • 如果模型提取信息充分,那么模型残差序列不应含有任何信息,即残差序列应为白噪声序列
    • 使用之前提到的纯随机检验进行检验残差序列是否为白噪声序列。
  • 模型残差序列正态检验
    • 如果数据较少(少于30),可以使用qq图进行正态检验。如果数据较大(大于30),使用ks 检验。
    • 在这里,ks检验的原假设是残差序列服从正态分布。