炼数成金 门户 商业智能 机器学习 查看内容

基于机器学习预测Airbnb的城市旅行成本

2018-11-27 16:15| 发布者: 炼数成金_小数| 查看: 12233| 评论: 1|原作者: 白小白 译|来自: EAWorld

摘要: 不知道你是否会为钱而烦恼,但对于作为学生的我来说,预算一直是阻碍我出行的一个顾虑。我已经使用Airbnb很长一段时间了,这个产品已经成为我的旅行伙伴,相比酒店或者其他的商业产品,我喜爱这个产品的原因在于我可 ...

工具 算法 模型 测试 机器学习

目录:
1、两个城市的价格真的有差别吗?
2、同一房东拥有多少Airbnb房产?
3、价格在地段位置分布上是均匀的还是不均匀的?
4、我的模型能很好地预测价格吗?
5、价格最重要的预测因素是什么?
6、结语

本文基于西雅图和波士顿的Airbnb数据集。


西雅图

波士顿

这些照片会令你心动,既而开始一场说走就走的旅行么?如果你的回答是肯定的,你就是像我一样的“旅友”。旅行让人短暂地忘却现实,成为一个观察者,从而敬畏生活,感激你所拥有的事业、朋友和家人。旅行让你再次身心合一,那感觉实在太棒了!老实说,我最喜欢的记忆之一是在保加利亚的一段经历:坐在长凳上,喝着啤酒,看着路过的人们。没人管我做什么,也没人对此说三道四。

不知道你是否会为钱而烦恼,但对于作为学生的我来说,预算一直是阻碍我出行的一个顾虑。我已经使用Airbnb很长一段时间了,这个产品已经成为我的旅行伙伴,相比酒店或者其他的商业产品,我喜爱这个产品的原因在于我可以有更多的自由,更重要的是,我可以花更少的钱体会到家一样的感觉。然而,通过对不同城市的观察,我发现Airbnb的价格不同。这促使我进入数据科学的世界以一探究竟。

本文所涉及的数据集来自Kaggle的Airbnb数据,我选定了两个城市,西雅图和波士顿,每个数据集的数据分别是3818行和3585行。我的目标很明确:“了解Airbnb价格”。为此,我在脑海中构思了一些问题,并很想与大家分享我的答案。

一、两个城市的价格真的有差别吗?
答案是肯定的,价格有区别的。让我们看看我是如何得到这个答案的。下图的价格单位是1000美元,由于存在一些价格奇高的离散数据点,导致很难区分这两个城市之间的区别。

图1:西雅图和波士顿的价格分布

对价格进行对数转换后,我们可以更清楚地看出区别。


图2:西雅图和波士顿的对数价格分布

我们观察到波士顿Airbnb的价格普遍较高,而且分布更加离散。西雅图的对数价格分布更加对称,而波士顿的对数价格分布似乎略有向左的偏移,这意味着波士顿的租金价格形成了较高的水平。技术指标上,西雅图和波士顿的对数价格均值分别为4.68和4.94,标准差分别为0.57和0.65。

根据Tulia的相关指标,这个价格水平处于每月租金的中位数。波士顿平均每月租金中值约为2,900美元,西雅图则为2,700美元左右。因此,这一结果不应令人感到意外。然而,有趣的是两个城市的房产销售中值呈现相反的趋势:西雅图的房地产平均售价为690,000美元,波士顿为610,000美元。采用销售价格与年租金比率的概念,波士顿为17.53,西雅图为21.30。一般的经验法则是,如果比例是16比20,那么买一套房子是有风险的,如果是21以上的话,租房要比买好得多。因此,波士顿似乎是一个更有希望买房子的地方。

二、同一房东拥有多少Airbnb房产?
因为我确认了价格的差别,所以我想找出更多的原因。我首先感兴趣的是几个“超级”房东是否左右了市场价格。是不是这样呢?

图3:房东拥有的平均房产数量

波士顿的房东平均拥有更多的Airbnb房产。这可能意味着Airbnb房产的价格由更少数量的房东决定。但是我们还不能用这个来说明任何事情,所以让我们深入挖掘一下。


图4:西雅图房产数量的分布

图5:波士顿房产数量的分布

从个人房产数量分布来看,我们可以确认波士顿有更多的“超级”房东。因此,我们可以假设那些“超级”房东在波士顿给Airbnb设置了更高的价格。但我们不能确定他们是否真的这么做了。有了这个预测模型,我就可以知道这个预测工具处于什么水平。

三、价格在地段位置分布上是均匀的还是不均匀的?
我的下一个问题是,地段位置是否会影响Airbnb在两个城市的价格,因为繁忙的位置有更高的入住价格似乎是很自然的事。我使用邮政编码来代表位置信息。

图6:按邮政编码分列的西雅图位置分布


图7:按邮政编码分列的波士顿位置分布

就分散程度而言,两个城市的区位分布在标准差上没有很大的差异。然而,我们确实注意到一个共性,即两地的房产分布并不均匀。当我们将分布与来自Trulia的西雅图及波士顿租金地图进行比较时,房产的高密度的地点与高租金地区相对应。因此,位置对价格分配有更大的影响。

图8.西雅图和波士顿租金热点图

毕竟,大多数Airbnb酒店在城市的热点地区人满为患。

四、我的模型能很好地预测价格吗?
尽管没有什么是完美的,至少在数据科学世界是这样的,然而,我仍旧对我的预测模型的表现感到非常高兴。


表1:真实价格和预测价格

我采用了臭名昭著的Extreme Gradient Boosting(即XGBoost)作为框架,辅以全面的网格搜索交叉验证(grid search cross validation)。每次迭代时,用5倍交叉验证对模型进行评价,找出性能较佳的参数。

与交叉验证的RMSE(均方根误差)相比,测试RMSE减少了,结果显示每1,000美元约为78.0201,这是很令人乐观的数据,意味着这个模型在实际情况下比在测试中表现得更好。在表1中,预测价格与实际价格相差不远。(当然,这一模型并不完美,仍旧需要改进)

顾名思义,XGBoost在集成算法(Ensemble)技术中使用梯度增强(Gradient Boosting)方法。毕竟有一些人还纠结在术语的含义上,以下是我简单的从不那么技术化的角度,阐述一下我如何理解增强,集成算法,梯度增强。

Ensemble(集成算法)是多个学习算法的集合。集成算法产生的直接动因是因为很难信任单独某一种决策树模型,因为它虽然能很好地预测特定的问题,但对其他问题的预测却很差。因此,集合测试将多个假设模型(弱学习分类器)结合起来,形成一个更好、更强的学习分类器,给出更稳定的预测因子。就像是政策并不由某个国会议员决定,而是由435名国会议员为了一个更好的结果而共同决定。

Boosting(增强)是一种基于集成算法原理产生的衍生技术。它结合了一组弱学习分类器,提高了预测精度。这其实和我们的经历很相似,当您在团队项目中工作时,您需要检查哪些成员在每一步中都落后于团队的整体进度。对于这些与团队走向不一致的成员,需要额外的照顾和推动。同样,在增强模型中,我们需要发现每一步骤预测错误的数据点,并这些点上增加权重,从而修正预测。

Gradient Boosting(梯度增强)是增强技术的一部分。梯度增强的目的是较大限度地减少错误预测值造成的损失。利用梯度下降方法并基于学习率更新预测,我们可以找到损失最小值。就像沿着最短的小径下山一样。梯度增强模型希望找到一种模式,使损失最小,因为它相信较少的模型会表现更好。

XGBoost是当今最流行的机器学习算法之一,它的速度和性能,可并行的核心算法,在许多情况下优于其他算法的方法,以及各种各样的调整参数,都帮助它在数据极客中迅速的普及。

五、价格最重要的预测因素是什么?

图9 影响Airbnb价格的十个重要因素

现在,我们获得了影响价格的十个重要因素的列表,这些要素如下:
zip_has:邮政编码位置中Airbnb房产的数量。表征该位置的繁华程度。
bathrooms:浴室数目。
host_days:房东托管Airbnb房产的天数。
bedrooms:卧室的数量。
minimum_nights:你需要预定的最少的入住天数。
extra_people:超出房东规定数量的客人产生的额外费用。
beds:床位数。
guests_included:Airbnb房产可以容纳的客人数量。
availability_365:一年中可提供服务的天数。
number_of_reviews:评论的数量。

上面的清单在预测价格方面起着重要的作用,这似乎是很自然的。首先,如果该地方是一个繁忙的地方,如旅游景点,应该有更多的住宿需求,从而提高了价格。 浴室、卧室和床的数量反映了舒适程度。没有人愿意在浴室前排队或睡在沙发上。如果您已经托管了很长一段时间的Airbnb物业,你就了解市场是如何波动的。从数据科学的角度来看,你更有预见性,因为你比一个新房东更有可能引领市场趋势。最少预订天数,额外客人费用,和较大客人人数是由主人设定的规则,并被直接考虑到价格计算中。因此,这三个因素的排名很高,这是令人信服的。最后,一年中可用的天数和评论数量反映了Airbnb房产的受欢迎程度。当然,高需求会导致更高的价格。

我们没有看到‘host_has’(一个房东拥有的房产的数量)在列表中(实际上在前20位列表中),说明在某些情况下,我们的直觉不是较好的工具,世界需要数据科学家!(笑)

六、结语
在这个项目中,我们深入研究了西雅图和波士顿的Airbnb数据集,并发现了一些有趣的模式:

波士顿比西雅图要贵得多。这一现象符合目前两个城市每月租金中位数的趋势:波士顿租房价格更高。
波士顿的房东平均拥有更多的Airbnb房产,还有更多的“超级”房东。因此,我们可以暗示一些超级房东可以影响城市的平均租赁价格。
高密度的地段与西雅图和波士顿的高租金地段相对应。因此,我们可以假设租金、地段位置和Airbnb价格密切相关。
从重要的特性中,我们知道受欢迎程度、地理位置、舒适程度和房产规则对Airbnb价格的影响较大。

我们开始的时候对一些问题的答案尚不清晰,例如两个城市的价格是否存在差异,价格如何根据地段位置分布,以及最重要的预测因素是什么。但愿,这个项目回答了这些问题,并为您提供了影响Airbnb价格因素的洞察力。我相信这个预测模型可以为客户提供关于旅行预算和规划的信息,并能为客户的房产定价提供参考。

尽管如此,还是有很大的改进空间。我欢迎任何反馈意见和建议。说到底,希望形成数据科学家之间的共享!在做这个项目的过程中,我更有冲动想去旅行了,我想我会去的。无论你在哪里旅行,无论是环游真实世界还是数据世界,祝你旅途顺利。一路顺风。

声明:文章收集于网络,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

相关阅读

发表评论

最新评论

引用 zyl2018 2018-11-28 10:29
写得很棒

查看全部评论(1)

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2018-12-15 14:29 , Processed in 0.129269 second(s), 25 queries .