1.项目背景介绍
“短租”一词在大众旅游背景环境之下,伴随着垂直性旅游电商的发展而炙手可热。从互联网大数据来看,短租正在成为旅游住宿业飞跃和进化的桥梁和动力。住宿行业可以划分为标准化和非标准化两大类,标准化住宿的典型代表为酒店,提供标准化的服务和定价;非标准化住宿包括民宿、客栈、公寓、度假别墅等,其中短租数量最广、最为普及。
当房地产的趋势过后,旅游景区及一线城市会出现大量的空置房屋,原有的那些单一酒店的住宿模式已经无法满足消费者日趋个性化、多元化的消费需求,而短租就是伴随着协同消费者模式的兴起而发展出来的房屋租赁方,属于住宿行业市场细分下的新兴产业。短租行业属于酒店住宿和长期租房中寻找到的市场空隙,起初由可市场化的个人需求发现,而后被专业团队培育运营而衍生出来的一个行业,其产品及服务具有高性价比、信息不对称、强烈可替代、存在增值服务及个性化定制空间、当地资源重度依赖、目标客户相对分散等特点。
短租由共享经济的兴起带动,是由个人业主、房源承租或者商业机构利用空闲房间,提供旅游的住宿。从定义上来看,短租和酒店两者定位上来说,短租更多面向旅游需求,因此也更注重地方特色的打造和舒适氛围的营造,是酒店的升级版。游客可以在短租中体验当地生活,与当地居民交流,感受人文情怀。
共享,通过让渡闲置资源的使用权,在有限增加边际成本的前提下,提高了资源利用效率。随着信息的透明化,越来越多的共享发生在陌生人之间。短租,共享空间的一种模式,不论是否体验过入住陌生人的家中,你都可以从短租的数据里挖掘有趣的信息。采用了短租房源相关的公开数据,包括了结构化的表格数据、非结构化的文本和地图数据。可在统计分析、时间序列、关系网络分析、中英文自然语言处理、数据可视化以及数据应用等多角度都可以进行探索。
2.项目的目的和意义
短租的本质就是通过新的生产组织方式,让房屋资源得到更优化的配置。它的优势不仅仅是在性价比、能做饭、洗衣这样的差异化服务,更深层次是通过住宿,为游客提供更多服务,为个人房东提供更多收入来源,甚至成为他们实现职业自由的途径。
本项目通过对北京各地区的房源、价格、地理位置、评论等数据进行相关分析,采用时间序列预测,分析了数据的预测的效果。使用户通过分析的结果,去选择合适的短租房源及出行月份,进一步为房东了解了租客们的想法、意见。用户也可以通过在线短租平台的即时通讯功能与房东获取联系时,得到了有关房源的信息,也获取了对房东的初步印象,通过浅层次的交流,建立最基本的经济联系。
3.项目所需的技术模块介绍
一、编译环境
使用的是在Jupyter Notebook环境中的python3进行编译
二、模块
1、Pandas
为了解决数据分析任务而创建的,包含Series、DataFrame等高级数据结构和工具,使Python中处理数据非常快速和简单.Pandas纳入了大量的库和一些标准的数据模型,提供了高效的操作大型数据集所需要的工具。Pandas提供了大量是我们快速便捷的处理数据的函数和方法。它建立在Numpy之上,使得Numpy应用变得简单。
2、Numpy
N维数组,一种快速、高效使用内存的多维数组,提供矢量化数学运算。可以不需要使用循环,就能对整个数组内的数据进行标准数学运算。Numpy不提供高级数据分析功能,但可以更加深刻的理解Numpy数组和面向数组的计算。它提供了两种基本的对象ndarray和ufunc。ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数。
3、Matplotlib
Matplotlib是强大的数据可视化工具和作图库,是主要用于绘制数据图表的Python库,提供了绘制各类可视化图形的命令字库、简单的接口,可以方便用户轻松掌握图形的格式,绘制各类可视化图形。能方便的只做线条图、饼图、柱状图以及其他专业图形。Matplotlib有一套允许定制各种属性的默认设置,可以控制Matplotlib中的每一个默认属性:图像大小、每英寸点数、线宽、色彩和样式、坐标轴、文字和文字属性。
4、Seaborn
Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使作图更加容易,不需要经过大量的调整就能使图变得精致。
4.项目所需数据介绍
数据来自Airbnb于 2019 年 4 月 17 日公开的北京地区数据。
- listings数据为短租房源基础信息
包括房源、房东、位置、类型、价格、评论数量和可租时间等。
- calendar数据为短租房源时间表信息
包括房源、时间、是否可租、租金和可租天数等。
- reviews数据为短租房源的评论信息
包括用户的评论信息、姓名等
(4)neighbourhoods数据为北京的行政区划
包括北京各个区域
5.项目功能介绍
显示房源基础信息,包括房源、房东、位置、类型、价格、评论数量和可租时间情况
显示房源时间表信息,包括房源、时间、是否可租、租金和可租天数情况
显示北京的行政区划情况
显示房源的评论信息,包括房源listing_id和评论日期,包括评论相关的内容和作者信息情况
由经纬度查看房源的地理位置分布情况
绘制北京各城区房源数量条形图
作图对比不同房屋类型的价格分布趋势
比较不同地区的租房数量差异、租房价格
对房间分布位置进行分析,利用热力图进行各个特征的比较,生成配对图
查看区域和价格之间的关系,绘制直方图或者配对图,创建一个数据透视表
建立位置、价格、房屋类型、评论数的透视表
利用散点图对地理数据的可视化展示
时间序列探索性分析,查看短租热度和月份有没有关系
二、数据分析过程
1.主要功能实现的类和方法介绍
(1)pd.read_csv()利用pandas模块读取本次项目需要的csv文件
(2)plt.scatter()生成相关的地理位置散点图
(3)plt.subplots()返回一个包含figure和axes对象的元组
(4)plt.show()显示所绘制的图形
(5)bar()绘制北京各城区房源数量柱状图
(6)isnull()用于判断缺失值
(7)pie()绘制饼状图,对房间分布位置进行分析
(8)sns.heatmap()绘制热力图进行各个特征的比较
(9)plt.rcParams['font.sans-serif'] = ['SimHei'] 设置字体为SimHei显示中文
(10)listings.head() 对listings表数据清洗
(11)listings=listings.drop(['neighbourhood_group'],axis=1)
数据清洗,删除在listings表中删除neighbourhood_group列
plt.bar(listings['neighbourhood'].value_counts().index,listings['neighbourhood'].value_counts())绘制北京各城区房源数量条形图
(13)df2['date']=pd.to_datetime(df2['date'],format='%Y-%m-%d')
date是字符串这里要转化为datetime类型,方便分析
- 数据分析过程代码和解释说明
(1)导入需要的数据模
图1-1
分析:导入需要的pandas、numpy、seaborn、matplotlib数据模块
(2)查看数据集
图2-1
分析:查看房源基础信息,包括房源、房东、位置、类型、价格、评论数量和可租时间等
图2-2
分析:查看房源时间表信息,包括房源、时间、是否可租、租金和可租天数等
图2-3
分析:查看北京的行政区划,看看都有哪些区
图2-4
分析:查看房源的评论信息。包括房源 listing_id和评论日期,包括评论相关的内容和作者信息。
(3)数据清洗
图3-1
分析:对listings表进行数据查看
图3-2
分析:发现listings表中neighbourhood_group列没有数据
图3-3
分析:对neighbourhood_group列的统计信息进行查看,发现是空的
图3-4
分析:因为neighbourhood_group列为空所以将其删除,再查看,发现neighbourhood_group列被删除
图3-5
分析:进一步查看neighbourhood列,发现neighbourhood列中有中文有英文,数据不清晰
图3-6
分析:将neighbourhood列删掉‘/yingwen’,仅保留neighbourhood列中文部分
(4)数据分析
图4-1
分析:通过绘制由经纬度,进一步查看房源的地理位置分布情况,由散点图可看出北京房源的地理位置分布情况,其中红点处经纬度的均值点为(116.442,39.983),该点为北京市朝阳区西坝河路附近,这可以说明北京朝阳区的房源密度最高。
图4-2
分析:通过绘制北京各城区房源数量条形图,可以看出北京各城区房源数量中,北京朝阳区的房源数量最多,超过10000套,远远高于其他行政区,北京平谷区房源最少。
图4-3
分析:详细查看数据,可以清楚的看出房源数量排名前三位的分别是朝阳区,东城区和海淀区。
图4-4
分析:做图对比不同房屋类型的价格分布趋势,可以发现房屋的类型分为三种,整套房间、私人房间、合租。整套房间价格分布趋势更明显,说明大多数人会去选择整套房间,较少数的人会选择和其他人合租。
图4-5
分析:通过查看不同地区的租房数量差异图,蓝色,橙色,绿色分别代表三种类型的房间,可以详细看出每种不同类型的房间,在不同地区的租房数量,进一步发现朝阳区的三中类型房间都是最受人们欢迎的,而平谷区与它相反,短租数量较少。
图4-6
分析:查看不同地区的租房价格,可以看出朝阳区租房价格较贵,平谷区、石景山区等区域租房较平价,更为大众所接受。
图4-7
分析:进一步不同类型租房的平均价格及数量,可以更直观的看出三种类型房间的平均价格,和出租的数量。
图4-8
分析:通过绘制图形,更直观的区查看不同类型租房的平均价格差异。从图形可以明显的看出,选择整体房间出租最多,而选择合租的较少。
图4-9
分析:统计不同地区租房价格及房屋数量,可以看出来租房数量最多的是朝阳区,而租房价格怀柔区、延庆县、平谷区较高。
图4-10
分析:统计不同地区租房价格及房屋数量,进一步作图对比不同地区的租房平均价格差异,分析出怀柔区,延庆县,平谷区,密云县的平均价格远高于北京主城区,可能是因为这些行政区内有多处度假村,所以租房的人较多。
图4-11
分析:简单查看数据 主要包括查看数据额类型、缺失值、异常值、数据分布状况等基本信息等,查看各个列所包含的空值信息,然后进一步分析是对缺失值进行填充或者是直接删除或者不做处理。
图4-12
分析:对于数据的任何处理都要首先备份数据,以防止后续的处理错误,及时挽回损失,查看处理后的数据情况,发现neighbouhood特征列的数据有英文也有中文名。
图4-13
分析:使用封装函数,使neighbouhood特征列的数据只包含中文名,进一步查看数据。
图4-14
分析:创建子数据集,挑选感兴趣的特征进行分析,对其中的"neighbourhood","room_type","price","number_of_reviews","calculated_host_listings_count","availability_365列进行进一步查看。
图4-15
分析:选择一部分测试数据画出盒型图进行数据可视化展示(数值型数据)
图4-16
分析:查看各个地区的价格情况的直方图,了解价格变化情况,进一步分析价格的影响因素是否受到位置的影响,通过绘制的各地区的价格直方图可以看出,大多数地区的价格呈现偏态分布,不同的地区的分布形态差异很大,说明地区对价格的影响巨大。
图4-17
分析:对房间分布位置进行分析,seaborn绘制的饼图更加直观的显示,可以看出,东城区、朝阳区、海淀区的房间分布是最多的。
图4-18
分析:利用热力图进行各个特征的比较,查看各个变量之间的相关关系,进一步分析相关系数高的变量。通过对图形的观察,可以看出各个特征之间都存在一定的联系。
图4-19
分析:查看区域和价格之间的关系,绘制直方图或者配对图,创建一个数据透视表,通过前面的图形结合现在的图可以得到,东城区、西城区、海淀区的性价比最高,价格在600-1000之间,处于中等水平,既在三环附近,平均住宿价格也处于中等水平,广受欢迎,而其他地区性价比明显偏低。
图4-20
分析:通过定义评论数大于中位数的即为受欢迎的民宿,可以看出,在最受欢迎的民宿中,都位于三环附近,为北京最繁华的地段,价格存在极值,但是平均价格为500左右,可以让大多数人接受的性价比.进一步发现大多为私人或者整套房间出租,公共房间只有极少数。
图4-21
分析:通过建立位置、价格、房屋类型、评论数的透视表,由此可看出西城区的私人房间是最受欢迎的。
图4-22
分析:地理数据的可视化展示,利用散点图进行展示。图形的显示虽然没显示出来具体位置的分布情况,但是通过图形的观察可以发现,图中的散点明显呈现出聚集的趋势,可以得到人们主要居住在一个稳定的区域内,而其他边缘地区的分布比较稀疏,可以得到不受欢迎的原因,产生对比,提出建议进行相应的改进。
图4-23
分析:构造数据结构,在表的第一列添加全为一的一列,主要是为了构造偏置项系数,末尾增加一列表示满意度,1表示满意,0表示不满意。
图4-24
分析:对数据进行优化,进一步查看满意度。
图4-25
分析:指定评论数大于均值的为1表示满意,其余用0表示不满意,建立一个二分类模型,用来评价租客是否满意,由此可以看出来大多数人对密云县的房源不满意,所以不适合进行短租。
图4-26
分析:进行筛选数据,对最新评论进行筛选,删除有缺失值的,最新评论在1年以前的进行清除,保证了时效性后选择评论数最多的10家房源。如果想要进行短租,从这里选取较为合适。
(5)时间序列探索性分析
图5-1
分析:对reviews表进行时间序列分析
图5-2
分析:查看数据
图5-3
分析:将date字符串转化为datetime类型方便分析,并增加year,month列,进行查看。
图5-4
分析:以年份来分组,查看每年都有几个月的数据
图5-5
分析:由于2010,2011,2019数据都没有满12个月,所以不计入下面的统计。选取2012-2018年这七年时间进行绘图,可以看出短租的热度是逐年攀升,特别是在2015年后开始大幅度增长。
图5-6
分析:查看短租热度和月份有没有关系,发现1-3月是淡季,7-10月份是旺季。
图5-7
分析:通过绘制图形,进一步直观的看出来,1-3月是短租的淡季,7-10月份是短租的旺季。
图5-8
分析:单独拿出2016年再来验证一下是否符合上面的规律,可以看到两者趋势基本相同,所以说明短租热度和月份有关系。
- 数据分析结果评估
1.由于主要考虑的是地理位置与价格的因素,通过分析可以得到,北京朝阳区的房源数量最多,超过10000套,远远高于其他行政区,北京平谷区房源最少,通过不同地区的租房价格,得出朝阳区租房价格较贵,平谷区、石景山区等区域租房较平价,更为大众所接受。最受欢迎的民宿位于位于三环附近的东城区、西城区、海淀区,它们的的性价比最高,价格均在600-1000之间,处于中等水平,广受欢迎,而其他地区性价比明显偏低。延庆县,平谷区,密云县的平均价格远高于北京主城区,是因为这些行政区内有多处度假村,所以租房的人较多,进一步发现大多人更喜欢短租私人或者整套房间,选择和其他人合租房间的只有极少数的人。所以租客们可以根据自己的喜爱程度,进行选择满意的租房区域及房间类型。
2.通过对评论数的分析,得出大多数人对密云县的房源不满意,说明不适合进行短租。密云县的房东可以根据评论的信息,进行进一步的改正,整理,运用新的运营模式来吸引新的一批客源。
3.通过时间序列的分析,发现短租的热度是逐年攀升,特别是在2015年后开始大幅度增长,说明短租热度和月份有关系,1-3月是短租的淡季,7-10月份是短租的旺季,人们可以根据这一结果显示区选择合适的出行时间,去进行短租。
四、总结
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。数据分析的过程往往是一个从宏观到微观的过程。先从宏观上把握数据大体的情况,大胆地提出假设,然后再将数据进行细分,小心地求证。通过数据的对比,就很容易看出调整的效果。 有关活动效果的数据分析往往也会涉及数据的对比。具体的思路是从要分析的目的入手,首先思考造成这种情况的可能原因有什么,再从每个可能的原因中找到相应的数据,与要分析的目的的数据进行比较,看哪一个是造成该情况发生的主要原因。
本项目收集了北京地区的短租信息,首先采用统计分析的方法对数据进行初步分析,大致了解短租的地理位置与价格的因素;随后通过地理数据编程实现数据可视化,并获取不同区域地理位置的短租数据;最后采用时间序列预测,分析了预测的效果。本项目基本符合一个完整数据分析案例的要求,但仍有很多可以改进的地方,如可以采用更复杂的统计学理论深入分析短租分布及其影响因素,对时间序列模型进行调整,可能提高预测能力,采用更加直观的数据可视化方式展示数据,并通过数据分析为想要进行短租的用户提供建设性意见。