APP下载

长短时记忆网络公交短时客流预测实验设计

2021-11-19龚兰兰凌兴宏

现代电子技术 2021年22期
关键词:刷卡客流量客流

龚兰兰,凌兴宏

(1.苏州大学文正学院,江苏苏州 215006;2.苏州大学计算机科学与技术学院,江苏苏州 215006)

0 引 言

在基于Python 的数据挖掘教学过程中,鉴于学生的理论基础和技术难度,教学内容主要侧重于前期的数据探索和数据预处理过程。建模作为数据挖掘的后期过程也是重要部分,需要相关的机器学习知识,教学中对相关理论算法的具体应用涉及较少。没有较好、完整的综合实验,让学生深刻地体会数据挖掘的应用过程,对相关的机器学习知识缺乏深入理解和解决实际问题的综合应用能力。公交车站点客流量的预测是公交运营决策的重要依据,能有效地应用于公交调度和排班计划等,以提高公交的运行效率。因此,对公交站点客流的预测具有很现实的应用价值。传统客流预测的方法主要有两类:第一类是以ARIMA 模型[1-2]、多元线性回归(MLR)模型[3]为代表的参数方法;第二类是以支持向量机[4-5]、神经网络[6-8]为代表的无参数方法。目前,深度学习的方法越来越多地被用来进行短时交通流量预测,包括使用卷积神经网络(CNN)进行短时公交客流预测[9-10]、基于长短时记忆网络(LSTM)对公交进行客流预测[11-12]、用卷积神经网络和长短时记忆网络的组合模型实现短期流量预测[13-14]等。长短时记忆网络(Long Short Term Memory Network,LSTM)是深度学习网络的一种,具有“记忆性”,并且擅长处理时间序列预测问题。因此,本文选择用LSTM 进行公交短时客流预测,开发了数据挖掘的综合实验。在解决实际问题的同时,有利于学生加深对深度学习网络模型的理解和应用能力,增强学生对数据分析和挖掘流程的理解和掌握,锻炼动手能力。

1 实验原理

1.1 数据预处理

实验的目标是通过对苏州市公交系统某线路过去的IC 卡刷卡数据和公交车GPS 数据进行挖掘,从而实现对公交站点某时刻客流量的预测。

完整的数据挖掘过程包括定义目标、获取数据、数据探索、数据预处理、挖掘建模、模型评价六个步骤[15]。其中数据预处理工作占到了整个数据挖掘过程60%的工作量。本实验的挖掘流程如图1 所示。

图1 实验流程

数据集来源于苏州市新区2017 年6—8 月的真实公交数据,格式为CSV 文件。

数据预处理的工作占据实验的大部分,主要是将原始的IC 卡刷卡数据和GPS 数据,通过清洗、集成、变换和规约等处理,产生有利于后期挖掘建模的基于时间序列的站点客流量数据。数据预处理的主要工作包括以下几个方面:

1)筛选有效数据,主要是目标线路、有效日期时间范围以及目标站点的数据。

2)将原始数据进行规范化,处理成统一的、有效的、便于处理的格式。

3)站点匹配:IC 刷卡数据中的信息并不包含站点信息,即无法直接从刷卡数据中得到乘客的上车站点,需要通过与GPS 数据进行车辆、行驶方向、时间等信息匹配,以及进行数据变换和集成,得到乘客的刷卡站点。

4)时间段匹配:数据规约处理,需要以每30 min 一个时间段进行划分,通过时间聚类的方法将所有刷卡数据划分到相应的时间段。

5)最后按时间段统计站点的刷卡数,即客流量。

建模阶段主要是搭建预测模型,然后用数据集进行训练,用测试集进行预测。

最后,为了评价模型预测的有效性和准确性,则需要使用相应的评价指标对模型的预测误差进行评估。

1.2 LSTM 模型

长短时记忆网络(LSTM)是一种改进后的循环神经网络(RNN)。它的出现主要是为了解决RNN 的缺陷,即长序列训练过程中的梯度消失和梯度爆炸问题。而LSTM 网络具有“记忆性”,并且擅长处理多个变量的问题,该特性使其有助于解决时间序列预测问题。相比普通的RNN,LSTM 能够学习长期依赖信息,在更长的序列中有更好的表现。

由于LSTM 拥有较强的“记忆”能力,因此较多地被应用于时间序列的预测问题,近年来开始被应用于长时间序列的短期交通流预测[12]。

构建LSTM 神经网络预测模型,需要确定模型的输入输出、网络层数、各层神经元数、时间步长、迭代次数、批处理大小、激活函数等基本参数。为了使模型具有更好的表现,还需要选择合适的优化算法、学习率。为了防止过拟合,本实验需要使用Dropout 技术[13],设置合适的Dropout 概率参数,在深度学习网络的训练过程中使参数以相应的概率从网络中丢弃,以提高网络的泛化能力。

2 实验过程和结果

2.1 数据预处理

2.1.1 数据变换和集成

从原始数据中筛选一条线路(32 路)的某个站点(滨河花园站)刷卡数据作为实验案例,进行流量预测。原始IC 卡数据结构如表1 所示,GPS 数据结构如表2所示。

表1 IC 卡数据字段说明

表2 公交车GPS 数据字段说明

由于刷卡数据中并没有站点信息,即无法直接从刷卡数据中得到乘客的上车站点。针对这一情况,首先需要解决乘客上车站点识别问题:根据IC 卡刷卡数据中线路、车牌号和刷卡时间等信息,与GPS 数据中的车牌号、行驶方向以及时间相匹配,确定乘客刷卡站点。

2.1.2 数据规约

首先,将每日公交运行时间6:00—21:00按每30 min一个时间段进行划分;其次,对IC 卡刷卡数据进行时间聚类,将所有刷卡数据划分到相应的时间段;接着,统计数据,对站点各时间段的刷卡数量进行统计,即得到各个时间段的客流量。规约后的客流量数据(部分)如表3 所示,新的数据集只有4 个有效字段,少量但是具有代表性的数据能够大幅加快数据挖掘时间。

表3 客流量数据样本

2.2 构建LSTM 预测模型

该模型的输入为该站点前n个时刻的历史客流量,输出是该站点下一时刻流量。考虑到某一站点的客流量不仅与该站点自身历史时刻的流量相关,还会受相邻站点的流量影响,因此,构建一个基于相邻m个站点过去n个时刻的客流时空矩阵作为模型的输入,矩阵结构如下:

式中:si是第i个站点,过去n个时刻的所有流量;si(t-n)是第i个站点,n时刻前的客流量。实验中m取3,n取5,即根据该站点和相邻前2 个站点过去5 个时刻的历史流量来预测该站点下一时刻流量。

模型采用2 层LSTM 构建的神经循环网络,每层结点数为100,时间步长为5,批处理大小为64,迭代次数为800,使用ReLU 激活函数。

为防止过拟合,采用Dropout 方法进行训练,并采用Adam 优化器进行模型优化,学习率设为0.001,损失函数选择平均绝对误差(Mean Absolute Error,MAE)。网络结构如图2 所示。

图2 预测模型网络结构

2.3 模型评价

为了衡量预测模型的性能,实验采用平均绝对误差(MAPE)、均方根误差(RMSE)作为性能评价指标去评估预测误差。MAPE 和RMSE 的计算公式如下:

式中:N代表样本的个数;xi代表在某时刻站点实际客流量;yi代表模型预测客流量。MAPE 反映客流预测值总体的偏离度,能够衡量模型的预测准确率;RMSE 反映预测值与真实值之间的误差,能够衡量预测值的精确度。

2.4 实验结果

实验在CPU 为IntelⓇCore i5-4210H CPU 2.92 GHz,GPU 为GTX850M 4 GB 的WIN10 环境下进行。软件平台采用Pycharm Python 3.5 集成开发环境,LSTM 神经网络使用Keras 框架实现。

数据集使用苏州市新区公交数据,选取其中32 路公交车刷卡数据和GPS 数据,进行预处理之后,一共包含600 个数据对象,每个数据对象包含了4 个属性,其中90%作为训练集,10%作为测试集。对滨河花园站点进行预测,分别迭代300 次,400 次,500 次和800 次的预测值与真实值对比,如图3 所示。

图3 实验预测结果对比图

模型预测误差评估结果如表4 所示,可以看出,用LSTM 构建的预测模型,基于多站点历史客流对公交站点客流进行短时预测具有较高的准确度。

表4 实验结果

3 结 语

本文基于数据挖掘流程和深度学习LSTM 网络,以公交站点短时客流预测为例,设计一个基于Python 的综合设计实验项目。利用苏州市公交数据,构建时空矩阵,使用LSTM 模型进行站点客流预测。结果表明该模型可以有效地对公交客流进行短时预测,能够应用到城市智能公交系统中,具有较高的实用价值。该综合实验有利于学生加深对深度学习网络的理解和应用能力,增强学生对工程问题的分析、解决和综合实践能力。

猜你喜欢

刷卡客流量客流
客流增多
基于嵌入式系统的商场客流量统计算法
刷卡
基于自学习补偿的室内定位及在客流分析中的应用
基于AFC数据的城轨站间客流量分布预测
人工免疫算法在电梯客流时段划分的应用
成长日记
刷脸就可以购物
城市轨道交通运营客流数据分析缺陷及应对
从客流量推算公交出行PA矩阵的方法