向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时间序列预测相关推荐

  1. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  2. 时间序列分析 | Python时间序列预测理论一览

    时间序列分析 | Python时间序列预测理论一览 目录 时间序列分析 | Python时间序列预测理论一览 基本介绍 特性描述 建模方法 规则介绍 模型分类 传统时序模型 树模型 线性回归 神经网络 ...

  3. python时间序列预测不连续怎么办_手把手教你用Python处理非平稳时间序列(附代码)...

    本文约3600字,建议阅读10分钟. 本文将重点介绍时间序列数据的平稳性检验方法. 简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格--这些问 ...

  4. python时间序列预测报错_python如何做时间序列

    python做时间序列的方法:首先导入需要的工具包,输入"data.plot()","plt().show()"命令绘制时序图:然后由acf,pacf判断模型参 ...

  5. 【Python】Python时间序列预测 | 经典季节性分解

    今天给大家分享一种方法,,时间序列预测之seasonal_decompose使用移动平均线对时间序列数据进行季节性分解,Python实现和原理介绍.这是我在学习时间序列异常检测时遇到的一个问题,通过收 ...

  6. Python 时间序列预测:Hot-winters

    1. 什么是Holt-Winters 时间序列是非常常见的数据格式,以[时间,观测值]形式表现,如下图. 现实场景中如股票走势图,国家GDP历年数据,机器cpu利用率,内存数据等都是时间序列.对未来时 ...

  7. python 时间序列预测 币价_python时间序列预测股票走势

    提示:这只是个训练模型,技术不具备实际意义,入市需谨慎. 首先调用tushare包 import tushare as ts import pandas as pd import matplotlib ...

  8. python时间序列预测不连续怎么办_Python建模:预测周期性时间序列的正确姿势

    公司平台上有不同的api,供内部或外部调用,这些api承担着不同的功能,如查询账号.发版.抢红包等等. 日志会记录下每分钟某api被访问了多少次,即一个api每天会有1440条记录(1440分钟),将 ...

  9. python 时间序列预测 指数平滑_时间序列分析之指数平滑法(holt-winters及代码)...

    在做时序预测时,一个显然的思路是:认为离着预测点越近的点,作用越大.比如我这个月体重100斤,去年某个月120斤,显然对于预测下个月体重而言,这个月的数据影响力更大些.假设随着时间变化权重以指数方式下 ...

最新文章

  1. Delphi xe7 FireMonkey / Mobile (Android, iOS)生成 QR Code完整实例
  2. web复习day03:request
  3. 苹果设置网易邮箱收件服务器,如何在iPhone 3/4、iPod touch的邮件应用程序中使用IMAP服务...
  4. oracle 多个实例互相切换实例
  5. dockerfile的详细介绍
  6. 数字签名与HTTPS详解
  7. 动态ADF火车:以编程方式添加火车停靠站
  8. Cas单点登录配置数据查询用户
  9. jquery 扩展ajax请求,jQuery如何管理、扩展AJAX请求
  10. Atitit 代码复用的理解attilax总结
  11. ireport在Java中不展示_编译错误:ireport with java;属性'uuid'不允许出现在元素'jasperReport'中...
  12. DC域【软件分发】失败的处理手段
  13. fckeditor for php 下载,PHP_FCKeditor的安装(PHP),1.下载新最版的FCKEditor,解压 2. - phpStudy...
  14. DCDC BUCK芯片外围电路器件计算-包括Cin、Cout、L、f、cFF、等输出电容、电感计算、补偿电路计算
  15. 技术人员如何创业(2)---合伙人的模式
  16. kafka单条消息太大引起的线上故障
  17. Windows平台Qt添加OpenCV模块
  18. css属性的书写顺序
  19. 用数组统计学生各个分数段成绩的人数
  20. 创建一个员工信息管理界面,页面如下

热门文章

  1. Html设置表格撑开,【CSS】表格或div被撑开的解决办法
  2. linux网络查看,Linux网络命令(网络环境查看和网络测试命令)
  3. 【1383】手机短号(多实例测试)
  4. 为什么只能取出购票信息单_如何换取购票信息单 取票取出的是购票信息单
  5. 利用JDBC连接服务器数据库(Android)
  6. 怎么做三维设计模型轻量化
  7. SDKMAN!使用指南
  8. 第四章:Android灯光系统(5)-通知灯
  9. 抖音无人直播技术手机版,增加多平台实时在线转播功能,无人直播防屏蔽防检测
  10. Java-opts变量没生效,使用JAVA_OPTS env变量运行java无效