用数据分析看共享单车

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/d345389812/article/details/80368702

前几天是小文人生中一个非常重要的纪念日,说不上里程碑,但也是非常值得纪念的一个日子,为此,小文骑着“hello bike”奔向庆祝的大道上。有人问,为什么要骑共享单车,那还用说吗?这是情(zhuang)调(bi)懂不懂…

那天之后,小文就想做一个关于共享单车的分析,上kaggle看见有一个数据集---bike sharing,那是美国华盛顿共享单车数据,也是非常适合练手的一个数据集。好,废话不多说,我们来分析一下共享单车的使用情况。

1.加载所需程序包

library(plyr)
library(dplyr)
library(caret)
library(rpart)
library(ggplot2)
library(Rmisc)
library(lubridate)
library(corrplot)
library(rpart.plot)
library(randomForest)

2. 数据探索

首先,读取数据,小文发现test数据集中只有9个变量,相对于train中的12个,缺少了registered,casual 还有count3个变量,因此小文先将这3个变量赋值为0,以便下面的数据处理。

利用lubridate包分解datetime变量,提取出年月日小时等新变量,因为数据集中包含季节变量,因此月就不单独提取出来。提取出来后,将年日小时季节以及天气变量转为因子以便接下来的分析。

而对于workingday和holiday变量,小文将其组合成新的变量day_type,分成三类,分别是工作日,节假日以及周末。

3. 描述性分析

  • season,weather,holiday,workingday VS count

由上图可知:

(1)春季相对于其他三个季节而言,共享单车的平均使用量有所下降,这也是小文没想到的,冬季那么冷,居然平均使用量跟炎热的夏季或者凉爽的秋季相当,甚至在早上上班高峰期时比其他三个季节还要高出一些;

(2)天气对共享单车的平均使用量随着天气的好坏而变化,天气越好,平均使用量越高。这也正常,小文相信狂风暴雨还骑着单车的人肯定不是一般的人;

(3)在工作日,共享单车的使用集中在早高峰与晚高峰,而在节假日则集中在11点到16点。

  • hour, day, year, day_type VS count

由上图可知:

(1)各个时间点对共享单车的使用量有一定的影响,大部分集中在白天,并且在早高峰与晚高峰出现峰值。小文相信半夜出来骑单车的人都是辛辛苦苦值夜班的劳动者,而不是睡不着出来吹吹风的夜猫子...

(2)随着平台上线时间的增长,使用共享单车的人也随着增多;

(3)共享单车的主要用途还是以上下班为主,因此周末,节假日的使用量则有所下降。

  • temp, atemp, humidity, windspeed VS count

corr <- cor(all[c(6:9,12)])

由上图可知:

(1)temp与atemp相关性高达0.99,小文估计atemp是由temp衍生而来的,因此可以删除atemp变量;

(2)count与humidity相关性为-0.24,呈负相关性,而windspeed与count相关性仅有0.07,相关性弱。

4. 建模预测

分析可知:season,weather,holiday,workingday,hour,day,year,day_type,temp,atemp, humidity, windspeed变量对共享单车的影响还是比较明显的,接下来将通过随机森林算法进行预测。在预测之前,需将所有的非因子变量转化为因子变量,不然会提示出错,另外temp, humidity, windspeed变量分组太多不利于下面的预测,所以先用决策树进行分类。

文章的最后,小文唠叨一句,共享单车的确改变了人们的出行习惯,但是使用时或者停放时还是要多多注意,给自己带来方便的同时也请不要造成别人的麻烦!

猜你喜欢

转载自blog.csdn.net/d345389812/article/details/80368702