😊

Kaggle Enefit - Predict Energy Behavior of Prosumers コンペ に挑戦

2024/05/05に公開

イントロダクション

こちらに続いて、kaggleコンペに挑戦します。
https://zenn.dev/zizo_kuma/articles/fc23d331939cee

やること

KaggleのEnefit - Predict Energy Behavior of Prosumers コンペに挑戦します!
挑戦というより、変わった方法を試してみます😅

コンペについて

概要(DeepL)

このコンペティションの目的は、エネルギー不均衡コストを削減するために、プロシューマーのエネルギー予測モデルを作成することである。

このコンペティションの目的は、エネルギー・インバランスの問題に取り組むことである。エネルギーの消費と発電の両方を行うプロシューマーは、エネルギー・インバランスの大部分を占めている。消費者全体のごく一部であるにもかかわらず、彼らの予測不可能なエネルギー使用は、エネルギー会社にとってロジスティクスと財務上の問題を引き起こしている。

説明(DeepL)

プロシューマーの数は急速に増加しており、エネルギー不均衡とそのコスト上昇の問題を解決することは極めて重要である。この問題を放置すれば、運用コストの増大、送電網の不安定化、エネルギー資源の非効率な利用につながる可能性がある。この問題が効果的に解決されれば、インバランス・コストを大幅に削減し、送電網の信頼性を向上させ、プロシューマーのエネルギーシステムへの統合をより効率的かつ持続可能なものにすることができる。さらに、エネルギー行動が適切に管理されることを知ることで、より多くの消費者がプロシューマーになる動機付けとなり、再生可能エネルギーの生産と利用が促進される可能性もある。

提出期限後のタイムライン

2024年1月31日の提出期限後、リーダーボードは定期的に更新され、最新のデータで再評価されます。
2024年4月30日の最終評価までに1~3回の更新されます。

活動

上にコンペの概要、説明について、いろいろ記載しましたが、実は今回の取り組みには一切関係がありません。それはなぜかと言いますと、今回は高得点のパブリックノートブックで、どれだけ戦えるのかを試してみることにしたからです。パブリックノートブックをそのまま提出して運よくメダルを取れることがあると目にすることが度々あったので(私も1度あります、、)その作戦を試してみようかと思います。かなり邪道ですが、、やってみます😅

kaggleのリーダーボードは同じスコアであれば先に提出した人が上位にランクされるルールになっています。なので、良いスコアのパブリックノートブックが投稿された時に素早く検知すれば、メダルを取得できるのではないかと考えました。

kaggleには、Kaggle APIという便利なAPIが用意されており、その中の一つに、パブリックノートブックの一覧を取得できるAPIがあります。そのAPIでコンペを指定して、ソート順をスコアの良い順に指定して表示すれば、一番スコアの良いパブリックノートブックの情報を取得できます。

しかし、手動で確認していたのでは手間がかかって仕方がないですし、検知するのが遅れてしまうかもしれません。そこで、検知用のシェルスクリプトを作成して、定期的に実行することで、誰よりも早く良いスコアのパブリックノートブックが投稿されたことを検知できるようにしようと考えました!!

まず、シェルスクリプトの実行環境ですが、ローカル環境で定期実行するとPCを立ち上げっぱなしにしないと行けないので、それは流石にできないです。そこでAWSアカウントを個人で作成して、ec2の無料枠を利用することにしました。AWSのec2の無料枠に、t2.microまたはt3.microのインスタンスを12ヶ月間、無料で750時間/月使える枠があります。

ec2ではcronを設定して、シェルスクリプトを定期実行して、一番スコアの良いパブリックノートブックを定期的に取得し、ノートブックが前回取得時と比べて変わっているとslackに通知するようにしました。

そして、slackに通知が来るたびに、素早く一番スコアの良いパブリックノートブックをそのまま提出しました。

結果

今回のコンペは2024年1月31日の提出期限後、リーダーボードは定期的に更新され、最新のデータで再評価されることになっていましたので、最終的な結果が出るのは3ヶ月後の2024年4月30日に出ることになっていました。

2024年1月31日の提出期限後のリーダーボードでは、ブロンズメダル圏内に位置しており、おっ、これは行けるんじゃないか!!と期待を抱きました。

しかし、更新されるリーダーボードを定期的に確認すると、順位が降下してメダル圏内をはるかに下回る順位になっていました。。😂

kaggleはそんな甘いものではないよなと思いながら、もう一回別のコンペで試してみました。
https://zenn.dev/zizo_kuma/articles/13ba76a20da682

Discussion