51
SIGNATE コンペ 飯⽥産業 ⼟地の販売価格の推定 1st place solution あきやま twitter:@ak_iyama

SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place solution

あきやま twitter:@ak_iyama

Page 2: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

⾃⼰紹介

コンペについて

取り組み内容

まとめ

Page 3: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

⾃⼰紹介

コンペについて

取り組み内容

まとめ

Page 4: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

4⾃⼰紹介秋⼭卓也

⼤⼿通信キャリア ショップ→NW保守(レイヤ0)→研究所→新規事業開発

DeNA オートモーティブ向け機械学習モデル開発→育休 →レコメンドシステム開発

Page 5: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

5⾃⼰紹介秋⼭卓也 Kaggle

SIGNATE

Page 6: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

⾃⼰紹介

コンペについて

取り組み内容

まとめ

Page 7: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

7コンペについて

タスク:号棟ごとの⼟地の販売価格の推定

Page 8: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

8コンペについて•  データ:

飯⽥産業の埼⽟県の過去の販売実績データ– 現場データ:train 2781件、test 1855件

•  現場レベルの概要情報•  丸められた住所や最寄り駅、駅距離、地域情報など

– 号棟データ:train 6461件、test 4273件•  号棟の情報•  ⼟地⾯積や建物⾯積、接道、⽇当たりなど•  trainには⽬的変数も含まれる

Page 9: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

9コンペについて•  データの中⾝(⼀例)

現場データ号棟データ

Page 10: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

10コンペについて

•  評価指標:MAPE(Mean Absolute Percentage Error)

Page 11: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

⾃⼰紹介

SIGNATEとコンペについて

取り組み内容

まとめと余談

Page 12: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

12スコア推移あきやまスコア

Page 13: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

13スコア推移あきやまスコア

まずここの話

Page 14: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

14最序盤の取り組み

•  LightGBM(5fold CVの各モデルのアンサンブル) •  Group K Fold(現場単位。同⼀現場内の価格は似るため) •  simpleな特徴量作成

– 特徴量数174個 – そのうち107個が”与えられたそのまま”の値

•  評価指標MAPEへの対応 – ⽬的変数の対数変換 – ⽬的関数へのFair Lossの採⽤

Page 15: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

15評価指標MAPEへの対応percentage errorは真値が⼩さい時の誤差を増幅するため、MSE等を学習の⽬的関数とするとうまくMAPEを最適化することが出来ない

1e7 ~ 6e7までのtrue valueに対して1e6の誤差を与えた時の評価値absolute error (AE) square error (SE) absolute percentage error(APE)

Page 16: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

16評価指標MAPEへの対応モデルに⼊れる前に⽬的変数を対数変換することで、MAEやMSEによる最適化処理実⾏時に⼩さい値での誤差を相対的に増幅させることができる

1e7 ~ 6e7までのtrue valueの対数変換値とtrue valueに対して1e6の誤差を与えた値の対数変換値との評価値と、APEとの対応

APEと対数変換したAEがほぼ⼀致

Page 17: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

17評価指標MAPEへの対応

•  評価関数としてのMAEを最適化したいときに、⽬的関数としてMAEを選ぶことが最善でないケースもある– MAEの勾配は符号情報しか残らず、予測値と⽬的変数との乖離幅の情報

が消えてしまうため

「じゃあ対数変換して⽬的関数をMAEにすれば良いね」

Page 18: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

18評価指標MAPEへの対応

•  対策:Fair Lossを使う–  Kaggleコンペ「 Allstate Claims Severity」の中で考案?

https://www.kaggle.com/c/allstate-claims-severity/discussion/24520

– MAEの0付近をsmoothingした評価関数

Fair =

Page 19: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

19スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

あきやまスコア

最終100位ライン

Page 20: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

20スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

ここの話

あきやまスコア

最終100位ライン

Page 21: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

21序盤の取り組み

•  特徴量作成

Page 22: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

22特徴量作成•  最序盤のプロトタイプモデルの特徴量importance

から、重要そうなデータを把握する

⾯積地価⽴地ガス

組み合わせで特徴量作成合計227個

Page 23: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

23スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア

最終10位ライン

Page 24: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

24スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア

Page 25: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

25スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

家探し(プライベート)

あきやまスコア

Page 26: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

26スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア伸びていく暫定1位のスコア

家探し(プライベート)

Page 27: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

27スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

ここの話

あきやまスコア伸びていく暫定1位のスコア

Page 28: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

28中盤の取り組み

•  住所の緯度経度を利⽤した特徴量作成

Page 29: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

29住所の緯度経度を利⽤した特徴量作成

•  「正直、このスコア差やばいかも」と思ってルールを⾒返したら

なんか書いてあった

Page 30: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

30住所の緯度経度を利⽤した特徴量作成

•  GeocodingというサービスのAPIを使って住所の緯度経度をスクレイピング – 「10秒に1回まで」と書いてあったので⼀晩かけてじっくり

•  組み合わせで数⼗個の特徴作成

Page 31: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

31スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア暫定1位のスコア推移

住所の緯度経度特徴

ここの話

Page 32: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

32終盤の取り組み

•  建物ありモデルと⼟地のみモデルの分離

Page 33: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

33建物ありモデルと⼟地のみモデルの分離

•  まだまだ暫定1位に追いつかないので、さらにしっかりサイトを読んだら

FAQに情報が追記されていた

Page 34: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

34建物ありモデルと⼟地のみモデルの分離

•  建物⾯積==0となっているものを「⼟地のみのサンプル」とみなして、現状を確認

OOFのMAPE•  建物あり:8.76•  ⼟地のみ:15.19

モデルを分離することに

Page 35: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

35建物ありモデルと⼟地のみモデルの分離

•  しかし、⼟地のみだとサンプルが少なすぎる問題– trainの件数:

• 建物あり:6101件• ⼟地のみ:360件

•  ⼟地のみデータのaugmentationが必要

Page 36: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

36建物ありモデルと⼟地のみモデルの分離

•  しかし、⼟地のみだとサンプルが少なすぎる問題– trainの件数:

• 建物あり:6101件• ⼟地のみ:360件

•  ⼟地のみデータのaugmentationが必要

「家探し≒ドメイン知識収集」の知⾒を活⽤

Page 37: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

37建物ありモデルと⼟地のみモデルの分離

•  仮説:建物⾯積*単価でおおよその建物価格がわかる?

•  単価を探索パラメータとして、建物ありサンプルの販売価格から建物⾯積*単価の⾦額を引き、⼟地のみモデルの学習に⽤いる

•  探索の結果、⼟地のみデータのMAPEをおよそ2.0(15.0から13.0に)良化させることが出来た– ⼟地のみデータは全体のおよそ1/20の件数のため、全体に対して

はおよそ0.1の良化の⾒込み

Page 38: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

38スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア暫定1位のスコア推移

住所の緯度経度特徴

ここの話

土地のみモデル

Page 39: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

39最後の悪あがき

•  特徴量の増量 特に緯度経度情報まわり +400くらい

•  Seed Averaging (*10) •  Post Process

Page 40: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

40Post Process

•  対数変換したからといって、MAPEを完全に最適化しているわけではない

•  Out Of Foldで⾊々試したところ、 「建物ありモデル予測値から  200,000円引く」ことで わずかな改善がみられた

対数変換の図(再掲)

Page 41: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

41スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア暫定1位のスコア推移

住所の緯度経度特徴

土地のみモデル

特徴量の増量 Seed Averaging (*10) Post Process

Page 42: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

42スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア暫定1位のスコア推移

住所の緯度経度特徴

土地のみモデル

特徴量の増量 Seed Averaging (*10) Post Process

まだ負けてるじゃん?

Page 43: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

43スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア暫定1位のスコア推移

住所の緯度経度特徴

土地のみモデル

特徴量の増量 Seed Averaging (*10) Post Process

Shake Down

Page 44: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

44スコア推移

LightGBMGroup K Foldsimpleな特徴量作成⽬的変数の対数変換⽬的関数へのFair Lossの採⽤

特徴量作成

あきやまスコア暫定1位のスコア推移

住所の緯度経度特徴

土地のみモデル

特徴量の増量 Seed Averaging (*10) Post Process

Shake Down

Page 45: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

⾃⼰紹介

SIGNATEとコンペについて

取り組み内容

まとめ

Page 46: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

46ソリューションまとめ•  特徴量

– 緯度経度情報のスクレイピング – 網羅的な特徴量作成

•  モデリング – 建物ありと⼟地のみの分離 – LightGBM(2model*5fold CV*5 seedの合計50model) – Group K Fold(同⼀現場の契約価格は似るため) – MAPE対応(対数変換, Fair Loss) – 温もりのある⼿動ハイパラチューニング

•  Post Process

Page 47: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

47⼤事だったことまとめ

•  評価指標の最適化に取り組む•  コンペの情報をよく読んで特徴に落とし込む•  多⾯的にモデル性能を評価する•  その他、Pipelineのすべての⼯程で改善箇所がない

かを深く考える

Page 48: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

Appendix

Page 49: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

49特徴量の話•  基本的な特徴量作成戦略

–  Aggregation系特徴量 – ⽬的変数への寄与度が⾼い地価等の集約対象データに対して、

最寄駅や居住市町村など特定のキーで集約して統計量(平均、最⼤、最⼩等)を算出し、特徴量とする

 例: •  物件AのあるX市の路線価の平均 •  X駅を最寄駅とする物件の公⽰地価の平均

– サンプルごとのノイズを軽減したり、カテゴリデータに情報を付加したりという効果がある

Page 50: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

50特徴量の話•  緯度経度情報を利⽤した特徴量作成

– 緯度経度情報をAggregation系特徴量作成のキーとして使う

✖︎✖︎

✖︎✖︎

✖︎

✖︎

✖︎特徴を作りたい物件から、•  その物件を中⼼とした特定距離の

同⼼円の内部にある物件の情報を集約する

•  その物件からの距離が近い順に○番⽬までの物件の情報を集約する

Page 51: SIGNATEコンペ 飯⽥産業 ⼟地の販売価格の推定 1st place …コンペについて 8 • データ: 飯 産業の埼 県の過去の販売実績データ – 現場データ:train

51Feature Importance (gain上位20個)

建物ありモデル ⼟地のみモデル