【学习笔记】时间序列模型(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

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

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

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