公共自行车使用量分析与预测

Posted by 阳光和鱼 on April 7, 2019

layout: post title: 利用itchat库分析微信好友 subtitle:
date: 2019-03-15 author: 阳光和鱼 header-img: img/post-bg-desk.jpg catalog: true tags: - python - 回归模型


首先通过探索性数据分析得出不同城市、时间、工作日/节假日、天气、温度、风速等对自行车使用量的影响,其次通过三种回归模型(简单线性回归、决策树回归、xgboost回归)对测试集建立模型,并进行检验,通过评估方法RMSE(Root of Mean Squared Error)计算分值,分别为27.13,28.19,15.13。说明xgboost回归模型效果最好。

Github链接

目录

一、背景介绍

1.1数据来源 1.2数据导入 1.3数据整理 二、探索性数据分析

2.1不同城市平均使用量 2.2不同hour使用量 2.3工作日/节假日自行车使用量 2.4不同天气自行车使用量 2.5不同温度下自行车使用量 2.6不同体感温度下自行车使用量 2.7不同风速下自行车使用量 三、预测模型

3.1简单线性回归模型 3.2决策树回归模型 3.3xgboost回归模型 一、背景介绍 公共自行车低碳、环保、健康,并且解决了交通中“最后一公里”的痛点,在全国各个城市越来越受欢迎。本练习赛的数据取自于两个城市某街道上的几处公共自行车停车桩。我们希望根据时间、天气等信息,预测出该街区在一小时内的被借取的公共自行车的数量。

1.1数据来源 Sofasofa数据分析竞赛题目:数据竞赛:公共自行车使用量预测

1.2数据导入

通过train数据可以看出,共有10000条记录,city0和city1数据记录各占一半,hour平均分布,工作日占比为68.4%,实际温度范围-7.7至38.6℃,平均实际温度15.26℃,因此可以猜测两城市均为北方城市,体感温度范围-15.6至46.8℃,平均实际温度15.3℃,风速范围0-7,大风天气不多,平均风速1.25m/s,自行车租借范围0-249辆,租借平均数50辆左右,租借中位数为39辆。

1.3数据整理

没有数据缺失情况,部分数据应为分类数据类型,而实际为整型,不影响分析,可不处理。

从相关性可以看出,用车时间和当时气温对自行车使用量y有较强关系;气温和体感温度显强正相关(共线性),这个和常识一致。

二、探索性数据分析 2.1不同城市平均使用量

城市0使用量高于城市1。

2.2不同hour使用量

自行车使用量在全天呈现明显趋势:分为早高峰(8时)和晚高峰(17-18时),晚高峰达到120辆左右,高于早高峰的10辆; 晚高峰后使用量逐渐下降,在凌晨4时达到最小值。 早高峰上升过程比晚高峰结束过程更陡,说明相比下班回家时,早晨上班时间更急迫。

2.3工作日/节假日自行车使用量

可以看出,只对城市0有一些影响,但影响不大。

2.4不同天气自行车使用量

image

从晴好天气、阴天、降雨、强降雨的天气逐渐恶劣的情况下,自行车使用量逐渐下降。在强降雨天气,城市1已经无人租车。

2.5不同温度下自行车使用量

温度与使用量呈现线性关系。

2.6不同体感温度下自行车使用量

温度与使用量呈现线性关系。

2.7不同风速下自行车使用量

风速适中时(2m/s-3m/s),自行车使用量最大。

三、预测模型 3.1简单线性回归模型 由于城市、时间、气温、天气状况、风速五个变量对使用量影响较大,所以以此作为特征变量拟合模型。

简单线性回归模型得分27.13。

3.2决策树回归模型

![](https://github.com/ketra21/picbed/raw/master/picgo/20200312_bike%20(1).jpg](https://github.com/ketra21/picbed/raw/master/picgo/20200312_bike%20(1).jpg)

决策树回归模型得分28.19。

3.3xgboost回归模型

xgboost回归模型得分15.23。

上传到http://sofasofa.io,排名更新后,可以看到RMSE=15.515排名94。