交通-地铁客流量python时间序列预测

机器学习AI算法工程

共 2871字,需浏览 6分钟

 ·

2020-09-19 21:51




向AI转型的程序员都关注了这个号???

机器学习AI算法工程   公众号:datayx


根据郑州市某年8-11月各地铁闸机刷卡数据来预测12月1-7日的地铁客流量。通过对数据进行分析和清理后我们发现该问题为时序模型问题,因此我们在建立模型时分析并去除了异常的时间点,再应用构建的时序模型预测出相应的客流量。


代码 以及运行教程  获取:

关注微信公众号 datayx  然后回复  地铁  即可获取。

AI项目体验地址 https://loveai.tech


字段分析

比赛数据给了41个字段的数值,用于预测每日客流量。从题目要求中可知,我们所需要输出的预测结果只有“日期”,“TRADE_ADDRESS(刷卡地点编号)”和“预测客流量”三种数据。这意味着很多所给的字段可能是无用的。并且我们发现,预测客流量并不是一个直观的字段,因此需要我们自己对其进行整理。建立ipython文件Traffic_dataAnalysis。先用pandas库读取csv的数据:




客流量并没有出现在字段中,由题目要求得知,每个站点的日客流量是交易类型21,22之和,因此客流量实际上就是对应行的和。因此我们选择用python进行作图,来判断字段之间的联系和影响。




通过作图我们可以看出,每个月不同刷卡地点的客流量的变化趋势十分接近,因此可以知道刷卡地点TRADE_ADDRESS字段的数据拟合的非常好。

数据清洗

通过分析我们字段我们得出结论,这是一个关于时序模型预测的问题。其余无关的属性字段对预测并没有帮助,可以去除。因为预测的数据单位为天(day),因此我们先将日期进行正则处理,只取年月日(Y-m-d):


增加字段TRADE_DATE_DAY:



通过dataframe的排序求和,我们获得对应日期对应刷卡地点的客流量字段VAL:




将重新整理的数据输出,此时便得到了用来训练时间序列模型的数据集。


特征工程

新建ipython文件Traffic_modelNPre,对新输出的数据集进行操作。通过分析相关字段的客流量变化,可以看出其波动非常之大,这势必对模型的拟合产生影响,所以我们建立新字段VAL_LOG,对VAL进行指数转化,使变化值处于一个相对小的范围内。





针对整理好的数据,可以分析出:地铁客流的时间序列具有一定的连续性,以一周为单位,整段时间的客流情况会具有相似性。因此对于该题我们决定使用 时间序列模型 作为基本模型进行解答。这时开始继续分析数据:





该函数能提取相应TRADE_ADDRESS的时间序列数据,及每天的平均连接数。




绘图结果如下,可以看出有存在异常的天数。



所以需要写如下函数将异常的日子过滤掉,此处的过滤策略是:对每月特定时间段天数的数据求均值与标准差,然后将均值与标准差落在10%分位数以下和90%分位数以上的日子去除。




去除后序列如下:




将异常的天数筛选出来后,保留剩余的天数所对应的数据,并且将异常天数对应的日客流量取每月正常天数客流量的均值,使得模型能更好的拟合。这样我们便得到了新的数据集,保存在data_final文件夹中。这样,就完成了建立模型的前置工作。


建立模型

数据都已经准备好,可以开始着手模型的构建了。因为地铁人流具有连续性的特征,我们使用ARMA来对预测进行一定的修正,模型如下:


我们选择了8-10月的数据作为临时训练集,将11月1-7日的数据作为验证集来测试模型拟合的好坏。通过计算得到,该时序模型的置信区间落在(2,0),因此我们的时间序列模型p,q数值的取值分别取2和0作为参数。



从结果图上来看,对于时间序列趋势的预测还算不错,但仍存在部分偏差。模型基本构建完成,可以开始进行预测了。

结果预测

按照要求的表格形式,输出成dataframe,



进行输出就完成了预测数据:



我们将训练模型保存,用9月1日-9月7日作为测试集进行预测,与实际数据比对,最终得到的MAE=4135.218。





阅读过本文的人还看了以下文章:


TensorFlow 2.0深度学习案例实战


基于40万表格数据集TableBank,用MaskRCNN做表格检测


《基于深度学习的自然语言处理》中/英PDF


Deep Learning 中文版初版-周志华团队


【全套视频课】最全的目标检测算法系列讲解,通俗易懂!


《美团机器学习实践》_美团算法团队.pdf


《深度学习入门:基于Python的理论与实现》高清中文PDF+源码


特征提取与图像处理(第二版).pdf


python就业班学习视频,从入门到实战项目


2019最新《PyTorch自然语言处理》英、中文版PDF+源码


《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码


《深度学习之pytorch》pdf+附书源码


PyTorch深度学习快速实战入门《pytorch-handbook》


【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》


《Python数据分析与挖掘实战》PDF+完整源码


汽车行业完整知识图谱项目实战视频(全23课)


李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材


笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!


《神经网络与深度学习》最新2018版中英PDF+源码


将机器学习模型部署为REST API


FashionAI服装属性标签图像识别Top1-5方案分享


重要开源!CNN-RNN-CTC 实现手写汉字识别


yolo3 检测出图像中的不规则汉字


同样是机器学习算法工程师,你的面试为什么过不了?


前海征信大数据算法:风险概率预测


【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类


VGG16迁移学习,实现医学图像识别分类工程项目


特征工程(一)


特征工程(二) :文本数据的展开、过滤和分块


特征工程(三):特征缩放,从词袋到 TF-IDF


特征工程(四): 类别特征


特征工程(五): PCA 降维


特征工程(六): 非线性特征提取和模型堆叠


特征工程(七):图像特征提取和深度学习


如何利用全新的决策树集成级联结构gcForest做特征工程并打分?


Machine Learning Yearning 中文翻译稿


蚂蚁金服2018秋招-算法工程师(共四面)通过


全球AI挑战-场景分类的比赛源码(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


python+flask搭建CNN在线识别手写中文网站


中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程



不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  



机大数据技术与机器学习工程

 搜索公众号添加: datanlp

长按图片,识别二维码


浏览 127
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报