未来のタクシー需要を先読みしよう!
gyogyocat
はじめにコンペの開催ありがとうございます。私は普段、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週間はほぼ何もできずに終わってしまいました。ズレの要因に関して知見のある方いらっしゃれば、教えていただけますと幸いです。