タクシー需要予測

未来のタクシー需要を先読みしよう!

賞金: 100,000 参加ユーザー数: 268 4ヶ月前に終了

6th Place Solution(概要)

はじめに
コンペの開催ありがとうございます。
私は普段、R言語のTydymodelsを用いてコンペに参加しています。
今回もローカルのRで解析をやり始めました、
メモリ上限を超えてしまいクラッシュを繰り返したため、グーグルコラボでやってみよう!と環境をかえてみたのですが、Pythonの方がやりやすそうだったため、初めてPythonを使いました。

そのような状況でしたので、Pythonのコーディングスキル不足のため、他の方の投稿を参考に前処理を追加、複数モデルを構築してアンサンブルをしました。
(大変勉強になりました。ありがとうございます。

   

参考にした投稿
magichanさんの「LightGBM Baseline (LB: 22.54002)」
 
 
追加した前処理、モデル
●前処理の工夫
 ・夜の時間帯、早朝の特定の時間帯について、利用客数を可視化すると顕著に差異があったため、
  特定の時間帯を表現するダミー変数を追加
 ・季節でタクシーの使い方も変わるだろうという考えで、予測期間のうち冬の期間についてダミーを作成
 ・AmPmのダミーを追加
 ・月の第何週かを識別する変数を追加
 ・カテゴリ変数11種に対して、ターゲットエンコーディング(平均値・中央値・最大値・最小値・標準偏差)を実施
 
●モデル作成など
 ・LIGHTGBM:publicを見ながらハイパラを調整
 ・カテゴリ変数がそれなりにあったため、CATBOOSTでも推定
 ・ハイパラや説明変数を数種類の組み合わせで実行し、スコアの良かった両者のモデルの推定結果をアンサンブル

 
効果がなかったこと
・モデル:ARIMAで時系列モデル化→→→初期に検討したが、スコア悪く断念
・説明変数
 ①階差⇒何水準か追加したが、グーグルコラボでもメモリクラッシュが起きるので、途中で断念
 ②地理データ⇒緯度経度をプロットして可視化してみると、街中だったり飲食店の密集地だったり、学校や空港だったりと、タクシーの利用シーンが異なると考え、場所を表す説明変数を加えたが、効果がなかった。
 ③天候⇒急に雨が降ればタクシーを使うだろうと考え、「その瞬間雨が振っている」、「直前に雨が振っていた」などの変数を追加したが、改善しなかった。

 
 
個人的な困り事
Pythonでそれなりのスコアがでたので、R言語でもりもりやっていこうとPythonコードをRのTidymodelsに書き換えてLightGBM(bonsaiパッケージ)で実行したところ、同じデータ・同じハイパラやシードでも、推定結果がかなりズレる(Rだとかなりスコアが悪い)アウトプットとなり、現在原因を究明中です。
 
実はこの検証に時間を要したため、最後の2週間はほぼ何もできずに終わってしまいました。
ズレの要因に関して知見のある方いらっしゃれば、教えていただけますと幸いです。

Favicon
new user
コメントするには 新規登録 もしくは ログイン が必要です。