基於機器學習預測Airbnb的城市旅行成本

EAWorld發表於2018-11-27

基於機器學習預測Airbnb的城市旅行成本

本文為翻譯發表,轉載需要註明來自公眾號EAWorld。

作者:Sean Kim

譯者:白小白 

原題:一文了解Airbnb的旅行成本

原文:http://t.cn/E2FvawU


全文3538字,閱讀約需要9分鐘

目錄:

1、兩個城市的價格真的有差別嗎?

2、同一房東擁有多少Airbnb房產?

3、價格在地段位置分佈上是均勻的還是不均勻的?

4、我的模型能很好地預測價格嗎?

5、價格最重要的預測因素是什麼?

6、結語

本文基於西雅圖和波士頓的Airbnb資料集。

基於機器學習預測Airbnb的城市旅行成本

西雅圖

基於機器學習預測Airbnb的城市旅行成本

波士頓

這些照片會令你心動,既而開始一場說走就走的旅行麼?如果你的回答是肯定的,你就是像我一樣的“旅友”。旅行讓人短暫地忘卻現實,成為一個觀察者,從而敬畏生活,感激你所擁有的事業、朋友和家人。旅行讓你再次身心合一,那感覺實在太棒了!老實說,我最喜歡的記憶之一是在保加利亞的一段經歷:坐在長凳上,喝著啤酒,看著路過的人們。沒人管我做什麼,也沒人對此說三道四。

不知道你是否會為錢而煩惱,但對於作為學生的我來說,預算一直是阻礙我出行的一個顧慮。我已經使用Airbnb很長一段時間了,這個產品已經成為我的旅行夥伴,相比酒店或者其他的商業產品,我喜愛這個產品的原因在於我可以有更多的自由,更重要的是,我可以花更少的錢體會到家一樣的感覺。然而,通過對不同城市的觀察,我發現Airbnb的價格不同。這促使我進入資料科學的世界以一探究竟。

本文所涉及的資料集來自Kaggle的Airbnb資料,我選定了兩個城市,西雅圖和波士頓,每個資料集的資料分別是3818行和3585行。我的目標很明確:“瞭解Airbnb價格”。為此,我在腦海中構思了一些問題,並很想與大家分享我的答案。

一、兩個城市的價格真的有差別嗎?

答案是肯定的,價格有區別的。讓我們看看我是如何得到這個答案的。下圖的價格單位是1000美元,由於存在一些價格奇高的離散資料點,導致很難區分這兩個城市之間的區別。

基於機器學習預測Airbnb的城市旅行成本

圖1:西雅圖和波士頓的價格分佈

對價格進行對數轉換後,我們可以更清楚地看出區別。

基於機器學習預測Airbnb的城市旅行成本

圖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房產?

因為我確認了價格的差別,所以我想找出更多的原因。我首先感興趣的是幾個“超級”房東是否左右了市場價格。是不是這樣呢?

基於機器學習預測Airbnb的城市旅行成本

圖3:房東擁有的平均房產數量

波士頓的房東平均擁有更多的Airbnb房產。這可能意味著Airbnb房產的價格由更少數量的房東決定。但是我們還不能用這個來說明任何事情,所以讓我們深入挖掘一下。

基於機器學習預測Airbnb的城市旅行成本

圖4:西雅圖房產數量的分佈


基於機器學習預測Airbnb的城市旅行成本

圖5:波士頓房產數量的分佈

從個人房產數量分佈來看,我們可以確認波士頓有更多的“超級”房東。因此,我們可以假設那些“超級”房東在波士頓給Airbnb設定了更高的價格。但我們不能確定他們是否真的這麼做了。有了這個預測模型,我就可以知道這個預測工具處於什麼水平。

三、價格在地段位置分佈上

是均勻的還是不均勻的?

我的下一個問題是,地段位置是否會影響Airbnb在兩個城市的價格,因為繁忙的位置有更高的入住價格似乎是很自然的事。我使用郵政編碼來代表位置資訊。

基於機器學習預測Airbnb的城市旅行成本

圖6:按郵政編碼分列的西雅圖位置分佈


基於機器學習預測Airbnb的城市旅行成本

圖7:按郵政編碼分列的波士頓位置分佈

就分散程度而言,兩個城市的區位分佈在標準差上沒有很大的差異。然而,我們確實注意到一個共性,即兩地的房產分佈並不均勻。當我們將分佈與來自Trulia的西雅圖及波士頓租金地圖進行比較時,房產的高密度的地點與高租金地區相對應。因此,位置對價格分配有更大的影響。

基於機器學習預測Airbnb的城市旅行成本

圖8.西雅圖和波士頓租金熱點圖

畢竟,大多數Airbnb酒店在城市的熱點地區人滿為患


四、我的模型能很好地預測價格嗎?

儘管沒有什麼是完美的,至少在資料科學世界是這樣的,然而,我仍舊對我的預測模型的表現感到非常高興。

基於機器學習預測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是當今最流行的機器學習演算法之一,它的速度和效能,可並行的核心演算法,在許多情況下優於其他演算法的方法,以及各種各樣的調整引數,都幫助它在資料極客中迅速的普及。


五、價格最重要的預測因素是什麼?

基於機器學習預測Airbnb的城市旅行成本

圖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資料集,並發現了一些有趣的模式:

  1. 波士頓比西雅圖要貴得多。這一現象符合目前兩個城市每月租金中位數的趨勢:波士頓租房價格更高。

  2. 波士頓的房東平均擁有更多的Airbnb房產,還有更多的“超級”房東。因此,我們可以暗示一些超級房東可以影響城市的平均租賃價格。

  3. 高密度的地段與西雅圖和波士頓的高租金地段相對應。因此,我們可以假設租金、地段位置和Airbnb價格密切相關。

  4. 從重要的特性中,我們知道受歡迎程度、地理位置、舒適程度和房產規則對Airbnb價格的影響較大。

我們開始的時候對一些問題的答案尚不清晰,例如兩個城市的價格是否存在差異,價格如何根據地段位置分佈,以及最重要的預測因素是什麼。但願,這個專案回答了這些問題,併為您提供了影響Airbnb價格因素的洞察力。我相信這個預測模型可以為客戶提供關於旅行預算和規劃的資訊,並能為客戶的房產定價提供參考。

儘管如此,還是有很大的改進空間。我歡迎任何反饋意見和建議。說到底,希望形成資料科學家之間的共享!在做這個專案的過程中,我更有衝動想去旅行了,我想我會去的。無論你在哪裡旅行,無論是環遊真實世界還是資料世界,祝你旅途順利。一路順風。

與作者聯絡

你可以用LinkedIn(http://t.cn/E2FGNmA)與作者聯絡。

關於EAWorld微服務,DevOps,資料治理,移動架構原創技術分享,長按二維碼關注

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562043/viewspace-2221748/,如需轉載,請註明出處,否則將追究法律責任。

相關文章