当前位置: 首页 > news >正文

基于LSTM的共享单车需求预测研究

摘要:共享单车作为城市绿色出行的重要方式,其需求量的准确预测对运营调度和资源配置具有重要意义。本文基于UCI共享单车数据集,研究了基于长短期记忆网络(LSTM)的骑行需求预测方法。

项目方案:基于LSTM的共享单车需求预测研究

项目简介

基于PyTorch构建LSTM模型,利用24小时滑动窗口对共享单车骑行需求进行时序预测,并与SVR、随机森林、RNN、GRU进行对比实验。

系统概述

共享单车作为城市绿色出行的重要方式,其需求量的准确预测对运营调度和资源配置具有重要意义。本文基于UCI共享单车数据集,研究了基于长短期记忆网络(LSTM)的骑行需求预测方法。

我们对17379条小时级骑行数据进行探索性分析,揭示了骑行量与季节、时段、天气等因素的关联规律。在数据预处理阶段,采用独热编码处理类别特征,对连续特征进行Z-score标准化,并严格按时间顺序划分训练集、验证集和测试集,避免数据泄露。采用24小时滑动窗口构造时间序列样本,使模型能够学习骑行量的日周期变化模式。

在模型构建方面,基于PyTorch框架设计了三层LSTM网络(128-64-32),结合批归一化和Dropout正则化防止过拟合,并引入早停机制和学习率自适应调度策略优化训练过程。同时,将LSTM与支持向量回归(SVR)、随机森林、基础RNN和GRU四种模型进行对比实验。

实验结果表明,LSTM模型在总骑行人数预测上取得了R2=0.8939、RMSE=61.21的最优表现,显著优于SVR(R2=0.5824)和随机森林(R2=0.7659)等传统机器学习方法,同时在临时用户和注册用户的预测上也均优于其他对比模型。结果验证了LSTM在共享单车需求时序预测任务中的有效性和优越性。

系统架构

数据预处理(独热编码+Z-score标准化+滑动窗口)→ 三层LSTM网络(128-64-32)训练与预测 → 多模型对比评估(R2/RMSE/MAE)

项目结构

项目包含4个Python脚本:visualization.py(探索性数据分析)、LSTM-model.py(数据预处理与LSTM模型训练)、LSTM-predict.py(模型预测与评估)、comparison.py(多模型对比实验),数据存放于data/,中间文件存放于database/,输出结果存放于result/。

目录结构

核心模块

数据经独热编码、Z-score标准化(仅用训练集统计量)和24小时滑动窗口构造为三维序列,输入三层LSTM(128→64→32,含BatchNorm+Dropout),以Adam+早停+学习率衰减训练,预测cnt/casual/registered三个目标并以R²/RMSE/MAE评估,最后与SVR、随机森林、RNN、GRU四个基线模型进行对比实验。

快速开始

依次运行python visualization.py进行数据探索,python LSTM-model.py完成预处理与模型训练,python LSTM-predict.py加载模型预测评估,python comparison.py执行多模型对比实验,所有图表和模型自动保存至result/目录。

环境要求

Python 3.8+,依赖torch、numpy、pandas、matplotlib、seaborn、scikit-learn,支持CUDA GPU加速,无GPU时自动使用CPU。

运行实验

依次运行visualization.py、LSTM-model.py、LSTM-predict.py、comparison.py,即可完成从数据探索、模型训练、预测评估到多模型对比的全部实验流程。

查看结果

所有输出图表和模型权重保存在result/目录下,包括EDA可视化、损失曲线、预测对比图和多模型对比图表

实验结果

实验结果保存在result/目录,包含LSTM模型权重model.pth及15张可视化图表(EDA分析10张、训练损失曲线1张、预测对比图1张、模型对比图3张)

结果展示

运行LSTM-model.py

图1 模型损失函数图像

运行LSTM-predict.py

图2 预测值与真实值对比图

运行comparison.py

图3 模型对比_cnt指标柱状图

图4 模型对比_R2热力图

图5 模型对比_预测曲线

运行visualization.py

图6 风速-骑行人数

图7 工作日与休息天每小时骑行人数统

图8 热力图

图9 日期-骑行人数图

图10 湿度-骑行人数图

图11 四季中每小时骑行人数统计

图12 体感温度-骑行人数图

图13 温度-骑行人数图

图14 月份-骑行人数图

图15 注册与临时用户一天中每小时骑行人数图

结果点评

LSTM模型在共享单车需求预测任务中表现优异,通过24小时滑动窗口有效捕捉了骑行数据的日周期规律;EDA分析揭示了温度与骑行人数呈正相关、高湿度和强风速抑制骑行需求、工作日呈现明显的早晚高峰双峰模式等关键特征;训练损失曲线平稳收敛且训练集与验证集差距较小,说明模型未出现严重过拟合;对比实验中LSTM在R²、RMSE、MAE三项指标上均优于SVR、随机森林、RNN和GRU,验证了深度序列模型在时序预测任务上的优势,其中传统机器学习模型因无法建模时序依赖关系表现相对较弱,而GRU作为LSTM的简化变体也取得了接近的效果。

项目资源

包括完整的项目源代码、演示视频、运行截图,开箱即用。

关于项目

本项目基于PyTorch和UCI共享单车数据集(17379条),通过独热编码、Z-score标准化和24小时滑动窗口构造序列输入,采用三层LSTM(128→64→32)预测骑行需求,并与SVR、随机森林、RNN、GRU进行对比,结果表明LSTM在R²/RMSE/MAE指标上均表现最优。。

项目背景

共享单车作为城市绿色出行的重要方式,其需求受天气、时段、季节等多因素影响且呈现复杂的非线性时序特征,准确预测骑行需求对运营商合理调度车辆、减少资源浪费具有重要意义,传统统计方法难以捕捉长期时序依赖关系,而LSTM凭借其门控机制在时间序列建模上具有天然优势,因此本项目采用LSTM构建共享单车需求预测模型。

作者信息

作者:Bob (张家梁)
原创声明:本项目为原创作品

http://www.jsqmd.com/news/397080/

相关文章:

  • 题解:洛谷 P2285 [HNOI2004] 打鼹鼠
  • 题解:洛谷 P1020 [NOIP 1999 提高组] 导弹拦截
  • 携程任我行礼品卡回收实操步骤 - 京顺回收
  • 研究生开题答辩前如何确保论文AI率合格?导师不会告诉你的实操指南
  • neovim配置python插件支持环境 —— Pynvim 环境搭建 —— Pynvim安装
  • 期刊投稿也要查AI了?学术期刊AIGC检测现状与对策
  • Gemini 3.1 Pro在这个平台便宜到离谱,编程能力竟然超过GPT-5.2和Opus 4.6
  • MySQL几种count比
  • 2026年广州AI获客服务商赋能实体经济标杆企业TOP10榜单:技术与产业深度融合的领航者 - 野榜精选
  • 在K8s集群中部署Traefik并验证Python HTTP服务
  • 深入浅出 K8s 内外部通信:全场景方案解析与生产实践
  • 2026年热压/烫金/丝印皮牌工艺行业优质供应商TOP10推荐:聚焦全链条服务能力,助力品牌价值升级 - 野榜精选
  • 深入解析Nginx反向代理多服务时静态资源路径冲突的根源与解决方案
  • 2026年,探寻有抗衰老功效的保健品,保健品/抗衰老片,保健品食品选哪家 - 品牌推荐师
  • 2026年2月无管道新风机品牌TOP10榜单:技术创新与场景适配性双维度评选 - 野榜精选
  • 对数额外空间的森林判定
  • OpenJDK和Oracle JDK有什么区别和联系?
  • 探寻2026可长期服用能抗疲劳的保健品,抗衰老片/保健品,保健品产品哪家好 - 品牌推荐师
  • Linux 多线程编程入门:线程栈、TLS、互斥锁与条件变量详解
  • C++的多态是如何体现的?一篇文章搞懂C++虚函数机制与常见问题
  • 【Linux】sudo 命令提升权限的使用技巧
  • HTTP 协议发展详解:从 HTTP/1 到 HTTP/3
  • 大模型应用开发:从选型到部署的核心考量
  • 探索ABAQUS刀盘切削竹材有限元模型
  • Prompt,除了使用外,你了解其核心原理么?
  • GEO崛起:AI时代品牌信息优化的新策略
  • php字符串变量传递到js注意事项
  • 前端小白别慌:30分钟搞懂HTML表格结构+属性全清单(附避坑指
  • 《信号与系统》信号与系统、AI系统、软件系统、电路系统-模拟、电路系统-数字、通信系统-发送、通信系统-接收、图像处理、音频处理、光学变换系统、自动控制系统、人体系统、企业系统的共性
  • 付费 AI 用户和免费用户之间,究竟差了什么?