Nishika株式会社が主催「生鮮野菜の価格予測」コンペに参加しました。本記事で私の取り組みの共有と振り返りをしたいと思います。
コンペ概要
- 本コンペでは、東京都中央卸売市場日報および気象庁よりNishikaにて収集・加工し作成したデータを用いて、過去実績の市場データや天気情報から将来の各野菜の日次卸売価格を予測することをテーマとします。
- 予測対象となる各野菜の日次卸売価格は、RMSPEで評価されました。RMSPEは、予測データ数$n$、真の値$y_i$、予測値$𝑦̂_𝑖$に対して以下の計算式にて算出されます。
RMSPE = 100\left(\dfrac {1}{N}\sum ^{N}_{i=1}\left( \frac{\widehat {y_{i}}- y_{i} }{y_{i}}\right)^2\right)^{\frac{1}{2}}
コンペ結果
データ
解法
モデリングにあたって
- 価格は多少の急騰はあるかもしれませんが、基本直近の価格±αくらいで推移しそう。
- 野菜によって価格のレンジが大きく異なるため、種類ごとにモデルを作成した方が良さそう。
- 季節で価格が異なるため、学習期間は検証期間と同一の季節/期間で採用した方が良さそう。
モデルの構成
前処理
- 予測対象の
mode_price
の過去実績値、天気情報の指数平滑移動平均を特徴量として採用しました。 - 学習させる
mode_price
は、最新のデータの平均値±2SDでクリッピングしています。
パラメータの決定方法
- 野菜の種類ごとにベイズ最適化を用いて決定しました。
- 最適化するパラメータは、Lightgbmのハイパーパラメータと学習させる期間の2種類です。
学習させる期間は、何年分遡るか、前後何ヶ月分を参照するかの組み合わせで考えています。図は、2年分遡り、前後2ヶ月を参照する場合の各データの関係を表しています。
おわりに
- 運営の皆さま、参加者の皆さま、ありがとうございました。
- 学習期間も最適化するパラメータとして扱ったことが、特に精度向上に繋がったと思います。