时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较

引言

近年来,民航旅客周转量一直是衡量国家或地区民航运输总量的重要指标之一。为了揭示民航旅客周转量背后的规律和趋势,本研究旨在综合分析1990年至2023年的相关数据。

通过单位根检验和序列分解,我们确定了民航旅客周转量数据的非平稳性,并采用ARIMA模型进行建模和拟合。在模型选择过程中,我们比较了Holt-Winters三参数指数平滑模型、SARIMA模型和LSTM模型的拟合效果,以确定最佳的预测模型。

1 数据描述

根据1990-2023年的我国民航旅客周转量的月统计资料,绘制其趋势图如图所示。

为了更好观察民航旅客周转量的季度变化趋势,绘制民航旅客周转量的年度趋势箱线图和月度趋势箱线图如图所示。

我们可以明显地看出旅客周转量具有季节波动趋势,由于第一季中的春运结束,旅客周转量会到第二季度有明显的下降趋势;第三季度的数据7、8月份暑假是旅客周转量的高峰,然后九月又有下降趋势;第四季度的10月为国庆黄金周,旅客周转量有明显上升趋势,然后下降到季度末尾,迎来春运又呈现出上升趋势。

2 理论模型简述

2.1 Holt-Winters 三参数指数平滑模型表

Holt-Winters三参数指数平滑模型通过考虑数据的趋势、季节性和平稳成分来进行预测。它使用三个参数:平滑系数(smoothing coefficients)α、β和γ,分别用于平滑数据的级别(level)、趋势(trend)和季节性(seasonality)。这些平滑操作使得模型能够适应数据的变化,并预测未来的趋势和季节性变动。

基于加法的Holt-Winters季节模型,其三参数指数平滑模型的构造如下所示:

基于乘法的Holt-Winters季节模型,其三参数指数平滑模型的构造如下所示:

2.2 ARIMA模型

ARIMA(Autoregressive Integrated Moving Average)模型是一种常用的时间序列分析和预测方法。它结合了自回归(AR)模型、差分(I)和移动平均(MA)模型的特点,用于捕捉数据的自相关性、趋势性和季节性。具有如下结构的模型成为求和自回归移动平均模型,简记为ARIMA(p,d,q)模型:

ARIMA模型的建立通常包括三个主要步骤:

确定模型阶数、估计模型参数和模型诊断。首先,确定模型的阶数。ARIMA模型由p、d和q三个参数组成,分别代表自回归阶数(AR)、差分阶数(I)和移动平均阶数(MA)。通过观察时间序列数据的自相关图(ACF)和偏自相关图(PACF),可以初步确定模型的阶数。

第二步是估计模型参数。使用最大似然估计(Maximum Likelihood Estimation)等方法,根据历史数据对AR、I和MA的参数进行估计。这些参数反映了数据的自相关性、趋势性和季节性的影响程度。

最后一步是模型诊断。通过对残差序列进行检验,判断模型的拟合效果和残差序列是否符合模型假设。常用的诊断方法包括检查残差的自相关性、白噪声检验、残差的正态性等。ARIMA模型可以应用于各种类型的时间序列数据,包括经济数据、气象数据、股票价格等。它可以用于预测未来的数值、分析数据的趋势和季节性,并对数据进行平滑处理。

2.3 SARIMA模型

SARIMA(Seasonal Autoregressive Integrated Moving Average)模型是在ARIMA模型的基础上添加了季节性成分的一种时间序列分析和预测方法。它用于处理具有明显季节性模式的数据。其模型的数学表示如下:

其中,小写字母p、d和q分别表示非季节性自回归、差分和移动平均项的阶数,而大写字母P、D、Q和s分别表示季节性自回归、差分、移动平均项的阶数和季节性周期的长度。SARIMA模型的表达式可以分为两个部分:非季节性部分和季节性部分。

非季节性部分:

其中,Yₜ表示时间序列的观测值,B是向后滞后算子(Backshift Operator),εₜ是白噪声误差项,φ₁, φ₂, ..., φₚ和θ₁, θ₂, ..., θq分别是非季节性自回归和移动平均项的系数,p是自回归项的阶数,q是移动平均项的阶数,d是差分次数。

季节性部分:

其中,Bˢ是季节性向后滞后算子,Φ₁, Φ₂, ..., ΦPₚ和Θ₁, Θ₂, ..., ΘQₚ分别是季节性自回归和移动平均项的系数,P是季节性自回归项的阶数,Q是季节性移动平均项的阶数,D是季节性差分次数,s是季节性周期的长度。

2.4 LSTM模型

LSTM(Long Short-Term Memory)是一种常用于处理序列数据的深度学习模型,特别适用于处理具有长期依赖性的序列数据。它是一种循环神经网络(RNN)的变体,通过引入门控机制来有效地捕捉和记忆序列数据中的长期依赖关系。

LSTM模型的核心思想是利用门控单元来控制信息的流动和存储。如图所示,它包含三个关键的门控单元:遗忘门、输入门和输出门。

3 数据检验与分解

3.1 单位根检验

时间序列的平稳性是时间序列建模的重要前提。选用单位根ADF检验来判断民航旅客周转量时间序列的平稳性。

旅客周转量序列的ADF检验结果如表1所示,其P值为0.74,远大于0.05,故原数据为非平稳数据;而其一阶差分后的结果如表2所示,P值远小于0.05,接近0,故拒绝原假设,即一阶差分后的数据是平稳的时间序列数据,即为一阶单整模型,也确定了d=1。其一阶差分后的序列图如图所示。

3.2 序列分解

根据前面旅客周转量趋势图和旅客周转量季度趋势图综合观察,其序列变动随季节变化大致相等,每年有大致相等的增量,所以采用加法模型来分离长期趋势和季节变动。

旅客周转量序列其加法分解如图5所示,将时间序列数据分解为趋势、季节性和残差。可以明显的看出趋势一直处于不断上升的状态,对于季节性,十分明显在规律的间隔后能看出峰值,且频率为12个月,而残差从前期到后期的波动在一定范围。

4 建立时间序列模型

4.1 模型识别

对旅客周转量序列一阶差分后的自相关和偏相关分析进行可视化,ACF图中在1阶后的自相关系数基本上都落在95%的置信区间上,p值取1;PACF图中,也在1阶后的偏相关系数基本上的落在95%的置信区间上,q取1。

通过看图判断具有一定的主观性,通过遍历可能的参数选择统计量最小的模型相对更适合对数据的分析,把旅客周转量序列数据2021年前的数据划分为训练集,把2022年至今的数据划分为测试集,预测14期的数据,然后选择p从0-3,q从0-3,d=1,进行参数遍历拟合模型,采用AIC指标进行参数评估,得到结果如图所示:

采用AIC指标进行参数选择,得到最小的AIC值的组合为p=3,q=3,选择其作为模型进行拟合,因此针对原数据可知最终确定模型为ARIMA(3,1,3)。

4.2 ARIAM模型

4.2.1 ARIMA(3,1,3)模型拟合

模型拟合效果良好。

4.2.2 参数估计和模型检验

ARIAM(3,1,3)模型结果如表所示,一阶延迟下的LB统计量显著大于0.05,可以认为这个拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。P>|z|列是对每个参数系数的检验。大部分参数的P值均小于0.05,所以在0.05的显著性水平下,拒绝原假设,模型中大部分参数的系数通过显著性检验。

检验模型的残差是否满足均值为0,方差为常数的正太分布,结果如图所示:左上角为残差曲线,右下角为残差自相关图,其一阶后相关系数比较小;右上方的图绿色的线是标准正态分布N(0,1),橙色的线是残差的分布情况,也可以通过左下方的QQ图来判断,残差趋近于正态分布,可以认为这个拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。

综上分析,ARIMA(3,1,3)模型的拟合效果较好。

5 模型比较与预测

5.1 三参数指数平滑模型拟合

Holt-Winters 三参数指数平滑预测如图所示,其序列变动随季节变化大致相等,每年有大致相等的增量,所以采用加法模型,模型拟合得较好,既考虑了季节性波动,又考虑了趋势变化。

5.2 ARIMA(3,1,3)模型拟合

ARIMA模型在时间序列数据的拟合和预测中被广泛应用,它考虑了数据的自回归、差分和移动平均特性。通过对旅客周转量进行ARIMA(3,1,3)模型的拟合,可以获得较好的拟合效果和预测准确性。

5.3 SARIMA模型拟合

为了更好地捕捉旅客周转量序列的季节性变化,引入了SARIMA模型。如图所示,SARIMA模型是ARIMA模型的扩展,加入了季节性因素的考虑。通过调整SARIMA模型的季节性参数,周期性参数设置为12,可以更准确地预测旅客周转量在不同季节的变化趋势。与ARIMA模型相比,SARIMA模型在拟合和预测上表现更加显著,能够更好地适应数据的季节性波动。

5.4 LSTM模型拟合

旅客周转量的LSTM模型拟合如图所示,LSTM 主要是基于窗口滑动取数据训练来预测滞后数据,LSTM模型在此测试集上的预测较真实值偏高,拟合效果不如传统时间序列模型,其模型参数有待进一步优化。

5.5 模型对比

模型对比如表所示,分别用Holt-Winters 三参数模型、ARIMA(3,1,3)模型、SARIMA模型、LSTM模型对旅客周转量序列数据进行拟合分析,加入季节性的SARIMA模型相比ARIMA模型的效果更好,SARIMA模型的AIC、MAE、RMSE均为最小,可见用SARIMA模型来对旅客周转量进行预测的效果最佳。SARIMA模型能够更准确地预测旅客周转量的变化,并提供可靠的决策依据。相比之下,Holt-Winters模型、ARIMA模型和LSTM模型在某些评估指标上表现稍逊一筹,但仍然具有一定的预测能力和应用价值。

5.6 SARIMA模型预测

5.6.1 参数估计和模型检验

图片

SARIMA模型参数如表所示,一阶延迟下的LB统计量大于0.05,可以认为这个拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。大部分参数的P值均小于0.05,所以在0.05的显著性水平下,拒绝原假设,模型中大部分参数的系数通过显著性检验。

SARIMA模型残差检验结果如图所示:左上角为残差曲线,右下角为残差自相关图,其一阶后相关系数比较小;右上方的图绿色的线是标准正态分布N(0,1),橙色的线是残差的分布情况,也可以通过左下方的QQ图来判断,残差趋近于正态分布,可以认为这个拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。

由此,可以得出结论,SARIMAX(3,1,3)x(1,1,1,12)模型的拟合效果很好,可以帮助我们理解原始的时间序列数据并对未来的数值做出预测。

5.6.2 模型预测

经过前面对民航旅客周转量数据的分析我们得到了SARIMA模型SARIMAX(3,1,3)x(1,1,1,12),通过建立SARIMA模型对2023年2月后的12期进行预测,预测结果如下所示:

通过预测时序图可知,未来时间序列总体呈季节性波动趋势上升,未来12个月旅客周转量将缓速上升,具体预测数据如下表所示。这一趋势可能受到多种因素的影响,如节假日、旅游季节、经济状况等。

6 结论分析

本文首先对我国民航旅客周转量进行趋势分析,然后用ARIMA模型研究其变动趋势,在不考虑周期的影响下建立了ARIMA(3,1,3)模型,然后考虑其序列数据具有周期性波动,分别建立了Holt-Winters 三参数指数平滑模型和SARIMA模型进行分析,最后建立LSTM模型进行预测分析,通过模型的比较,得出加入周期性SARIMA模型在旅客周转量数据上的预测效果最好,并预测了未来12其的周转量数据。

虽然LSTM模型能够很好的捕捉序列之间的联系,但是可解释性没有传统模型好,传统模型的一个优势是模型参数可以得到不确定性估计,而对于模型预测的泛化能力,SARIMA和LSTM模型仍然有提升的空间,如果进一步优化,对于预测性能的提升,会有不错的效果。首先,可以进一步改进SARIMA模型和LSTM模型,提高它们在预测民航旅客周转量方面的准确性和鲁棒性。

其次,可以考虑使用其他的深度学习模型,如Transformer模型等,来进一步改善预测效果。此外,可以结合其他领域的数据和信息,如经济指标、航空运输政策等,来构建更加综合和准确的预测模型。最后,还可以研究民航旅客周转量与其他相关因素的关系,如旅游业发展、人口迁移等,以便更好地理解和预测旅客周转量的变化趋势。

理论部分 参考书籍

王燕. 时间序列分析基于R. 中国人民大学出版社.

7 代码、数据整理如下:

图片

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

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

相关文章

《大学编译原理:语言翻译的艺术与科学》

在大学的计算机科学课程中,编译原理无疑是一门充满挑战与魅力的重要学科。它就像是一座连接高级编程语言和计算机硬件的桥梁,让程序员能够用人类易于理解的语言编写代码,而计算机则能高效地执行这些指令。 一、编译原理的重要性 编译原理是…

Android个性名片界面的设计——约束布局的应用

节选自《Android应用开发项目式教程》,机械工业出版社,2024年7月出版 做最简单的安卓入门教程,手把手视频、代码、答疑全配齐 【任务目标】 使用约束布局、TextView控件实现一个个性名片界面的设计,界面如图1所示。 图1 个性名片…

C++之 string(中)

C之 string string类对象的容量操作 resize 将有效字符的个数该成n个,多出的空间用字符c填充 虽然在string里用的不多,但是在vector里面常见 这里有三种情况: 1)resize小于当前的size 2)resize大于当前的size,小于capacity …

计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用34-基于CV领域的人脸关键点特征智能提取的技术方法。本文主要探讨计算机视觉领域中人脸关键点特征智能提取的技术方法。详细介绍了基于卷积神经网络模型进行人脸关键点提取的过程,包括使…

一、Kafka入门

一、消息中间件 1、为什么使用消息中间件? 异步解耦削峰填谷 2、异步 3、解耦 异步处理使整个数据操作流程解耦,如果短信服务或者积分服务异常,不影响前面重要的功能。 面试问题点: 所以尽量将不重要的服务放到下游&#xf…

闲盒支持的组网方式和注意事项

1. 直连光猫拨号​ 通过光猫拨号,设备直连光猫的设备,需要对光猫开启UPNP并关闭DMZ 如果只接一个盒子,建议直接针对盒子IP开dmz。 2. 直连路由器​ 通过路由器拨号,设备直连路由器的设备,需要对路由器开启UPNP并关闭…

Spring Security学习

系列文章目录 第一章 基础知识、数据类型学习 第二章 万年历项目 第三章 代码逻辑训练习题 第四章 方法、数组学习 第五章 图书管理系统项目 第六章 面向对象编程:封装、继承、多态学习 第七章 封装继承多态习题 第八章 常用类、包装类、异常处理机制学习 第九章 集…

如何防止U盘资料被复制?这六个策略你值得牢记!

随着U盘广泛应用于企业和个人数据存储,如何防止U盘资料被非法复制和泄露成为企业信息安全的重要问题。 U盘作为便携的数据存储设备,虽然方便,但也带来了数据泄露的风险。 为了有效防止U盘资料被复制,以下六个策略能够帮助企业和个…

gradio交互式界面部署

gradio交互式界面部署 示例:http://xxxxx:1111/api/v1/my_model 为模型服务api,传入参数为: {"company": company,"name": name,"t_date": t_date,"amount": amount,"img1_path": img1_…

LeetCode Hot100 C++ 哈希 128.最长连续序列

128.最长连续序列 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续&#xff0…

怎么测试射频芯片质量的好坏?

无论是手机通信,还是卫星导航,射频芯片都是其核心组件之一。本文将探讨如何准确判断射频芯片的质量,以确保技术设备的稳定运行。 1. 外观检查 检查射频芯片是否有破损、引脚断裂、缺陷等。 2. 电气参数测试 对射频芯片的输入输出阻抗、功耗、…

RabbitMQ:交换机详解(Fanout交换机、Direct交换机、Topic交换机)

♥️作者:小宋1021 🤵‍♂️个人主页:小宋1021主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油&#xff01…

伊犁云计算22-1 rhel8 dhcp 配置

1 局域网搭建 2 yum 配置 这个参考前面 不说 3 dnf 安装dhcp 好我们废话不说开始安装。理论看书去 进入 dhcp.conf 配置 重启dhcpd 不能报错!!!! 我们在客户机上做测试 全局的dhcp关闭 很明显我们的客户机获取到192.16…

libreoffice word转pdf

一、准备一个word文件 运行: cd /root libreoffice --headless --convert-to pdf --outdir /root/output doc1.docx 发现中文乱码: 此时我们需要给linux 上添加中文字体: centos7 添加中文字体 再次运行正常: libreoffice --h…

如何使用Postman搞定带有token认证的接口实战!

现在许多项目都使用jwt来实现用户登录和数据权限,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才…

基于SpringBoot社区疫情信息管理系统的设计和实现

文未可获取一份本项目的java源码和数据库参考。 选题的意义 保护好人民群众的基本安全,贯彻党的领导下中国一盘棋的基本准则。将病毒隔绝在外,信息系统的存在显得至关重要,应对新型冠状病毒肺炎疫情治理的实践背景。实时关注更新疫情动态&a…

支持K歌音箱方案应用的高性能 32 位蓝牙音频应用处理器-BP1048B2

DSP是一类嵌入式通用可编程微处理器,主要用于实现对信号的采集、识别、变换、增强、控制等算法处理,是各类嵌入式系统的“大脑”应用十分广泛。BP1048B2是一款高性能DSP音频数字信号处理器芯片,能实现多种音频功能如混响、均衡、滤波、反馈抑…

Vue 自定义指令实现权限控制

一. 引言 Vue.js 提供了一种简单、灵活的方式来创建交互式的用户界面。在 Vue.js 中,指令是一种特殊的属性,可以附加到 HTML 元素上以执行一些操作。我们可以使用自定义指令来实现各种功能,比如:权限控制、自动聚焦、拖动指令等等…

通过docker启动ElasticSearch后为ElasticSearch设置用户和密码

文章目录 0. 前言1. 没有设置用户名和密码的情况2. 为ElasticSearch设置用户名和密码2.1 进入 ElasticSearch 容器内部2.2 修改 ElasticSearch 的配置文件2.3 设置用户名和密码 3. 在 kibana 容器中指定访问 ElasticSearch 的用户名和密码4. 设置用户名和密码后的情况4.1 访问 …

[51单片机] 简单介绍 (一)

文章目录 1.单片机介绍2.单片机内部三大资源3.单片机最小系统4.STC89C52RC单片机 1.单片机介绍 兼容Intel的MCS-51体系架构的一系列单片机。 STC89C52:8K FLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源。 单片机简称MCU单片机内部集成了CPU、RAM、…