【データコンペ】河川の水位予測どんな内容だったか
Nishika不動産価格予測に続いて、次はSignateに挑戦しました。
Note記載時点でまだ終わってないですが、
もう大抵やりきったので、どんなコンペだったのか?から書いていきます。
1. なぜSignate?
不動産コンペは定期コンペだったので今回は実際に動いているコンペに
参加したいという意図で探した結果「河川の水位予測」を選びました。
最初はKaggleから始めて「OTTOの商品レコメンド」的なコンペで投稿もしたのですが、コンペ内容があまり仕事に繋がるイメージもなく、他もテーマがマニアック過ぎたので止めました。
Nishikaに戻ろうとも思ったのですが、
せっかくなので別のコンペサイトをやってみたいと思って、
探していたところ面白そうなテーマなのでこれにしました。
2. どんなコンペ?
2.1 コンペ内容
広島県にある川の水位を予測するコンペです。
各日の水位を1時間毎に予測する内容になっています。
データは日×時間×観測所でユニークになっている。
観測所というのは、川の水位を測っている地点で、
同じ川でも当然どの位置かで数値が変わってきます。
与えられているデータとしては水位の他に、
雨量・潮位もあり説明変数として加えることが出来るようになっています。
2.2 提出物
かなり面食らったのがこのコンペの提出形式でした。
モデル・データ・予測するPythonファイルをZip化して提出する形式。
Nishikaは予測ファイルをCSVで提出すれば良かったので、
とても分かりやすかったのですが・・。
指定名のClass method・関数名で記載しなければならず、まずここの理解に時間を取られました。
要するに、提出したファイルが投稿先のDocker環境でキックされて、run.pyというファイル内で提出したPredictor.pyというファイルが実行される。
この形式はデータコンペ界全体でレアなのかよくあるのだろうか・・?
実行環境やrunの読み込みからしなければならず、
提出形式は事前に要チェックだと思いました。(覚悟の上なら良いのですが)
3. 特徴量生成の観点
といった提出時点の壁もありつつ、
精度を上げるための特徴量生成で持っていた仮説は以下。
・同河川上流観測点の前日水位
同じ川に所属している観測点同士は確実に相関しているだろう
同じ川の最上流を1として、下流に行くほど1ずつインクリメントする変数を作る
・海岸からの距離と潮位
観測点から直近の潮位が一律で影響を与えているとは考えにくく、海岸からの距離との相乗効果がありそう
・同一河川域の雨量
観測点付近のみでなく、上流の雨量なども影響して良そう (下流は流石に関係ない?)
・観測地周辺の気象情報
気温や風向きなども影響する?
ざっとこんな感じ。基本は雨量や潮位を使っていく。
ただ各観測所がバラバラなので、紐づけるロジックが必要になる。
雨量だけやったのでその辺を別Noteで振り返りながら紹介したいと思う。