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

news2024/9/23 17:12:52

文章目录

  • 前言
  • 一、时间序列
    • 时间序列数据
  • 二、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 图中可以看出残差之间独立性比较高

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot集成kafka-消费者批量消费消息

SpringBoot集成kafka-消费者批量消费消息 1、消费者2、生产者3、application.yml配置文件4、实体类5、生产者发送消息测试类6、测试6.1、测试启动生产者6.2、测试启动消费者 1、消费者 设置批量接收消息 package com.power.consumer;import org.apache.kafka.clients.consume…

IC-Light容器构建详细指南

一、介绍 IC-Light 是一个操纵图像照明的项目,能够让一张普普通通的照片焕发光彩。 IC-Light,全称为“Imposing Consistent Light”,是一款由 AI 图像处理专家张吕敏(ControlNet 的作者)精心开发的创新工具。主要用于…

启用 UFW 防火墙后如何打开 80 和 443 端口?

UFW(Uncomplicated Firewall)是一款 Linux 系统上用户友好的管理防火墙规则的工具。它简化了控制网络流量的过程,使用户更容易开放或阻止端口。 本文将引导您使用 UFW 打开端口 80 (HTTP) 和 443 (HTTPS) 端口。您将了解如何启用这些端口&am…

uni-app项目搭建和模块介绍

工具:HuilderX noed版本:node-v17.3.1 npm版本:8.3.0 淘宝镜像:https://registry.npmmirror.com/ 未安装nodejs可以进入这里https://blog.csdn.net/a1241436267/article/details/141326585?spm1001.2014.3001.5501 目录 1.项目搭建​编辑 2.项目结构 3.使用浏览器运行…

华为Cloud连接配置

Cloud(云)连接意思为本地电脑和eNSP中的虚拟的VRP系统连接的 配置Cloud 先添加UDP 再添加需要使用的网卡 网卡建议使用虚拟机的网卡,如果没有虚拟机也可以使用其他网卡,自己设定一下IP就行 端口映射设置 配置R1 [R1]int e0/0/0 [R1-Ethernet0/0/0]ip …

B. 不知道该叫啥

题意:求长度为n的数列方案数,数列需满足两个条件:1.均为正整数。2.相邻两个数乘积不能超过m 思路:考虑dp。 设表示前i个点以j结尾的方案数,则有: 可以得出: 双指针数论分块解决。把每个m/i相…

一个下载镜像非常快的网站--华为云

1、镜像的下载飞速 链接:mirrors.huaweicloud.com/ubuntu-releases/24.04/ 下载一个的ubuntu24.04的镜像文件,5.7G的大文件,不到1分钟就下完毕了, 比起阿里云下载的速度600K/S,这个速度是100多倍。 非常的神速,非常…

如何选择高品质科研实验室用太阳光模拟器

概述 太阳光模拟器是一种能够模拟太阳光照射条件的设备,主要用于实验室环境中对太阳能相关材料和设备进行性能测试。这类模拟器能够提供与自然太阳光谱相似的光照,同时还能精确控制光照强度和照射角度,以满足不同测试需求。 对于被归类为太…

Leetcode 104. 二叉树的最大深度 C++实现

Leetcode 104. 二叉树的最大深度 问题:给定一个二叉树root,返回其最大深度。 二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* …

【Linux篇】Linux的用户和权限

目录 1. 认识Linux的root用户(超级管理员) 1.1 介绍 1.2 su命令和exit命令 1.3 sudo命令 为普通用户配置sudo认证 2. 用户与用户组 2.1 用户组管理 2.2 用户管理 2.3 getent命令 3. 查看权限控制信息 3.1 认知权限信息 3.2 rwx含义 r&#x…

巴恩斯利蕨数学公式及源码实现——JavaScript版

为什么要写这篇文章 本篇接《张侦毅:巴恩斯利蕨数学公式及源码实现》。之前文章中源码的编程语言用的是Java,JDK的版本为8,现在我的JDK版本已经升级到22了,在新版本JDK中,原来的JApplet方法已经被废弃,不能…

云原生之全链路分布式跟踪系统 Zipkin和SkyWalking

贪多嚼不烂 Pinpoint 就不对比了 参考 APM系统简单对比(zipkin,pinpoint和skywalking) springcloud 看云 Zipkin和SkyWalking都是流行的分布式跟踪系统,但它们的设计和实现有明显的不同。 以下是它们之间的一些对比: 数据存储: Zipk…

Linux与Windows的文件与目录操作API汇总整理

文件和目录操作是编程中非常基础且常用的部分,涉及到文件的创建、读写、删除以及目录的创建、删除等功能。下面是文件和目录操作的汇总整理,包括常见的API及其用途: 文件操作 POSIX 系统(如 Linux 和 macOS) 打开文件…

Python二级知识点

在阅读之前,感谢大家的关注和点赞。祝你们都能心想事成、健健康康。 一.数据流程图 一般这道题是经常考的,有向箭头--->表示数据流。圆圈○表示加工处理。 二.字典如何比较大小 字典类型是如何比较大小的呢,是使用字典的键来比较大小&…

Python 使用everything的相关模块,创建极其快速的文件搜索和管理工具

在这篇博客中,我将分享如何使用 Python 的 everytools库构建一个简单的文件搜索和管理工具。这个工具允许用户搜索文件、查看文件路径、导出文件信息到 Excel,以及生成配置文件。 C:\pythoncode\new\everythingtools.py 项目概述 这个工具的主要功能包…

mysql binlog 全量与增量备份

mysql binlog 全量与增量备份 mysql binlog常用操作 https://blog.csdn.net/xyy1028/article/details/124446625 mysqldump mysqlbinlog 增量备份 mysql的增量备份 https://blog.51cto.com/u_16213572/10976496 mysql全量备份与增量备份 — vip https://blog.51cto.com/hehe1…

Java学习_20_File以及IO流

文章目录 前言一、FileFile中常见的成员方法判断和获取创建和删除获取和遍历 二、IO流IO流体系结构字节流字节输出流:FileOutputStream字节输入流FileInputStrea文件拷贝try……catch异常处理中文乱码现象 字符流字符流读取FileReader字符流输出FileWriter底层原理 …

堆《数据结构》

堆《数据结构》 1. 堆排序1.1 建堆向上调整建堆向下调整建堆 1.2 利用堆删除思想来进行排序1.3Top-k问题 2.堆的时间复杂度 1. 堆排序 1.1 建堆 建大堆 建小堆 向上调整建堆 AdjustUp建堆 void AdjustUp(HPDataType* a, int child) {// 初始条件// 中间过程// 结束条件int p…

专利权和版权有什么区别?

专利权和版权有什么区别?

【IEEE】第四届智能通信与计算国际学术会议(ICICC 2024,10月18-20)

第四届智能通信与计算国际学术会议(ICICC 2024)将于2024年10月18-20日在中国郑州隆重举行。 会议旨在为从事智能通信与计算研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究…