ここでは、EDA Salon 第5回 - Airbnbの東京の宿泊施設データを使って、city
とprice
の関係性を明らかにする。つまり、city
ごとに1泊の金額を表すprice
が変わるのかどうかを明らかにする。
提供されているデータにはcity
とneighbourhood
という住所関係のカラムがあるが下記のようにそのまま利用できない。また、neighbourhood
はデータ全体の10%がNA
なので、緯度経度情報を正しいものと考え、住所(address
)は取り直すことにした。
city=koto
でneighbourhood=sumida
という正しい関係にあるものあるが、city=neighbourhood
が一緒でカラム名の関係を表していない。そのため、各宿泊先id
の緯度、経度情報はあるので、これをリバースジオコーディングを行った。
住所データは「Yahoo!リバースジオコーダAPI」を利用して取得し、各宿泊先id
に対して、新しい住所情報をもたせた。
取得後の分布は下記のとおりである。新宿区、台東区、豊島区、墨田区、渋谷区という順になる。
また、下記はどの程度表記が揺れているのかを可視化(TOP5のみ)したものである。例えばaddress=東京新宿区
で考えると、新たに取得したaddress=東京新宿区
に該当するレコードのcity
の要素の内訳を割合を示したものである。各棒グラフの色の数分、表記が揺れていることになる。(新しい住所の取得方法に誤りがあると申し訳ない…)
また、address=東京新宿区
で限定して、マップで可視化してみた。色分けはcity
である。
price
とaddress
の関係を散布図で可視化してみる。
箱ひげ図だけでなく、密度曲線を使って可視化をしてみる。表示のために10000 >= price
でフィルタしている。
これらの図を見る限り、address
ごとに違いがあることがわかる。
ここでは、address
ごとに1泊の金額を表すprice
が変わるのかどうかを明らかにした。結果としては、address
ごとに違いがあることがわかった。
ジオコーディングで取得した住所データは、下記のプロジェクトのURLから利用できるようにしているので、必要であれば、Exploratoryにインポートしてください。Airbnbのデータとの紐付けキーはid
です。
https://exploratory.io/git/1021500949444839/airbnb_list_reverse_geo_Lyu4xFa4.git