周期性移动模式地铁乘客流量预测

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:传知代码论文复现

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​​

目录

概述

数据集

数据来源

模型训练与评估

ARIMA模型

季节性分解

模型训练过程

乘客流量预测结果及展示分析(部分)

说明


本文所有资源均可在该地址处获取。

概述

✅ 城市地铁站点乘客流量预测是地铁运营管理和规划的重要任务,可以帮助地铁公司优化车辆调度、提高服务质量和满足乘客需求。本文提出了一种基于周期性移动模式的城市公交站点乘客流量预测方法。

✅ 首先,我们通过历史乘客流量数据对地铁站点的周期性特征进行分析,发现乘客流量在一天的不同时间段存在明显的周期性变化。然后,我们采用周期性移动模式来描述乘客流量的变化规律。该模式将一天分为多个时间段,并将每个时间段的乘客流量视为一个移动模式。通过对历史数据进行模式提取和分析,我们可以获取每个时间段的移动模式及其对应的乘客流量。接下来,我们使用时间序列分析方法,如ARIMA模型,对每个移动模式的乘客流量进行建模和预测。ARIMA模型可以考虑数据的趋势、季节性和随机性,从而提高预测的准确性。我们根据历史数据训练ARIMA模型,并利用模型对未来时间段的乘客流量进行预测。最后,我们进行了实验验证,使用真实的城市地铁站点乘客流量数据进行测试。实验结果表明,基于周期性移动模式的预测方法可以有效地预测城市地铁站点的乘客流量。与传统的预测方法相比,我们的方法在准确性和稳定性方面具有明显的优势。

✅ 综上所述,本文提出了一种基于周期性移动模式的城市地铁站点乘客流量预测方法,该方法可以帮助地铁公司更好地了解乘客流量的变化规律,并提供准确的预测结果,以支持地铁运营管理和决策。

数据集

✳️ 已收集到20190101至20190125共25天杭州地铁乘客刷卡记录,共涉及杭州地铁3条线路81个地铁站约7000万条数据。同时,还提供了杭州市地铁路网数据,即各地铁站之间的连接关系表,存储在文件data15.csv文件。

每天进站人数:

每时间段出站人数:

数据来源

✔️ 天池全球AI计算挑战赛

天池的这个比赛需要预测未来的时间段内不同地铁站每十分钟的人流量。

✔️ 主要研究方向:

深度学习驱动的时空大数据;智慧城市

✔️ 主要内容及要求:

课题组已收集到20190101至20190125共25天杭州地铁乘客刷卡记录,共涉及杭州地铁3条线路81个地铁站约7000万条数据。同时,还提供了杭州市地铁路网数据,即各地铁站之间的连接关系表,存储在文件data15.csv文件中供学生使用。

基于课题组收集到的数据,分析地铁站的历史刷卡记录,考虑人流量的周期性因素搭建深度学习模型,预测站点未来的客流量变化(进站人次和出站人次),帮助实现更合理的出行路线选择,规避交通堵塞。具体而言,以20190125最后半天每10分钟为单位,预测各时段各站点的进站和出站人次。

主要技术指标或研究方法:

评价指标为平均绝对误差MAE

✅ 完成课题所具备的条件 :

需要具备良好的统计学习思维和知识储备,熟悉基本的深度学习模型(CNN、RNN、编解码器及其变种),熟悉利用Python+Keras或Python+Pytorch构建模型、训练模型并测试模型。

模型训练与评估

ARIMA模型

RIMA模型的建立过程通常包括以下步骤:

数据预处理:包括去除异常值、填补缺失值、平稳性检验等操作,以确保数据的准确性和平稳性。

确定差分阶数:通过观察数据的趋势和季节性特征,确定进行几阶差分操作,使数据变为平稳序列。

确定模型阶数:通过观察自相关图(ACF)和偏自相关图(PACF),确定AR模型的阶数和MA模型的阶数。

参数估计:使用最大似然估计或其他方法,估计ARIMA模型中的参数。

模型检验:对建立的ARIMA模型进行残差分析和模型诊断,检验模型的拟合优度和残差的独立性。

模型预测:利用建立的ARIMA模型进行未来时间点的乘客流量预测。

季节性分解

季节性分解是一种常用的时间序列分析方法,用于将时间序列数据分解为趋势、季节性和残差三个组成部分,以便更好地理解和分析数据的特征。

在时间序列数据中,趋势表示数据长期的变化趋势,即数据随时间持续增长或减少的趋势。季节性是指数据在特定时间段内循环出现的规律性变化,例如一年中的季节、每周的周期等。残差部分则表示除趋势和季节性之外的随机波动,即无法被趋势和季节性解释的部分。

模型训练过程

站点分布图:

确定季节变化的区间:

这个期间定好之后,我们用移动平均的方法分离趋势。为了方便解释,我都用excel做示例。计算的时候,以7的中心为开始计算移动平均。所以时序列最开始的3个三个数和最后的3个数是没有值的。个人理解,如果季节性以周次出现,那么以7为单位计算的时候,比如每周六日数值都很高,这个因素就每个cycle(周)里面都有,平均下来的数值,就可以看作是摒弃了季节性的趋势的影响。分离趋势:

乘客流量预测结果及展示分析(部分)

ARIMA模型预测:

误差波动: 从图中可以看到误差值在不同样本点的波动情况。误差值范围从 -0.5 到 4.5 左右,意味着在不同时间点,预测结果与实际乘客流量有一定的偏差。

尖峰和低谷: 图中有明显的高峰(峰值)和低谷(谷值),这些可能对应了某些特定时间段内乘客流量的剧烈变化,或是模型在这些时段对实际情况的偏差较大。

整体趋势: 虽然存在明显的波动,但大部分误差值集中在0左右,说明ARIMA模型的预测结果在总体上是相对准确的。

双曲线:

蓝色虚线: 表示ARIMA模型的预测值。它跟随实际流量的变化,呈现出周期性波动。

黑色实线: 代表实际的客流量数据,曲线也表现出周期性的波动,且波峰和波谷较为明显。

周期性: 乘客流量呈现出非常明显的周期性波动,可能与地铁的日常运营规律(如上下班高峰期和非高峰期)有关。这说明客流量在一天之内多次波动,尤其是在高峰期流量达到峰值,非高峰期流量降低。

预测与实际的吻合度:

从图上可以看到,预测的蓝色虚线与实际的黑色实线大部分时间是比较吻合的,这表明ARIMA模型对地铁客流量有较好的预测效果。

预测直方图:

直方图显示预测误差较小且分布在零附近,意味着ARIMA模型对地铁客流量的预测表现较好,准确度高。

说明

附件包含数据集以及完整代码。

​​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

相关推荐
IRevers28 分钟前
使用Python和Pybind11调用C++程序(CMake编译)
开发语言·c++·人工智能·python·深度学习
cdut_suye1 小时前
C++11新特性探索:Lambda表达式与函数包装器的实用指南
开发语言·数据库·c++·人工智能·python·机器学习·华为
weixin_543662861 小时前
BERT的中文问答系统36-1
人工智能·python·bert
weixin_431470861 小时前
人名分类器(nlp)
人工智能·pytorch·python·深度学习·自然语言处理
努力更新中1 小时前
Python浪漫之画一个音符♪
开发语言·python
泰山小张只吃荷园1 小时前
期末Python复习-输入输出
java·前端·spring boot·python·spring cloud·docker·容器
凤枭香1 小时前
Python Selenium介绍(二)
开发语言·爬虫·python·selenium
工业互联网专业2 小时前
Python毕业设计选题:基于django+vue的期货交易模拟系统的设计与实现
vue.js·python·django·毕业设计·源码·课程设计
java_python源码2 小时前
[含文档+PPT+源码等]精品大数据项目-Django基于大数据实现的游戏用户行为分析与个性化推荐系统
python·游戏