🏘️

引越しに役立つ!賃貸物件の特徴が賃料に与える影響を可視化する

2023/01/09に公開

昔、引っ越しする時の参考として、賃貸物件のいろいろな特徴が賃料にどれくらい影響を与えているのか調べたことがあります。自分以外の人にとってもそこそこ役に立つ&興味深い情報だと思うので、簡単に紹介したいと思います。

賃料は地域や最寄駅、間取り、築年数などのいろいろな要素に影響を受けていることが知られています。しかし、専門家でないとどの程度の影響があるのか感覚的に掴むのは難しいです。

  • 平均的に LDK は DK の何倍の値段でしょうか?
  • 駅から徒歩 1 分遠くなると値段はどれくらい下がるでしょうか?
  • コスパの良い最寄駅はどこでしょうか?

こういった質問に答えられる人はごく一部だと思います。この記事ではそのような疑問への答えを探ってみます。物件の条件を考える時に役立つ情報なので、引っ越しを考えている方はぜひご一読ください。

データソース

スクレイピング

某大手不動産サイト SUUM○ をスクレイピングして物件データを頂戴します。スクレイピングの具体的な方法の解説はインターネットに溢れているので、本記事では割愛します。SUUM○ は比較的 HTML の構造が綺麗で解析しやすく、JavaScript を実行する必要がないので簡単です。

検索対象は東京都・神奈川県・埼玉県の賃貸物件であり、建物で数えると 21 万件、部屋では 43 万件ありました。取得した項目は以下の通りです。

  • 住所(〜丁目まで)
  • 最寄駅と徒歩時間
  • 築年数
  • 建物自体の階数と部屋の階数
  • 間取り
  • 床面積
  • 賃料、管理費、敷金、礼金

他に主要ターミナル駅までの所要時間・地域の治安・ハザードマップ・リフォーム・路線価などの情報が賃料に影響があると言われていますが、取得できなかったので今回は無視しています。

クレンジング

不動産仲介業者が物件の情報を SUUM○ に入力していますが、同一の部屋の情報を別々の仲介業者が独立に入力していることがよくあります。愚直に交差検証をすると、リークしてしまうため、住所や賃料等をハッシュ値にして重複排除しています。

モデル

概要

今回は以下の特徴量を元に、管理費込みの賃料を予測する線形回帰モデルを用います。今回の分析の興味は特徴量が賃料に与える影響を知ることにあるので、解釈性の高い線形モデルを採用しています。

特徴量 種類 値の例
アパート or マンション カテゴリカル アパート, マンション
間取り カテゴリカル 1R, 2LDK, ...
市区町村 ※1 カテゴリカル 渋谷区, 東村山市, ...
最寄駅 ※1 カテゴリカル 東京駅, 立川駅, ...
徒歩所要時間 連続 5 分, 20 分, ...
面積 連続 30 m^2, ...
築年数 連続 築 3 年, ...
部屋の階数 連続 1 階, 2 階, ...
建物の階数 連続 1 階建, 2 階建, ...

※1 今回はモデルを 2 種類作ります。「市区町村 + 最寄駅以外の特徴量」のモデルと「最寄駅 + 市区町村以外の特徴量」のモデルです。市区町村と最寄駅はどちらも地域性を強く反映した特徴量なので、両方同時に同じモデルに入れると理解しにくくなるためです。この部分は本質ではないので、2 つのモデルを明確に区別するような説明はしません。

前処理として賃料には対数変換を施しています。直感的には、以下のように基準となる賃料に対して、特徴量の値から決まるレートを掛け算して予測値を決めるようなモデルになります。

予測賃料 = 基準賃料 (4.9万円)
        × アパート・マンションのレート
        × 間取りのレート
        × 市区町村のレート
        × 最寄駅のレート
        × 徒歩所要時間のレート
        × 面積のレート
        × 築年数のレート
        × 部屋の階数のレート
        × 建物の階数のレート

レートと基準賃料はスクレイピングで得られたデータからフィッティングして決めます。

例えば、「渋谷区、1R、渋谷駅徒歩 5 分」のような物件に対して、

  • 渋谷区のレート = 1.76 倍
  • 1R のレート = 1.56 倍
  • 渋谷駅のレート = 1.3 倍
  • 徒歩 5 分のレート = 0.96 倍

のようなレートであった場合は

予測賃料 = 4.9 × 1.76 × 1.56 × 1.1 × 0.96 = 14.2 万円

のように予測値を求めます。

詳細な説明

もう少し数学っぽい説明をしておきます。興味ない人は読み飛ばして大丈夫です。

今回のモデルは出力を対数変換した線形回帰なので、{\boldsymbol x} を特徴ベクトル、賃料を y とすると、

\ln y = {\boldsymbol a}^\top {\boldsymbol x} + b

です。つまり、

y = \exp({\boldsymbol a}^\top {\boldsymbol x} + b) = \exp\left( \sum_i a_i x_i + b \right) = \exp(b) \cdot \prod_i \exp(a_i x_i)

と書けます。先ほどの基準賃料は \exp(b) のことであり、レートは \exp(a_i x_i) に対応しています。

カテゴリカル変数の例として、「アパート or マンション」の特徴量について考えてみます。今回はカテゴリカル変数を全て One-Hot Encoding していて、x_{\mathrm{ap}} をアパート、x_{\mathrm{ma}} をマンションのときに 1 になる変数としたとき、

  • 入力物件がアパートの場合は x_{\mathrm{ap}} = 1, x_{\mathrm{ma}} = 0
  • 入力物件がマンションの場合は x_{\mathrm{ap}} = 0, x_{\mathrm{ma}} = 1

です。このとき、\exp(a_{\mathrm{ap}} x_{\mathrm{ap}}) \exp(a_{\mathrm{ma}} x_{\mathrm{ma}}) の値を計算してみると、

  • アパートの場合は a'_{\mathrm{ap}} = \exp(a_{\mathrm{ap}} \cdot 1) \exp(a_{\mathrm{ma}} \cdot 0) = \exp(a_{\mathrm{ap}})
  • マンションの場合は a'_{\mathrm{ma}} = \exp(a_{\mathrm{ap}} \cdot 0) \exp(a_{\mathrm{ma}} \cdot 1) = \exp(a_{\mathrm{ma}})

というように単なる係数に落とし込めます。したがって、フィッティングして得られた係数 a_{\mathrm{ap}}, a_{\mathrm{ma}} を指数関数で変換した a'_{\mathrm{ap}}, a'_{\mathrm{ma}} を基準賃料 \exp(b) に掛け算することで賃料を予測できることがわかります。

次に徒歩所要時間を例として、連続量変数について考えてみます。徒歩所要時間に対応する変数を x_{\mathrm{walk}} としたとき、レートは \exp(a_\mathrm{walk} x_{\mathrm{walk}}) と指数関数なります。最寄駅から遠くなる程、賃料は減少する傾向にあるため、a_{\mathrm{walk}} < 0 になるはずです。しかし、徒歩の時間が伸びると際限なく賃料が減るとは考えにくいので、どこかでレートが頭打ちになるはずです。この頭打ちになる閾値を c_{\mathrm{walk}} として、レートは

\exp(a_\mathrm{walk} \cdot \mathrm{min}(x_{\mathrm{walk}}, c_{\mathrm{walk}}))

で計算することにします。c_{\mathrm{walk}} は optuna を使って計算します。

次節では、

  • カテゴリカル変数に対しては、カテゴリごとの \exp(a_i) をレートとして報告します。物件がカテゴリに該当する時に基準賃料の何倍の値段になるかを表す数値です。
  • 連続量変数に対しては、\exp(a_i \cdot \mathrm{min}(x_i, c_i)) のグラフを提示します。x_i が変化した時にレートがどのように推移するかを表します。

予測精度

テスト集合に対する予測精度は以下の通りです。個人的には平均 ±1 万円以内に収まっているので、相場を知るという観点では許容範囲だと思います。

  • MAE (Mean Absolute Error) = 9,900 円
  • MAPE (Mean Absolute Percentage Error) = 10.9 %

今回は係数が見たいだけなので、解釈性を重視して単純な線形モデルを使っています。より複雑なモデルにして特徴量をガンガン追加すればより高精度が望めるはずです。

係数を見てみる

間取り

nR/nK に対して nDK は 1.1〜1.2 倍、nLDK は 1.5〜1.6 倍程度の賃料になります。同じ間取りで 1 部屋増えると 1.2〜1.4 倍になります。

間取り/部屋数 n=1 n=2 n=2 n=3
nR/nK 1.56 倍 2.05 倍 2.53 倍 3.48 倍
nDK 1.93 倍 2.35 倍 2.67 倍 3.76 倍
nLDK 2.56 倍 3.14 倍 3.83 倍 5.32 倍

nLDK > (n+1)DK となっている理由として、DK は LDK に対して古い物件が多いので、築年数の影響が出ている可能性があります。

市区町村

  • ① 埼玉県北部は 0.7〜0.8 倍と賃料はかなり低め
  • ② 都内西部は中央線沿線が賃料高め
  • ③ 都内は渋谷区・港区が 1.7 倍超と圧倒的に高レート
  • ④ 京浜東北線沿線は賃料高め
  • ⑤ 神奈川県西部は路線が少ないせいか賃料低め

市区町村の賃料レート

最寄駅

首都圏を広域的にみると、郊外から都心へアクセスできる路線周辺の賃料が上がりやすいことがわかります。また、そのような路線のターミナル駅周辺は都心から遠くても賃料が高くなりやすいです。代表的なターミナル駅は以下の通りです。

  • ① 埼玉県は大宮駅の影響大(川越駅はそんなに高くない)
  • ② 東京西部は立川駅(中央線)
  • ③ 神奈川県は横浜駅(横浜駅の周辺の駅も高賃料)

最寄駅の賃料レート(広域)

都内の賃料が高騰しているエリア(渋谷区、港区、千代田区)を拡大してみてみましょう。港区でも湾岸地域より少し内陸入った山手線の内側の賃料が高いことがわかります。中でも表参道駅周辺の賃料が最も高く、遠ざかると徐々に賃料が下がる傾向にあります。

  • ① 表参道を中心とした港区・渋谷区の一部エリアの賃料は極めて高いです。この要因は地価だけでなく、タワマンなど富裕層をターゲットとした高付加価値の物件が多いことが挙げられます。
  • ② 東横線など郊外のターミナル駅直通路線の沿線は中心部から少し離れても高い傾向が見られます。

最寄駅の賃料レート(狭域)

会社が池袋にあるので、池袋駅への所要時間と上記の最寄駅の賃料レートをプロットしてみます。グラフの左下ほどコスパが良い(=池袋駅に近く賃料が安い)地域と考えることができます。東村山駅や埼玉南部の特急が止まる駅が表示されています。特急が止まる駅は他の駅より賃料が高めですが、それでも電車の移動時間を考えるとコスパは良いようです。

池袋駅への所要時間と賃料レート

ちなみに、電車の所要時間は Yah〇〇 乗換案内をスクレイピングしました。

徒歩所要時間

最寄り駅から 1 分遠ざかるごとに -0.7 % 程度賃料が(ほぼ線形に)減少します。徒歩 20 分以上のレートは一定と仮定しています。バス・車での時間時間は予測に大きな影響ないので、無視しています。

徒歩所要時間と賃料レート

大抵の人は駅近物件を求めていると思いますが、賃料とのバランスは難しいですよね。上の図はそのバランスを考えるのに役立つと思います。

築年数

築年数が 1 年増えるごとに 1 % ほど賃料が安くなる傾向があります。45 年以上は影響がほとんどないので、無視しています。

築年数と賃料レート

今回の実験では、アパート・マンション・戸建ては区別していませんが、LIFULL HOME'S PRESS - 築年数の経過が賃料に与える影響度の違いを「3つの観点」から比較~賃貸マンションと比較した賃貸アパート実態分析④-1 によるとアパートとマンションの経年変化の傾向が違うようですね。

階数

建物の総回数と部屋の回数のレートを掛け算して算出します。建物の総階数は 46 階、部屋の階数は 21 階以上になると賃料への影響が微小になるので、定数にしています。上層階ほど傾きが小さいので、1階→2階より、10階→11階の賃料差の方が小さいことがわかります。

階数と賃料レート

あとがき

私が予想していたよりも綺麗な傾向が見えて満足しています。何番煎じかわからないけど、やり込むと結構面白いですね。みなさんが引っ越しする時の参考になれば幸いです。

もし、反響があったら有料記事書こうかな。書くとしたら、

  • 長時間に及ぶスクレイピングのノウハウ
  • モデルの細かい工夫
  • 地図データの可視化
  • プログラムの解説
  • GEO データやハザードマップの情報取得

などを盛り込みたいですね。

Discussion