Python数据分析与机器学习43-时间序列模型

文章目录

  • 一. 时间序列的定义
  • 二. 平稳性
  • 三. 差分法( I )
  • 四. 自回归模型(AR)
  • 五. 移动平均模型(MA)
  • 六. 自回归移动平均模型(ARMA)
  • 七. ARIMA
    • 7.1 自相关函数ACF(autocorrelation function)
    • 7.2 偏自相关函数(PACF)(partial autocorrelation function)
    • 7.3 ARIMA(p,d,q)阶数确定
    • 7.4 ARIMA建模流程
      • 7.4.1 模型选择
      • 7.4.2 模型残差检验
  • 参考:

一. 时间序列的定义

时间序列(Time Series)是一组按照时间发生先后顺序进行排列的数据点序列。通常一组时间序列的时间间隔为定值间隔(如1秒,1分钟,1天,1个月,1年等),因此时间序列可以作为离散时间数据进行分析处理。时间序列广泛应用于数理统计、信号处理、计量经济学、天气预报、地震预测、脑电图、控制工程、航空学、通信工程以及绝大多数涉及到时间数据测量的应用科学与工程学。

股票价格走势:
Python数据分析与机器学习43-时间序列模型_第1张图片

地震强度时序图:
Python数据分析与机器学习43-时间序列模型_第2张图片

二. 平稳性

平稳性就是要求经由样本时间序列所得到的拟合曲线
在未来的一段期间内仍能顺着现有的形态“惯性”地延续下去

平稳性要求序列的均值和方差不发生明显变化

严平稳:
严平稳表示的分布不随时间的改变而改变。
如:白噪声(正态),无论怎么取,都是期望为0,方差为1

弱平稳:
期望与相关系数(依赖性)不变
未来某时刻的t的值Xt就要依赖于它的过去信息,所以需要依赖性

三. 差分法( I )

ARIMA 中的 I 就是差分法

差分法:时间序列在t与t-1时刻的差值

原数据:
Python数据分析与机器学习43-时间序列模型_第3张图片

一阶差分:
原始数据的波动太大,如果我们换成一阶差分,数据看起来就会平稳很多,如果一阶差分波动依旧大,我们可以转换为多阶差分。
Python数据分析与机器学习43-时间序列模型_第4张图片

四. 自回归模型(AR)

描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测

自回归模型必须满足平稳性的要求

p阶自回归过程的公式定义:
image.png
image.png

自回归模型的限制:

  1. 自回归模型是用自身的数据来进行预测
  2. 必须具有平稳性
  3. 必须具有自相关性,如果自相关系数(φi)小于0.5,则不宜采用
  4. 自回归只适用于预测与自身前期相关的现象

五. 移动平均模型(MA)

移动平均模型关注的是自回归模型中的误差项的累加

q阶自回归过程的公式定义:
image.png

移动平均法能有效地消除预测中的随机波动

六. 自回归移动平均模型(ARMA)

ARMA 自回归与移动平均的结合

公式定义:
在这里插入图片描述

七. ARIMA

ARIMA(p,d,q)模型全称为差分自回归移动平均模型
(Autoregressive Integrated Moving Average Model,简记ARIMA)

AR是自回归,p为自回归项;
MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数

原理:
将非平稳时间序列转化为平稳时间序列然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型

7.1 自相关函数ACF(autocorrelation function)

有序的随机变量序列与其自身相比较
自相关函数反映了同一序列在不同时序的取值之间的相关性

公式:
Pk的取值范围为[-1,1]
image.png

Python数据分析与机器学习43-时间序列模型_第5张图片

7.2 偏自相关函数(PACF)(partial autocorrelation function)

  1. 对于一个平稳AR§模型,求出滞后k自相关系数p(k)时
    实际上得到并不是x(t)与x(t-k)之间单纯的相关关系

  2. x(t)同时还会受到中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的影响
    而这k-1个随机变量又都和x(t-k)具有相关关系
    所以自相关系数p(k)里实际掺杂了其他变量对x(t)与x(t-k)的影响

  3. 剔除了中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的干扰之后
    x(t-k)对x(t)影响的相关程度。

  4. ACF还包含了其他变量的影响
    而偏自相关系数PACF是严格这两个变量之间的相关性

7.3 ARIMA(p,d,q)阶数确定

截尾:落在置信区间内(95%的点都符合该规则)
Python数据分析与机器学习43-时间序列模型_第6张图片

AR§ 看PACF
MA(q) 看ACF
Python数据分析与机器学习43-时间序列模型_第7张图片

7.4 ARIMA建模流程

  1. 将序列平稳(差分法确定d)

  2. p和q阶数确定:ACF与PACF

  3. ARIMA(p,d,q)

7.4.1 模型选择

模型选择AIC与BIC: 选择更简单的模型

  1. AIC:赤池信息准则(AkaikeInformation Criterion,AIC)
    =2−2ln()

  2. BIC:贝叶斯信息准则(Bayesian Information Criterion,BIC)
    =−2ln()

k为模型参数个数,n为样本数量,L为似然函数

7.4.2 模型残差检验

ARIMA模型的残差是否是平均值为0且方差为常数的正态分布

QQ图:线性即正态分布

参考:

  1. https://study.163.com/course/introduction.htm?courseId=1003590004#/courseDetail?tab=1

你可能感兴趣的:(数据分析,+,机器学习,Python,#,Python数据分析与机器学习,python,机器学习,数据分析)