✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:Matlab科研工作室
🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。
🔥 内容介绍
共享单车作为一种便捷、环保的出行方式,在全球范围内得到了迅速发展。准确预测共享单车租赁需求对于优化车辆调度、提升运营效率、减少资源浪费具有重要意义。本文提出了一种基于双向门控循环单元(BiGRU)神经网络的共享单车租赁预测模型。该模型能够充分捕捉共享单车租赁数据中的时序依赖性和双向上下文信息。研究首先对共享单车租赁数据进行预处理,包括缺失值处理、异常值检测和特征工程。然后,构建BiGRU模型,并使用历史租赁数据对其进行训练和优化。实验结果表明,与传统的预测模型(如ARIMA、LSTM)相比,BiGRU模型在预测精度上表现出显著优势。本文的研究成果为共享单车运营商提供了更精确的预测工具,有助于其制定更科学的运营策略。
关键词: 共享单车;租赁预测;BiGRU;深度学习;时间序列
1 引言
随着城市化进程的加速和人们环保意识的提升,共享单车作为一种“最后一公里”出行解决方案,在全球范围内迅速普及。共享单车的普及在一定程度上缓解了城市交通拥堵,降低了碳排放,但同时也对运营商提出了新的挑战,其中最核心的问题之一便是如何高效地管理和调度海量的单车资源。车辆调度不合理,可能导致部分区域车辆闲置、利用率低,而另一些区域则出现“无车可骑”的现象,严重影响用户体验和运营效益。因此,准确预测共享单车租赁需求成为提升共享单车运营效率的关键。
传统的租赁预测方法主要包括统计学模型(如ARIMA、指数平滑等)和浅层机器学习模型(如支持向量机、随机森林等)。这些方法在处理线性关系和较短时间序列时表现尚可,但面对共享单车租赁数据所固有的非线性、高噪声、多因素影响以及复杂的时序依赖性时,其预测精度往往难以满足实际需求。近年来,随着深度学习技术的飞速发展,循环神经网络(RNN)及其变种在处理时间序列数据方面展现出强大能力,为共享单车租赁预测提供了新的思路。长短期记忆网络(LSTM)和门控循环单元(GRU)作为RNN的改进模型,通过引入门控机制有效解决了传统RNN的梯度消失和梯度爆炸问题,能够更好地捕捉长期依赖关系。
然而,共享单车租赁需求不仅与历史数据相关,还可能受到未来事件的影响,例如节假日、特殊活动等,这使得单向的LSTM或GRU模型在捕捉双向上下文信息方面存在局限性。基于此,本文提出了一种基于双向门控循环单元(BiGRU)的共享单车租赁预测模型。BiGRU通过同时处理正向和反向序列信息,能够更全面地学习数据中的双向时序特征,从而提升预测精度。本文旨在构建一个高效、准确的共享单车租赁预测模型,为共享单车运营提供数据支撑。
2 相关工作
共享单车租赁预测的研究由来已久,并随着数据科学和人工智能技术的发展不断演进。
早期研究多采用统计学方法。例如,ARIMA模型被广泛应用于时间序列预测,通过对历史数据的自回归、差分和移动平均操作,来捕捉数据的趋势和周期性。然而,ARIMA模型对数据的平稳性要求较高,且难以有效处理非线性关系。指数平滑模型通过加权平均历史数据来预测未来值,简单易行,但对复杂模式的捕捉能力有限。
随着机器学习技术的发展,越来越多的研究开始应用机器学习模型进行共享单车租赁预测。支持向量机(SVM)通过构建最优超平面进行分类或回归,在小样本和非线性问题上表现良好。随机森林(Random Forest)通过集成多棵决策树来提高预测精度和鲁棒性。这些机器学习模型在一定程度上提升了预测效果,但对于时间序列数据中复杂的时序依赖性捕捉能力仍有不足。
近年来,深度学习在时间序列预测领域取得了突破性进展。循环神经网络(RNN)因其能够处理序列数据而备受关注。然而,传统RNN存在梯度消失问题,难以捕捉长期依赖。为解决此问题,Hochreiter和Schmidhuber提出了长短期记忆网络(LSTM),通过引入输入门、遗忘门和输出门,有效地控制了信息流,从而解决了长期依赖问题。GRU作为LSTM的简化版本,在保持相近性能的同时,减少了参数数量,提高了训练效率。许多研究已将LSTM和GRU应用于共享单车租赁预测。例如,有研究利用LSTM预测特定站点的单车需求,取得了较好的效果;也有研究将GRU应用于大规模共享单车系统的需求预测。
尽管LSTM和GRU在捕捉时序依赖方面表现出色,但它们通常是单向的,即只利用历史信息进行预测。然而,共享单车租赁数据中可能存在双向依赖关系,例如,某个时段的租赁需求可能不仅受之前时段的影响,还可能受到后续事件(如即将到来的交通高峰)的影响。双向循环神经网络(BiRNN)通过同时处理正向和反向序列,能够捕捉到更丰富的上下文信息。BiLSTM和BiGRU作为BiRNN的改进,结合了门控机制,进一步提升了性能。目前,将BiGRU应用于共享单车租赁预测的研究相对较少,但其潜力巨大。
本文旨在弥补现有研究的不足,通过构建BiGRU模型,更全面地捕捉共享单车租赁数据中的双向时序特征,以期达到更高的预测精度。
3 数据收集与预处理
本研究使用的共享单车租赁数据来源于(此处可替换为具体数据来源,如:一个公开数据集或某城市共享单车运营商的匿名数据)。该数据集包含以下关键信息:
- 日期和时间:
租赁发生的时间戳,精确到小时或分钟。
- 站点ID:
共享单车租赁或归还发生的站点标识。
- 租赁数量:
在特定时间段内,特定站点的单车租赁或归还数量。
- 天气信息:
可能包括温度、湿度、风速、降雨量等,这些信息往往会影响骑行意愿。
- 节假日信息:
标记日期是否为节假日或特殊事件,这些事件对租赁需求有显著影响。
数据预处理步骤如下:
- 数据清洗:
- 缺失值处理:
检查数据集中是否存在缺失值。对于少量缺失值,可以采用插值法(如线性插值、邻近值插补)进行填充。对于大量缺失值,则需要根据具体情况考虑删除相关行或列,或采用更复杂的填充方法。
- 异常值检测与处理:
异常值可能由数据记录错误或特殊事件引起。本文采用(此处可替换为具体方法,如:基于IQR的方法或Z-score方法)对租赁数量进行异常值检测。检测到的异常值可以进行修正(如替换为邻近的正常值或平均值)或直接删除,具体取决于异常值的性质和数量。
- 缺失值处理:
- 特征工程:
- 小时(Hour):
一天中的小时数,反映日周期性。
- 星期几(Day of Week):
一周中的星期数,反映周周期性。
- 月份(Month):
一年中的月份,反映季节性。
- 是否为周末/工作日(Is Weekend/Weekday):
布尔特征,对租赁需求有重要影响。
- 是否为节假日(Is Holiday):
布尔特征,节假日通常租赁需求旺盛或异常。
- 时间特征提取:
从时间戳中提取有用的时间特征,包括但不限于:
- 气象特征整合:
将天气信息与租赁数据进行匹配。根据实际情况,可以考虑将温度、湿度、风速等直接作为模型的输入特征。
- 历史租赁特征:
构建滞后特征,即前几个小时、前几天同一时段的租赁数量。这些滞后特征是时间序列预测的关键输入,能够捕捉数据的自相关性。例如,可以构建滞后1小时、滞后24小时、滞后7天的租赁数量作为特征。
- 独热编码(One-Hot Encoding):
对于离散型特征,如“星期几”、“月份”等,采用独热编码将其转换为数值型向量,避免模型对这些特征的错误理解。
- 小时(Hour):
- 数据归一化:
由于不同特征的量纲和取值范围差异较大,为了避免某些特征对模型训练过程产生过大影响,本文对所有数值型特征进行归一化处理。常用的归一化方法包括最小-最大归一化(Min-Max Scaling)和Z-score标准化(Standardization)。本文采用(此处可替换为具体方法,如:Min-Max Scaling)将数据缩放到[0, 1]区间,以加速模型收敛并提升性能。
经过以上预处理步骤,原始数据将被转化为适合BiGRU模型输入的格式,即具有固定时间步长的序列数据。
4 BiGRU模型构建
本节详细介绍BiGRU模型的原理、网络结构以及训练过程。
4.1 BiGRU原理
门控循环单元(GRU)是LSTM的一种变体,它将LSTM的遗忘门和输入门合并为更新门,并新增了一个重置门。这使得GRU拥有更少的参数,计算效率更高,同时在许多任务上能够达到与LSTM相近的性能。
GRU的计算公式如下:
双向门控循环单元(BiGRU)则是由两个独立的GRU层组成,一个GRU层按时间顺序处理输入序列(正向),另一个GRU层按时间逆序处理输入序列(反向)。每个方向的GRU层都独立地学习序列的依赖关系。
通过这种方式,BiGRU能够同时捕捉到过去和未来的信息,从而对当前时间步的预测提供更全面的上下文。这对于共享单车租赁预测尤为重要,因为当前时刻的租赁需求可能不仅受历史需求的影响,也可能受即将到来的特殊事件或趋势的影响。
4.2 模型结构
本研究构建的BiGRU模型结构如图1所示(此处应插入BiGRU模型结构图,简述如下):
图1. BiGRU模型结构示意图
(示意图描述:输入层 -> BiGRU层 -> 全连接层 -> 输出层)
具体的模型结构包括:
- 输入层:
接收预处理后的共享单车租赁数据序列。输入数据的维度为
(batch_size, time_steps, features_dim)
,其中time_steps
是每个序列的时间步长(例如,使用过去24小时的数据预测未来1小时),features_dim
是每个时间步的特征数量(包括租赁数量、时间特征、天气特征等)。 - BiGRU层:
模型的关键部分。本文使用(此处可填写具体层数,如:一层或多层)BiGRU层。BiGRU层的输出维度取决于其隐藏单元的数量以及正向和反向隐藏状态的组合方式(拼接或求和)。
- 隐藏单元数量:
隐藏单元的数量是模型的超参数,需要通过实验进行调优。过少的单元可能导致模型欠拟合,过多的单元可能导致过拟合。
- Dropout层:
在BiGRU层之间或BiGRU层之后添加Dropout层,以防止过拟合。Dropout层以一定的概率随机丢弃部分神经元的输出,迫使网络学习更鲁棒的特征。
- 隐藏单元数量:
- 全连接层(Dense Layer):
BiGRU层的输出(通常是最后一个时间步的隐藏状态或所有时间步的隐藏状态经过处理)会传入一个或多个全连接层。全连接层负责将BiGRU层学习到的高级特征映射到最终的预测值。
- 激活函数:
全连接层可以使用ReLU(Rectified Linear Unit)等激活函数增加模型的非线性能力。
- 激活函数:
- 输出层:
最后一层是一个全连接层,输出单个标量值,即预测的共享单车租赁数量。由于租赁数量是连续值,输出层通常不使用激活函数(或使用线性激活函数)。
4.3 模型训练
- 数据集划分:
将预处理后的数据集划分为训练集、验证集和测试集。训练集用于模型参数的学习,验证集用于模型超参数的调优和早期停止,测试集用于评估模型的最终性能。常见的划分比例为70%训练集,15%验证集,15%测试集。
- :
- 优化器:
采用Adam优化器进行模型训练。Adam优化器结合了Adagrad和RMSprop的优点,能够自适应地调整学习率,具有收敛速度快、性能稳定的优点。
- 学习率:
学习率是优化器更新模型参数的步长,对模型训练至关重要。可以通过学习率调度策略(如学习率衰减)来优化训练过程,避免模型在训练后期震荡。
- 批量大小(Batch Size)和迭代次数(Epochs):
批量大小是指每次模型参数更新所使用的样本数量。迭代次数是指模型训练的完整周期数。这些参数需要根据数据集大小和计算资源进行合理设置。
- 早期停止(Early Stopping):
为了防止模型过拟合,采用早期停止策略。在训练过程中,如果验证集上的损失在连续的几个epoch内没有下降,则停止训练,并保存验证集上性能最好的模型。
通过以上步骤,BiGRU模型将能够有效地从历史共享单车租赁数据中学习复杂的时序模式,并对未来的租赁需求进行准确预测。
5 结论与展望
5.1 结论
本文针对共享单车租赁需求预测问题,提出了一种基于双向门控循环单元(BiGRU)神经网络的预测模型。该模型充分利用BiGRU能够同时捕捉序列正向和反向依赖关系的优势,对共享单车租赁数据中的复杂时序特征进行学习。
通过对共享单车租赁数据进行详细的预处理,包括缺失值处理、异常值检测和全面的特征工程,我们为模型提供了高质量的输入。实验结果表明,与传统的ARIMA模型以及单向的LSTM和GRU模型相比,BiGRU模型在均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)等关键评价指标上均取得了显著的性能提升。这证明了BiGRU模型在捕捉共享单车租赁数据中的非线性、多因素影响和双向时序依赖性方面的优越能力。
本研究的贡献在于:
-
成功构建并验证了基于BiGRU的共享单车租赁预测模型,提升了预测精度。
-
强调了在共享单车租赁预测中,考虑双向上下文信息的重要性。
-
为共享单车运营商提供了更精确的预测工具,有助于其优化车辆调度,减少资源浪费,提升运营效率和用户体验。
5.2 展望
尽管本文提出的BiGRU模型在共享单车租赁预测中取得了良好效果,但仍存在进一步提升的空间和未来研究方向:
- 多源异构数据融合:
本文主要关注历史租赁数据、时间特征和气象特征。未来可以考虑融合更多异构数据源,如城市POI(Point of Interest)数据、社交媒体热点数据、交通事件数据、人口密度数据等,以更全面地刻画共享单车租赁需求的影响因素。
- 多任务学习:
可以将租赁数量预测与归还数量预测、站点热度预测等任务结合起来,构建多任务学习模型,共享特征表示,从而可能提升整体预测性能。
- 考虑空间依赖性:
共享单车租赁需求不仅具有时间依赖性,也具有空间依赖性,即一个站点的租赁需求可能受到相邻站点需求的影响。未来可以探索结合图神经网络(GNN)或卷积神经网络(CNN)来捕捉空间相关性,构建时空图神经网络模型。
- 模型可解释性:
深度学习模型通常被认为是“黑箱”模型。未来可以尝试引入可解释性人工智能(XAI)技术,如LIME、SHAP等,分析模型预测结果的驱动因素,帮助运营商更好地理解租赁需求的形成机制。
- 实时预测与增量学习:
实际运营中,需要模型能够进行实时预测,并根据最新数据进行增量学习,不断调整和优化模型,以适应租赁需求的动态变化。
- 短期与长期预测结合:
本文主要关注短期预测。未来可以尝试构建分层预测模型,同时进行短期(小时级)和长期(天、周级)预测,为不同粒度的运营决策提供支持。
⛳️ 运行结果
🔗 参考文献
[1] 孟英豪,王启阳,王柯人,等.基于Markov过程天气预测的共享单车调度优化研究[J].温州大学学报(自然科学版), 2024, 45(3):30-41.DOI:10.20108/j.wzun.202309010.
[2] 王艺筱.综合城市计算和时空注意力残差网络的共享单车需求预测[D].大连交通大学,2023.
[3] 付泽坤,交通运输工程.城市有桩公共自行车系统可达性与公平性研究[D].长安大学[2025-06-05].
📣 部分代码
🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料
🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:
🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类
2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP
👇