@housecat442さんのプレゼンにインスパイアされて、某S社様のサイトからスクレイピングさせていただき家賃予測を行いました。目的は広さ・最寄駅・築年や各種設備の割にお得な割安物件を探すことです。首都圏の賃貸物件を全て扱うのは大変なので、まずは山手線の各駅から徒歩15分以内の物件(32945件)について解析を行いました。およそ10分の1ぐらいの物件数です。
解析に使うデータは最終的には、応答変数が「費用.2年間」で説明変数が226個になりました。ここで予測したい「費用.2年間」は (賃料+管理費)*24 + 礼金 + 敷金 + 仲介手数料 + その他初期費用 - フリーレント.price で求めています。また今回は駐車場の費用に関しては考慮にいれませんでした。さらにデータを十分に可視化した上で説明変数に関していくつか前処理を追加しました。例えば「間取り」は「専有面積」と相関が高すぎるので削除しました。その他にも「2沿線利用可」と「2駅利用可」や「上階無し」と「最上階」など相関がある程度高くて意味も似ていると判断できるものはORをとって0/1のフラグにしました。また「駅からXメートルにスーパー有」などの情報は、exp(-X/400)で価値が表せるとして[0,1]に変換しています(400mは徒歩5分の距離; 経験的に設定)。部屋階も同様に経験から[0,1]に値を変換しています(1F:0.0, 2F:0.5, 3F-9F:0.7 10F~:1.0)。
モデルですが、切片・駅の項・部屋の向きの項・各種設備の項からなるシンプルな回帰です。駅と部屋の向きの項に関しては空間構造があるだろうということでCAR modelを使いました。CAR modelについてはこの記事を読んでください。特に新しいことはありません。まあ正直に言うと切片・駅の項・専有面積だけでもそこそこ説明できるのですが、やっぱり各種設備の結果を見ると盛り上がりますので、今回はそちらの結果を紹介したいと思います。
計算時間はStanを使ってiter=3000で約24hほどかかりました。結果は以下になります。 まずは駅の影響から。
青の実線は予測の中央値、グレーの帯は同95%信用区間です。今回はlog(費用.2年間)に対して回帰を行っていますので、縦軸はその駅になると「費用.2年間」が何倍になりそうかを表しています。恵比寿~原宿、有楽町(銀座の近く)あたりが高そうです。田端~鶯谷あたりが安いのも納得の結果です。
次に部屋の向きの影響について。
可視化の時点でうすうす気づいていましたが、これが驚くほど影響が少ないという結果が出ました。この結果が首都圏or賃貸物件に特有の結果なのかどうかはさらなる解析を待たねばなりません。一戸建てのマイホームでは「南道路」とか結構大切なファクターに思いますが…。
次に専有面積(x1.2倍あたり)・築年(+10年あたり)・徒歩(+5分あたり)とその他の各種設備・条件の有無の影響について。回帰係数の大きなトップ20を掲載しました。
まず、これも驚くことに徒歩(+5分あたり)の影響は少なかったです(30番目ぐらい)。ある程度駅に近ければ他の条件の方が大切ということでしょうか。あとは食器洗乾燥機や家電・家具などが目につきます。キレイ好きだけど設置などの面倒が嫌いな人が金払いがよいということでしょうか。なかなか面白いです。また「防犯強化地域」は価値を下げています。何も特筆すべきことがなくて無理にこれを付け加えているのか、犯罪頻発地域の裏返しなのかは分かりませんが。そのほか、「女性限定」など真の価値に関係なさそうな説明変数の影響を除いて最後の割安物件探しを行いました。
割安物件Top100を以下に掲載します。並びは価値との差額ではなくて、価値からの割引%にしました(割算値使ってしまいました…)。また、やや狭い物件(15m2以下)と高すぎる物件(家賃20万以上)は除いてTop100にしました。物件の情報を取ってきたのは1か月以上前なので、すでに存在しない物件もあると思います。中身を見てみるとなるほどと思うものがあります。お金のところの単位は全て[万円]です。
link | 費用. 2年間 | 費用. 2年間. 価値 | 割引. 差額 | 割引. off (%) | 最寄駅 | 徒歩 (分) | 賃料 | 管理費 | 礼金 | 敷金 | 仲介 手数料 | その他 初期 費用 | フリー レント | 専有 面積 | 築年 | 部屋階 | 向き |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
link | 235 | 439 | -204 | -46.4 | 秋葉原 | 9 | 9.8 | 0 | 0 | 0 | 0 | 0 | 0 | 66.84 | 24 | 4 | 南 |
link | 156 | 283 | -127 | -44.9 | 目白 | 14 | 6 | 0 | 6 | 6 | 0 | 0 | 0 | 42 | 40 | 4 | 南東 |
link | 71 | 128 | -57 | -44.7 | 巣鴨 | 8 | 2.7 | 0.25 | 0 | 0 | 0 | 0 | 0 | 16 | 49 | 2 | 南 |
link | 89 | 156 | -68 | -43.3 | 池袋 | 14 | 3.3 | 0.25 | 0 | 3.5 | 0 | 0 | 0 | 19.87 | 35 | 2 | 南東 |
link | 102 | 179 | -78 | -43.2 | 池袋 | 10 | 3.8 | 0.13 | 3.8 | 3.8 | 0 | 0 | 0 | 24 | 40 | 2 | 東 |
link | 74 | 127 | -53 | -41.8 | 巣鴨 | 8 | 2.7 | 0.25 | 0 | 3 | 0 | 0 | 0 | 16 | 50 | 2 | 南 |
link | 74 | 127 | -53 | -41.8 | 巣鴨 | 8 | 2.7 | 0.25 | 0 | 3 | 0 | 0 | 0 | 16 | 50 | 2 | 南 |
link | 156 | 267 | -111 | -41.6 | 目白 | 13 | 6 | 0 | 6 | 6 | 0 | 0 | 0 | 45 | 41 | 4 | 東 |
link | 245 | 418 | -173 | -41.3 | 秋葉原 | 8 | 9.8 | 0 | 0 | 0 | 9.8 | 0 | 0 | 66.84 | 24 | 4 | 南 |
link | 77 | 130 | -54 | -41.1 | 駒込 | 10 | 3 | 0.2 | 0 | 0 | 0 | 0 | 0 | 18.15 | 46 | 2 | 南 |
link | 156 | 263 | -107 | -40.7 | 目白 | 11 | 6 | 0 | 6 | 6 | 0 | 0 | 0 | 42 | 40 | 4 | 東 |
link | 83 | 138 | -56 | -40.2 | 駒込 | 12 | 3 | 0.2 | 3 | 3 | 0 | 0 | 0 | 17.82 | 35 | 2 | 南 |
link | 83 | 138 | -56 | -40.2 | 駒込 | 12 | 3 | 0.2 | 3 | 3 | 0 | 0 | 0 | 17.82 | 35 | 2 | 南 |
link | 83 | 138 | -56 | -40.2 | 駒込 | 12 | 3 | 0.2 | 3 | 3 | 0 | 0 | 0 | 17.82 | 35 | 2 | 南 |
link | 156 | 257 | -101 | -39.3 | 新宿 | 9 | 5.5 | 1 | 0 | 0 | 0 | 0 | 0 | 24 | 31 | 10 | 南 |
link | 261 | 417 | -156 | -37.5 | 駒込 | 7 | 9.3 | 0.75 | 9.3 | 9.3 | 0 | 0.81 | 0 | 38 | 7 | 4 | 東 |
link | 156 | 248 | -92 | -37.2 | 目白 | 14 | 6 | 0 | 6 | 6 | 0 | 0 | 0 | 40.27 | 40 | 4 | 南 |
link | 83 | 132 | -49 | -37.2 | 巣鴨 | 8 | 3.2 | 0.25 | 0 | 0 | 0 | 0 | 0 | 16.75 | 49 | 2 | 南 |
link | 123 | 196 | -72 | -37 | 池袋 | 15 | 4.8 | 0.2 | 0 | 0 | 0 | 3.24 | 0 | 26 | 26 | 2 | 南 |
link | 105 | 167 | -62 | -37 | 代々木 | 2 | 4.2 | 0 | 0 | 4.2 | 0 | 0 | 0 | 18.16 | 54 | 1 | 南東 |
link | 289 | 458 | -169 | -36.8 | 日暮里 | 7 | 10.3 | 0 | 10.3 | 20.6 | 11.124 | 0 | 0 | 80 | 30 | 2 | 西 |
link | 123 | 194 | -71 | -36.5 | 池袋 | 15 | 4.8 | 0.2 | 0 | 0 | 0 | 3 | 0 | 26 | 26 | 2 | 南 |
link | 172 | 272 | -99 | -36.5 | 池袋 | 6 | 6.9 | 0 | 0 | 6.9 | 0 | 0 | 0 | 40.12 | 38 | 2 | 東 |
link | 299 | 470 | -171 | -36.3 | 恵比寿 | 9 | 12.7 | 0.3 | 0 | 0 | 0 | 0 | 12.7 | 45.99 | 22 | 1 | 北西 |
link | 114 | 179 | -65 | -36.2 | 目白 | 5 | 4.4 | 0 | 4.4 | 4.4 | 0 | 0 | 0 | 21.87 | 43 | 2 | 東 |
link | 86 | 135 | -49 | -36 | 駒込 | 10 | 3.5 | 0.1 | 0 | 0 | 0 | 0 | 0 | 20 | 59 | 2 | 西 |
link | 86 | 135 | -49 | -36 | 駒込 | 10 | 3.5 | 0.1 | 0 | 0 | 0 | 0 | 0 | 20 | 59 | 2 | 西 |
link | 401 | 626 | -225 | -35.9 | 駒込 | 7 | 14.2 | 1.3 | 14.2 | 14.2 | 0 | 0.81 | 0 | 67.23 | 7 | 6 | 南 |
link | 205 | 320 | -115 | -35.8 | 恵比寿 | 8 | 7.9 | 0 | 0 | 15.8 | 0 | 0 | 0 | 33 | 31 | 3 | 北西 |
link | 156 | 242 | -86 | -35.5 | 新宿 | 9 | 5.5 | 1 | 0 | 0 | 0 | 0 | 0 | 24 | 31 | 10 | 南西 |
link | 156 | 242 | -86 | -35.5 | 新宿 | 9 | 5.5 | 1 | 0 | 0 | 0 | 0 | 0 | 24 | 31 | 10 | 南西 |
link | 158 | 243 | -85 | -35.2 | 目白 | 11 | 6 | 0 | 6 | 6 | 0 | 1.5 | 0 | 40 | 40 | 4 | 南 |
link | 321 | 495 | -173 | -35.1 | 駒込 | 2 | 12 | 0.3 | 0 | 12 | 12.96 | 1.05 | 0 | 68.25 | 19 | 4 | 南東 |
link | 141 | 217 | -76 | -34.9 | 大塚 | 4 | 5.59 | 0 | 0 | 7 | 0 | 0 | 0 | 23.49 | 14 | 3 | 南西 |
link | 86 | 131 | -45 | -34.5 | 巣鴨 | 8 | 3.2 | 0.25 | 0 | 3 | 0 | 0 | 0 | 16.75 | 50 | 2 | 南 |
link | 86 | 131 | -45 | -34.5 | 巣鴨 | 8 | 3.2 | 0.25 | 0 | 3 | 0 | 0 | 0 | 16.75 | 50 | 2 | 南 |
link | 336 | 513 | -177 | -34.5 | 駒込 | 1 | 12 | 0 | 0 | 48 | 0 | 0 | 0 | 93.2 | 29 | 2 | 南 |
link | 388 | 590 | -202 | -34.3 | 上野 | 8 | 15.5 | 0 | 0 | 15.5 | 0 | 0 | 0 | 51.14 | 10 | 11 | 西 |
link | 228 | 343 | -115 | -33.6 | 大塚 | 6 | 8.5 | 0.2 | 0 | 8.5 | 9.18 | 1.05 | 0 | 52 | 25 | 2 | 東 |
link | 100 | 150 | -50 | -33.4 | 五反田 | 5 | 3.7 | 0 | 3.7 | 3.7 | 3.7 | 0 | 0 | 18 | 44 | 1 | 南東 |
link | 164 | 245 | -82 | -33.3 | 目白 | 6 | 6.3 | 0 | 6.3 | 6.3 | 0 | 0 | 0 | 36.1 | 31 | 1 | 南 |
link | 89 | 134 | -44 | -33.1 | 駒込 | 4 | 3.5 | 0 | 0 | 3.5 | 1.89 | 0 | 0 | 17 | 46 | 2 | 南東 |
link | 299 | 447 | -148 | -33.1 | 目白 | 15 | 11.3 | 0 | 11.3 | 11.3 | 0 | 5.3 | 0 | 63.5 | 21 | 1 | 南 |
link | 187 | 280 | -92 | -32.9 | 高田馬場 | 7 | 7.5 | 0 | 0 | 7.5 | 0 | 0 | 0 | 32 | 32 | 5 | 南西 |
link | 182 | 268 | -86 | -32 | 巣鴨 | 4 | 7 | 0 | 7 | 7 | 0 | 0 | 0 | 38.02 | 41 | 4 | 南東 |
link | 105 | 155 | -49 | -31.9 | 五反田 | 5 | 3.9 | 0 | 3.9 | 3.9 | 3.9 | 0 | 0 | 18 | 44 | 2 | 北東 |
link | 312 | 455 | -143 | -31.4 | 田端 | 15 | 12 | 0 | 12 | 12 | 0 | 0 | 0 | 98.32 | 46 | 1 | 南 |
link | 515 | 749 | -235 | -31.3 | 巣鴨 | 15 | 19.8 | 0 | 19.8 | 19.8 | 0 | 0 | 0 | 78.57 | 8 | 25 | 南西 |
link | 408 | 592 | -184 | -31.1 | 日暮里 | 6 | 15.1 | 1.254 | 0 | 15.1 | 0 | 0 | 0 | 73.89 | 13 | 3 | 南 |
link | 86 | 125 | -39 | -31.1 | 駒込 | 10 | 3.5 | 0.1 | 0 | 0 | 0 | 0 | 0 | 18 | 59 | 2 | 西 |
link | 86 | 125 | -39 | -31.1 | 駒込 | 10 | 3.5 | 0.1 | 0 | 0 | 0 | 0 | 0 | 18 | 59 | 2 | 西 |
link | 169 | 245 | -76 | -30.9 | 大塚 | 8 | 6.5 | 0 | 6.5 | 6.5 | 0 | 0 | 0 | 39.06 | 34 | 4 | 南 |
link | 532 | 767 | -236 | -30.7 | 大塚 | 6 | 19.7 | 0 | 19.7 | 19.7 | 19.7 | 0 | 0 | 91.79 | 6 | 1 | 南西 |
link | 532 | 767 | -236 | -30.7 | 大塚 | 6 | 19.7 | 0 | 19.7 | 19.7 | 19.7 | 0 | 0 | 91.79 | 6 | 1 | 南西 |
link | 339 | 489 | -150 | -30.6 | 日暮里 | 5 | 12.8 | 0.8 | 0 | 12.8 | 0 | 0 | 0 | 68.41 | 17 | 6 | 南東 |
link | 169 | 243 | -74 | -30.6 | 上野 | 13 | 6.5 | 0 | 6.5 | 6.5 | 0 | 0 | 0 | 45 | 51 | 2 | 南西 |
link | 375 | 540 | -165 | -30.6 | 上野 | 8 | 15 | 0 | 0 | 15 | 0 | 0 | 0 | 46.82 | 10 | 3 | 西 |
link | 127 | 183 | -55 | -30.4 | 池袋 | 7 | 5.2 | 0.1 | 0 | 0 | 0.0001 | 0 | 0 | 19.05 | 29 | 3 | 東 |
link | 511 | 734 | -223 | -30.4 | 御徒町 | 10 | 19.8 | 1.5 | 0 | 39.6 | 0 | 0 | 39.6 | 67.68 | 14 | 2 | 北 |
link | 195 | 280 | -85 | -30.3 | 御徒町 | 10 | 7.8 | 0 | 0 | 7.8 | 0 | 0 | 0 | 41.1 | 39 | 4 | 南 |
link | 312 | 447 | -135 | -30.2 | 田端 | 15 | 12 | 0 | 12 | 12 | 0 | 0 | 0 | 98.32 | 46 | 1 | 南 |
link | 101 | 145 | -44 | -30.1 | 日暮里 | 15 | 3.8 | 0.1 | 3.8 | 3.8 | 0 | 0 | 0 | 22 | 37 | 2 | 北東 |
link | 101 | 145 | -44 | -30.1 | 日暮里 | 15 | 3.8 | 0.1 | 3.8 | 3.8 | 0 | 0 | 0 | 22 | 37 | 2 | 北東 |
link | 205 | 294 | -88 | -30.1 | 駒込 | 5 | 7.9 | 0.3 | 0 | 0 | 8.532 | 0 | 0 | 38.65 | 20 | 4 | 南西 |
link | 233 | 333 | -100 | -30 | 目黒 | 6 | 8.1 | 0.6 | 8.1 | 8.1 | 8.1 | 0 | 0 | 34.02 | 30 | 4 | 南東 |
link | 234 | 334 | -100 | -30 | 目黒 | 10 | 9 | 0 | 9 | 9 | 0 | 0 | 0 | 30.43 | 7 | 2 | 北東 |
link | 153 | 219 | -65 | -29.9 | 駒込 | 4 | 5.8 | 0.2 | 5.8 | 3.5 | 0 | 0 | 0 | 30.64 | 43 | 3 | 西 |
link | 153 | 219 | -65 | -29.9 | 駒込 | 4 | 5.8 | 0.2 | 5.8 | 3.5 | 0 | 0 | 0 | 30.64 | 43 | 3 | 西 |
link | 216 | 307 | -92 | -29.8 | 田端 | 13 | 8 | 0.3 | 0 | 8 | 8.4 | 0 | 0 | 48.65 | 27 | 3 | 南 |
link | 194 | 276 | -82 | -29.6 | 目黒 | 11 | 7 | 0.5 | 7 | 7 | 0 | 0 | 0 | 35 | 40 | 5 | 南東 |
link | 192 | 273 | -81 | -29.5 | 新宿 | 11 | 7.4 | 0 | 7.4 | 7.4 | 0 | 0 | 0 | 22.26 | 27 | 10 | 東 |
link | 177 | 251 | -74 | -29.5 | 渋谷 | 4 | 6.8 | 0 | 6.8 | 6.8 | 0 | 0 | 0 | 21.14 | 36 | 4 | 南 |
link | 172 | 245 | -72 | -29.5 | 池袋 | 9 | 6.9 | 0 | 0 | 6.9 | 0 | 0 | 0 | 40.12 | 39 | 2 | 南 |
link | 270 | 382 | -112 | -29.4 | 神田 | 4 | 10 | 0 | 10 | 20 | 0 | 0 | 0 | 52.56 | 39 | 5 | 南西 |
link | 172 | 244 | -72 | -29.3 | 池袋 | 9 | 6.9 | 0 | 0 | 6.9 | 0 | 0 | 0 | 40.12 | 38 | 2 | 東 |
link | 156 | 219 | -64 | -29.1 | 駒込 | 4 | 5.8 | 0.2 | 5.8 | 5.8 | 0 | 0 | 0 | 31.05 | 44 | 3 | 南西 |
link | 167 | 236 | -68 | -29 | 恵比寿 | 6 | 6.4 | 0.3 | 0 | 6.4 | 0 | 0 | 0 | 22 | 27 | 2 | 東 |
link | 366 | 516 | -149 | -29 | 高田馬場 | 10 | 13.66 | 1.6 | 0 | 0 | 0 | 0 | 0 | 68.37 | 18 | 9 | 南 |
link | 195 | 274 | -79 | -29 | 御徒町 | 12 | 7.8 | 0 | 0 | 7.8 | 0 | 0 | 0 | 41.1 | 40 | 4 | 南 |
link | 156 | 219 | -63 | -28.9 | 恵比寿 | 7 | 6 | 0.43 | 0 | 0 | 0 | 1.5 | 0 | 15.48 | 4 | 2 | 南西 |
link | 163 | 229 | -66 | -28.8 | 五反田 | 8 | 6.8 | 0 | 0 | 0 | 0 | 0 | 0 | 24.3 | 32 | 3 | 東 |
link | 305 | 428 | -123 | -28.7 | 恵比寿 | 12 | 12.7 | 0.3 | 0 | 0 | 0 | 6 | 12.7 | 45.99 | 22 | 1 | 東 |
link | 263 | 368 | -106 | -28.7 | 高田馬場 | 12 | 9 | 1.2 | 0 | 18 | 0 | 0 | 0 | 37.67 | 16 | 9 | 東 |
link | 112 | 156 | -45 | -28.6 | 駒込 | 5 | 4.3 | 0 | 4.3 | 4.3 | 0 | 0 | 0 | 19 | 35 | 3 | 南西 |
link | 112 | 156 | -45 | -28.6 | 駒込 | 5 | 4.3 | 0 | 4.3 | 4.3 | 0 | 0 | 0 | 19 | 35 | 3 | 南西 |
link | 112 | 156 | -45 | -28.6 | 駒込 | 5 | 4.3 | 0 | 4.3 | 4.3 | 0 | 0 | 0 | 19 | 35 | 3 | 南西 |
link | 195 | 273 | -78 | -28.5 | 御徒町 | 10 | 7.8 | 0 | 0 | 7.8 | 0 | 0 | 0 | 41.1 | 40 | 4 | 南 |
link | 110 | 154 | -44 | -28.4 | 高田馬場 | 9 | 4 | 0.25 | 4 | 4 | 0 | 0 | 0 | 15.8 | 22 | 2 | 北東 |
link | 163 | 227 | -64 | -28.3 | 池袋 | 15 | 5.4 | 0.6 | 5.4 | 5.4 | 5.832 | 2.1 | 0 | 33.81 | 23 | 1 | 南 |
link | 96 | 134 | -38 | -28.3 | 駒込 | 11 | 3.6 | 0.1 | 3.6 | 3.6 | 0 | 0 | 0 | 17 | 35 | 2 | 西 |
link | 220 | 306 | -86 | -28.2 | 五反田 | 12 | 8.5 | 0.3 | 0 | 8.5 | 0 | 0 | 0 | 34.33 | 21 | 1 | 東 |
link | 163 | 227 | -64 | -28.2 | 五反田 | 8 | 6.8 | 0 | 0 | 0 | 0 | 0 | 0 | 24.3 | 32 | 3 | 東 |
link | 189 | 263 | -74 | -28.1 | 巣鴨 | 2 | 7 | 0.3 | 7 | 7 | 0 | 0 | 0 | 36.36 | 40 | 3 | 南東 |
link | 230 | 319 | -90 | -28.1 | 池袋 | 6 | 8.1 | 0.7 | 8.1 | 8.1 | 0 | 2.1 | 0 | 37.44 | 13 | 4 | 南 |
link | 260 | 362 | -102 | -28.1 | 神田 | 5 | 10 | 0 | 0 | 20 | 0 | 0 | 0 | 52.56 | 39 | 5 | 南 |
link | 169 | 235 | -66 | -28.1 | 上野 | 13 | 6.5 | 0 | 6.5 | 6.5 | 0 | 0 | 0 | 45 | 51 | 2 | 南 |
link | 536 | 745 | -209 | -28 | 新宿 | 12 | 19.7 | 1.8 | 0 | 19.7 | 0 | 0 | 0 | 55.16 | 7 | 8 | 北 |
link | 287 | 399 | -112 | -28 | 池袋 | 15 | 11 | 0.5 | 0 | 11 | 0 | 0 | 0 | 59 | 26 | 7 | 東 |
link | 217 | 302 | -85 | -28 | 池袋 | 13 | 7.9 | 0.5 | 7.9 | 7.9 | 0 | 0 | 0 | 30.96 | 13 | 3 | 西 |
link | 164 | 228 | -64 | -28 | 目白 | 7 | 6.3 | 0 | 6.3 | 6.3 | 0 | 0 | 0 | 36.1 | 32 | 1 | 東 |
そのうちこの解析を首都圏の全物件に拡張するつもりです。その時は駅のCAR modelのところで路線図を使おう思っていましたが、@smrmktさんの解析結果を見ると「路線のブランド」が重要だったり、このツイートを見ると路線という物理的な位置関係よりも時間的な距離の方が重要かもしれないと思ったりしています。まあやってみてのお楽しみです。
今後の目標としては、パラメータの推定は月1ぐらいのペースで行い、物件のランキングの方は毎日更新されるような情報サイトが作れればと思っています。でも毎日スクレイピングするのもよくないと思いますし、diffを取るのも面倒ですし、諦め気味です。いい案がありましたら教えてください。
なお、ドワンゴさんで行われた「データ解析のための統計モデリング入門」読書会 最終回にてこの内容を話しました。資料を一応リンクしておきます。