交通-地铁客流量python时间序列预测
向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
长按图片,识别二维码
交通-地铁客流量python时间序列预测相关推荐
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- 时间序列分析 | Python时间序列预测理论一览
时间序列分析 | Python时间序列预测理论一览 目录 时间序列分析 | Python时间序列预测理论一览 基本介绍 特性描述 建模方法 规则介绍 模型分类 传统时序模型 树模型 线性回归 神经网络 ...
- python时间序列预测不连续怎么办_手把手教你用Python处理非平稳时间序列(附代码)...
本文约3600字,建议阅读10分钟. 本文将重点介绍时间序列数据的平稳性检验方法. 简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格--这些问 ...
- python时间序列预测报错_python如何做时间序列
python做时间序列的方法:首先导入需要的工具包,输入"data.plot()","plt().show()"命令绘制时序图:然后由acf,pacf判断模型参 ...
- 【Python】Python时间序列预测 | 经典季节性分解
今天给大家分享一种方法,,时间序列预测之seasonal_decompose使用移动平均线对时间序列数据进行季节性分解,Python实现和原理介绍.这是我在学习时间序列异常检测时遇到的一个问题,通过收 ...
- Python 时间序列预测:Hot-winters
1. 什么是Holt-Winters 时间序列是非常常见的数据格式,以[时间,观测值]形式表现,如下图. 现实场景中如股票走势图,国家GDP历年数据,机器cpu利用率,内存数据等都是时间序列.对未来时 ...
- python 时间序列预测 币价_python时间序列预测股票走势
提示:这只是个训练模型,技术不具备实际意义,入市需谨慎. 首先调用tushare包 import tushare as ts import pandas as pd import matplotlib ...
- python时间序列预测不连续怎么办_Python建模:预测周期性时间序列的正确姿势
公司平台上有不同的api,供内部或外部调用,这些api承担着不同的功能,如查询账号.发版.抢红包等等. 日志会记录下每分钟某api被访问了多少次,即一个api每天会有1440条记录(1440分钟),将 ...
- python 时间序列预测 指数平滑_时间序列分析之指数平滑法(holt-winters及代码)...
在做时序预测时,一个显然的思路是:认为离着预测点越近的点,作用越大.比如我这个月体重100斤,去年某个月120斤,显然对于预测下个月体重而言,这个月的数据影响力更大些.假设随着时间变化权重以指数方式下 ...
最新文章
- Delphi xe7 FireMonkey / Mobile (Android, iOS)生成 QR Code完整实例
- web复习day03:request
- 苹果设置网易邮箱收件服务器,如何在iPhone 3/4、iPod touch的邮件应用程序中使用IMAP服务...
- oracle 多个实例互相切换实例
- dockerfile的详细介绍
- 数字签名与HTTPS详解
- 动态ADF火车:以编程方式添加火车停靠站
- Cas单点登录配置数据查询用户
- jquery 扩展ajax请求,jQuery如何管理、扩展AJAX请求
- Atitit 代码复用的理解attilax总结
- ireport在Java中不展示_编译错误:ireport with java;属性'uuid'不允许出现在元素'jasperReport'中...
- DC域【软件分发】失败的处理手段
- fckeditor for php 下载,PHP_FCKeditor的安装(PHP),1.下载新最版的FCKEditor,解压 2. - phpStudy...
- DCDC BUCK芯片外围电路器件计算-包括Cin、Cout、L、f、cFF、等输出电容、电感计算、补偿电路计算
- 技术人员如何创业(2)---合伙人的模式
- kafka单条消息太大引起的线上故障
- Windows平台Qt添加OpenCV模块
- css属性的书写顺序
- 用数组统计学生各个分数段成绩的人数
- 创建一个员工信息管理界面,页面如下
热门文章
- Html设置表格撑开,【CSS】表格或div被撑开的解决办法
- linux网络查看,Linux网络命令(网络环境查看和网络测试命令)
- 【1383】手机短号(多实例测试)
- 为什么只能取出购票信息单_如何换取购票信息单 取票取出的是购票信息单
- 利用JDBC连接服务器数据库(Android)
- 怎么做三维设计模型轻量化
- SDKMAN!使用指南
- 第四章:Android灯光系统(5)-通知灯
- 抖音无人直播技术手机版,增加多平台实时在线转播功能,无人直播防屏蔽防检测
- Java-opts变量没生效,使用JAVA_OPTS env变量运行java无效