【学习笔记】时间序列模型(ARIMA)

2024-08-25 03:04

本文主要是介绍【学习笔记】时间序列模型(ARIMA),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、时间序列
    • 时间序列数据
  • 二、ARIMA 模型大纲
    • 模型前提
      • 平稳性检验
    • 差分整合移动平均自回归模型 ARIMA(p,q,d)
      • 自回归模型 (AR( p ))
      • 移动平均模型 (MA( q ))
      • 自回归移动平均模型(ARMA(p,q))
      • 差分自回归移动平均模型 ARIMA(p,d,q)
    • 确定 p,q
    • 结果分析和模型检验


前言

通过模型算法,熟练对 python 的应用。
学习视频链接:
https://www.bilibili.com/video/BV1EK41187QF?p=50&vd_source=67471d3a1b4f517b7a7964093e62f7e6

一、时间序列

时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来,本文主要介绍时间序列分析中常用 ARIMA 模型。

时间序列数据

对同一对象在不同时间连续观察所取得的数据,它具备两个要素,第一个要素是时间要素,第
二个要素是数值要素

时间序列根据时间和数值性质的不同,可以分为时期时间序列时点时间序列

  • 时期序列中,数值要素反映现象在一定时期内发展的结果
  • 时点序列中,数值要素反映现象在一定时点上的瞬间水平

时期序列可加,时点序列不可加

二、ARIMA 模型大纲

在这里插入图片描述

ARIMA 模型的建模步骤

  • 对序列绘图,进行平稳性检验,观察序列是否平稳;对于非平稳时间序列要先进行 d 阶差分,
    转化为平稳时间序列;
  • 经过第一步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数(ACF)
    和偏自相关系数(PACF),通过对自相关图和偏自相关图的分析,得到最佳的阶数 p、q ;
  • 由以上得到的 d、q、p,得到 ARIMA 模型。然后开始对得到的模型进行模型检验。

模型前提

平稳性

  • 平稳性就是要求经由样本时间序列所得到的拟合曲线在未来的一段时间内仍然能够按照现有
    的形态延续下去
  • 平稳性要求序列的均值和方差不发生明显变化
    • 严平稳:序列所有的统计性质(期望,方差)都不会随着时间的推移而发生变化
    • 宽平稳:期望与相关系数(依赖性)不变,就是说 t t t 时刻的值 X X X 依赖于过去的信息

差分法实现

  • 时间序列在 t t t t − 1 t-1 t1 时刻的差值,将非平稳序列变平稳
    Δ y x = y ( x + 1 ) − y ( x ) , ( x = 0 , 1 , 2 , . . . ) \Delta yx=y(x+1)-y(x),(x=0,1,2,...) Δyx=y(x+1)y(x),(x=0,1,2,...)
  • 比如一组数列 [0,1,2,3,4,5,6,7]
  • 进行差分后就会得到新数列 [1,1,1,1,1,1]

平稳性检验

对于一个时间序列,如何确定它是否满足平稳性要求?
通常采用图检验法(通过时间序列趋势图或者自相关函数图判断) 或 ADF 检验

ADF检验

  • ADF 大致的思想就是基于随即游走(不平稳的一个特殊序列)的,对其进行回归,如果发现 p = 1 p=1 p=1,说明序列满足随机游走,就是非平稳的

图检验法

  1. 自相关系数(ACF)
    有序的随机变量序列与其自身相比较。自相关系数反映了同一序列在不同时序的取值之间的相关性,对于时间序列 y t y_t yt y t y_t yt y t − k y_{t-k} ytk 的相关系数称为 y t y_t yt 间隔 k k k 的自相关系数。

  2. 偏自相关系数 (PACF)
    为了能单纯测度 y ( t − k ) y(t-k) y(tk) y ( t ) y(t) y(t) 的影响,引进偏自相关系数 ( P A C F ) (PACF) (PACF) 的概念。对于平稳时间序列 { y ( t ) } \{y(t)\} {y(t)},所谓滞后 k k k 偏自相关系数指在剔除了中间 k − 1 k-1 k1 个随机变量 y ( t − 1 ) , y ( t − 2 ) , . . . , y ( t − k + 1 ) y(t-1),y(t-2),...,y(t-k+1) y(t1),y(t2),...,y(tk+1) 的干扰之后, y ( t − k ) y(t-k) y(tk) y ( t ) y(t) y(t) 影响的相关程度。

  • 下图是训练集的 ACF 和 PACF 图,由图形可以看出,大部分的值都落在了置信区间内,可以把训练集本身作为平稳序列,无需差分。
    在这里插入图片描述

差分整合移动平均自回归模型 ARIMA(p,q,d)

自回归模型 (AR( p ))

  • 描述当前值历史值之间的关系,用变量自身的历史数据对自身进行预测,其必须要满足平稳性要求,只适用于预测与自身前期相关的现象(时间序列的自相关性)
  • p p p 阶自回归过程的公式定义: y t = μ + ∑ i = 1 p γ i y t − i + ϵ t , p y_\mathrm{t}=\mu+\sum_{i=1}^p\gamma_iy_{t-i}+\epsilon_t,p yt=μ+i=1pγiyti+ϵt,p 表示用几期的历史值来预测
  • y t y_t yt 是当前值 μ \mu μ 是常数项 p p p 是阶数 γ i \gamma_i γi 是自相关系数

移动平均模型 (MA( q ))

  • 移动平均模型关注的是自回归模型中误差项的累计
  • q q q 阶自回归过程的公式定义: y t = μ + ϵ t + ∑ i = 1 q θ i ϵ t − i y_\mathrm{t}=\mu+\epsilon_t+\sum_{i=1}^q\theta_i\epsilon_{t-i} yt=μ+ϵt+i=1qθiϵti
  • 即时间序列当前值与历史值没有关系,而只依赖于历史白噪声的线性组合
  • 移动平均法能有效地消除预测中的随机波动

自回归移动平均模型(ARMA(p,q))

  • 自回归与移动平均的结合
  • 公式定义: y t = μ + ∑ i = 1 p γ i y t − i + ϵ t + ∑ i = 1 q θ i ϵ t − i y_{\mathrm{t}}=\mu+\sum_{i=1}^{p}\gamma_{i}y_{t-i}+\epsilon_{t}+\sum_{i=1}^{q}\theta_{i}\epsilon_{t-i} yt=μ+i=1pγiyti+ϵt+i=1qθiϵti
  • 该式表明:
    • 一个随机时间序列可以通过一个自回归移动平均模型来表示,即该序列可以由其自身的过去或滞后值以及随机扰动项来解释。
    • 如果该序列是平稳的,即它的行为并不会随着时间的推移而变化,那么我们就可以通过该序列过去的行为来预测未来。

差分自回归移动平均模型 ARIMA(p,d,q)

  • 将自回归模型 ( A R ) (AR) (AR)、移动平均模型 ( M A ) (MA) (MA)和差分法结合,我们就得到了差分自回归移动平均模型 A R I M A ( p , d , q ) {ARIMA}(p,d,q) ARIMA(p,d,q)
  • p p p 是自回归项, q q q 为移动平均项数, d d d 为时间序列成为平稳时所做的差分次数
  • 原理:将非平稳时间序列转化为平稳时间序列然后将因变量仅对它的滞后值以及随机误差项的
    现值和滞后值进行回归所建立的模型

确定 p,q

1. 相关函数法

  • 拖尾和截尾:拖尾指序列以指数率单调递减或震荡衰减,而截尾指序列从某个时点变得非常小

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. AIC、BIC准则

  • AIC 准则全称是最小化信息量准则( Akaike Information Criterion):
    A I C = − 21 n ( L ) + 2 K AIC=-21n(L)+2K AIC=21n(L)+2K,其中 L L L 表示模型的极大似然函数, K K K 表示模型参数个数
  • AIC 准则存在一定的不足。当样本容量很大时,在 AIC 准则中拟合误差提供的信息就要受到样本容量的放大,而参数个数的惩罚因子却和样本容量没关系(一直是2),因此当样本容量很大时, 使用 AIC 准则的模型不收敛于真实模型,它通常比真实模型所含的未知参数个数要多
  • BIC( Bayesian InformationCriterion)贝叶斯信息准则弥补了 AIC 的不足:
    B I C = − 21 n ( L ) + K 1 n ( n ) BIC=-21n(L)+K1n(n) BIC=21n(L)+K1n(n),其中 n 表示样本容量。
  • 显然,这两个评价指标越小越好。我们通过网格搜索,确定 AIC、BIC 最优的模型 (p、q)

以 BIC 准则为例,确定 p,q 的取值范围为 [0,5],通过循环网格搜索所有组合的 BIC 的值,得到结果如下图
在这里插入图片描述
可以看到,BIC最小值的组合为 (‘AR1’,‘MA0’)

结果分析和模型检验

  • 检验参数估计的显著性( t 检验)
  • 检验残差序列的随机性,即残差之间是独立的 e i = y i − y ^ i e_i=y_i-\hat{y}_i ei=yiy^i
  • 残差序列的随机性可以通过自相关函数法来检验,即做残差的自相关函数图
  • 从 ACF 图中可以看出残差之间独立性比较高

在这里插入图片描述

这篇关于【学习笔记】时间序列模型(ARIMA)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104360

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

关于最长递增子序列问题概述

《关于最长递增子序列问题概述》本文详细介绍了最长递增子序列问题的定义及两种优化解法:贪心+二分查找和动态规划+状态压缩,贪心+二分查找时间复杂度为O(nlogn),通过维护一个有序的“尾巴”数组来高效... 一、最长递增子序列问题概述1. 问题定义给定一个整数序列,例如 nums = [10, 9, 2

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus