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

共享单车需求预测:时间特征工程 + 随机森林,R² 达到 0.931

属性内容
链接bike-sharing-demand-randomforest-time-features
摘要基于 UCI Bike Sharing 数据集,通过高峰时段、夜间、周末等时间特征工程,使用随机森林回归预测每小时共享单车租赁量,并解释关键影响因素。
描述本文基于 UCI Bike Sharing 数据集,展示时间序列回归的完整流程:构造高峰时段、夜间、周末等特征,使用随机森林回归预测每小时租车量,R² 达到 0.931,并分析哪些时间因素最影响需求。

本项目由 星枢 支持

星枢官网:https://claudeaihub.cloud/

共享单车需求预测:时间特征工程 + 随机森林,R² 达到 0.931

前面几个项目覆盖了分类、回归、聚类、医疗二分类和特征工程二分类。这次做一个时间序列回归:用 UCI Bike Sharing 数据集预测每小时共享单车租赁量。重点是展示时间特征工程的价值—— hour、是否高峰、是否夜间、是否周末,这些特征对预测结果影响巨大。

项目已开源:

https://github.com/coderWang404/xingshuProjects/tree/main/2026-06-14-bike-sharing-demand

核心结论:

  • 数据规模:17,379 条小时级记录
  • 模型:RandomForestRegressor
  • :0.9307
  • RMSE:46.84
  • MAE:28.73
  • 最强特征is_night(是否夜间)

1. 数据集

数据来自 UCI Machine Learning Repository 的 Bike Sharing Dataset,包含华盛顿特区 Capital Bikeshare 系统 2011-2012 年的每小时租车记录。

原始字段包括:

字段含义
season季节(1=春,2=夏,3=秋,4=冬)
yr年份(0=2011,1=2012)
mnth月份
hr小时(0-23)
holiday是否节假日
weekday星期几
workingday是否工作日
weathersit天气状况
temp归一化温度
atemp归一化体感温度
hum归一化湿度
windspeed归一化风速
casual临时用户租车数
registered注册用户租车数
cnt总租车数(目标)

目标cnt = casual + registered。为了防止数据泄漏,训练时去掉了casualregistered,只用时间、气象和构造的特征预测总量。

2. 环境准备

pandas numpy scikit-learn matplotlib seaborn requests
gitclone https://github.com/coderWang404/xingshuProjects.gitcdxingshuProjects/2026-06-14-bike-sharing-demand python-mvenv venvsourcevenv/bin/activate pipinstall-rrequirements.txt

3. 运行实验

python experiments/bike-sharing/run_experiment.py

4. 时间特征工程

这个项目的核心是构造有效的时间特征。原始数据里hr已经很有用,但模型很难直接理解"0-5 点是夜间"、"7-9 点和 17-19 点是通勤高峰"这些业务知识。

我构造了三个关键二值特征:

data["is_rush_hour"]=((data["workingday"]==1)&(data["hr"].isin([7,8,9,17,18,19]))).astype(int)data["is_weekend"]=(data["weekday"].isin([0,6])).astype(int)data["is_night"]=((data["hr"]>=22)|(data["hr"]<=5)).astype(int)

另外还加了一个气象交互特征:

data["temp_atemp_diff"]=data["atemp"]-data["temp"]

分类变量(season, yr, mnth, hr, holiday, weekday, workingday, weathersit)做了 one-hot 编码。最终输入模型的特征有 57 个。

5. 建模与结果

模型参数:

RandomForestRegressor(n_estimators=300,max_depth=15,min_samples_leaf=2,random_state=42,n_jobs=-1,)

测试集结果:

指标数值
0.9307
RMSE46.8373
MAE28.7267

R² 0.93 非常高,说明模型能解释 93% 的租车量方差。对于共享单车这种受天气、节假日、突发事件影响很大的业务场景,这个表现已经很好。

散点图显示预测值和实际值高度集中在对角线附近。

按小时聚合后,模型几乎完美复刻了实际租车量的双峰模式:早高峰和晚高峰。这说明hris_rush_hour两个特征捕获了主要的日内周期。

6. 特征重要性:夜间是最强信号

Permutation Importance 排名前 10:

排名特征重要性
1is_night0.6707
2is_rush_hour0.4940
3temp0.1930
4yr_10.1916
5workingday_10.0929
6hum0.0639
7hr_90.0591
8hr_70.0405
9atemp0.0361
10hr_60.0355

is_night 排名第一,这很合理:夜间(22:00-05:00)租车量几乎降到接近 0,这个二值特征能直接切掉一大块方差。

is_rush_hour 排名第二,说明通勤时段是工作日的核心需求。

temp 排名第三,温度对共享单车需求有显著正向影响——天气越暖和,骑车的人越多。

yr_1(2012 年)排名第四,说明租车量在逐年增长,系统用户基数在扩大。

一个有趣的观察是:hr_9hr_7hr_6这些单个小时 one-hot 特征也进入了前十,说明通勤高峰的具体小时有额外的信息,不是光靠is_rush_hour就能完全捕捉。

7. 这个实验的业务含义

共享单车需求预测是一个典型的时间序列回归问题。这个结果可以指导实际业务:

  • 调度:高峰前把车辆调度到通勤热点
  • 维护:夜间低需求时段进行车辆维护
  • 营销:温度高的晴天加大推广力度
  • 容量规划:根据年增长趋势(yr_1)扩容

当然,真实系统还需要考虑更复杂的因素:特殊事件、地铁罢工、共享单车竞争、实时天气预警等。但这个实验展示了基础时间特征工程就能达到很好的效果。

8. 实验输出

运行脚本后experiments/bike-sharing/outputs/会生成:

metrics.json # 完整指标 JSON feature_importance.csv # 全部特征重要性 dataset_profile.csv # 数据统计 actual_vs_predicted.png # 实际 vs 预测散点图 residuals.png # 残差分布图 hourly_pattern.png # 按小时聚合趋势图 feature_importance.png # 特征重要性图 summary.md # 实验摘要

9. 总结

这个实验让我重新认识了时间特征工程在回归任务中的价值:

  • 业务知识可以转化为强特征。“夜间租车少”、"早晚高峰租车多"这些常识,通过is_nightis_rush_hour变成模型能直接使用的信号。
  • 随机森林对时间周期模式学习能力强。配合 one-hot 编码的hr,模型能准确拟合双峰曲线。
  • 温度是气象因素中最关键的。这和日常经验一致。
  • R² 0.93 不代表可以无脑上线。真实业务中还需要考虑极端天气、特殊事件、实时性等更复杂因素。

如果想继续优化,可以试试:

  • 用 Gradient Boosting(XGBoost / LightGBM)对比
  • 加入前一天同时段的滞后特征(lag features)
  • 加入移动平均特征
  • 把预测目标从总量拆分为 casual 和 registered 分别建模

本项目由 星枢 支持

星枢官网:https://claudeaihub.cloud/

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

相关文章:

  • 2026新游通信服务口碑观察:技术团队与落地能力全面解读 - 速递信息
  • 行业白皮书配套门店测评榜单,上海全域上门,全品类回收高效回款 - 禹竞
  • 花生十三公考课程|网课|视频
  • 2026年和平区口碑好的驾校,沈阳和平区考驾照避坑完整指南:东大旁十五年通运驾校,一对一接送零隐形消费,C1/C2/D 证一站式培训 - GrowthUME
  • 短视频无水印下载器
  • 2026宁波回收黄金门店推荐,资质齐全称重精准不坑人 - 名奢变现站
  • 显存不够别硬撑,FP8 量化让 70B 大模型在单卡 Instinct 上流畅运行
  • GY001-WiFiBLE+4G转CAN总线或RS485中高速通信 - 4G通信CAN数据发送到MQTT, GPS上传数据, 1ms一帧测试
  • 2026年 东莞1688运营服务商/代运营公司推荐榜:专业爆款打造与店铺深度代运营精选 - 企业推荐官【官方】
  • 2026淮安装修公司综合实力TOP7 正规家装企业年度榜单 - 装企自媒体训练营辉哥
  • 项目经理势能培养:四大可操作模块与实战路线图
  • 玩美数据正式发布全球市场研究服务网络,覆盖1300余家供应商,助力出海企业实现高效精准数据收集与市场洞察
  • 永州贴膜全解析:行业现状、选购避坑指南与本地靠谱门店参考 - 国麟测评
  • 2026年郑州短视频代运营与GEO优化服务商深度横评|企业精准获客完整指南 - 精选优质企业推荐官
  • 2026 深圳名包回收榜单!靠谱渠道全盘点 - 讯息早知道
  • 2026 济宁防水补漏深度行业资讯:专业维修公司 TOP3 排名调研解析,漏水检测修复,卫生间免砸砖、屋顶、地下室、阳台飘窗漏水、瓷砖空鼓修补全方位测评 - 泛家庭维修
  • 企业级文档自动化:clawPDF虚拟打印机的深度应用指南
  • 2026常州装修公司口碑优选:五大维度锁定五家靠谱装企 - GrowthUME
  • Codestral代码生成实战:FIM与Chat双接口深度解析
  • 2026宁波回收黄金门店推荐,专业门店无损检测高价回收 - 名奢变现站
  • 终极直播互动革命:三步搭建你的战败惩罚游戏控制器
  • 2026出海品牌曝光效果不佳?海外品牌营销推广公司与AI海外营销解决方案服务商打造全域曝光方案 - 品牌2026
  • 敏感肌宝宝超薄纸尿裤选购指南 3家品牌7项维度实拍解析 - 热点速览
  • MQTT 发布/订阅模式介绍
  • 杭州卖黄金少亏上千!从业15年老炮私藏变现法则,避开隐形扣费全套套路 - 奢侈品回收评测
  • # 2026年临沂空调移机机构实力排行榜:兰山区河东区罗庄区,基于空调服务的5大权威推荐榜单 - 十大品牌榜
  • 2026 广东深圳全域彩钢瓦翻新防水修缮 TOP4 权威推荐|厂房金属屋面除锈喷漆公司对比 + 完整避坑指南 - 本地便民网
  • 开发环境端口老打架?试试这3招,给你的本地项目分配专属端口(附避坑指南)
  • 自由创新研究探索:青年研究者的50小时实践方法论
  • 2026年手机阅读器智能推荐功能大比拼,谁是你的最佳选择?