kaggleのMoAコンペ、参加人数、メダル圏内scoreなどのデータ取りしてみました

Kaggle

背景

こんにちは。今期中にkaggle Expertを目指しているしぃたけです。

現在、MoAコンペに参加しており、提出期限まで残り1か月となりました。

締切が近づくにつれてLeaderBoard(以下、LB)の更新が激しくなってきているのですが、自分は今回初めてガチ参戦なのでこれからどのようにLBが更新されていくか知見がないので、日々びくびくしながら過ごしております。

そこで今回データ活用人材らしく、日ごとのLBの状況をデータ取りをして、メダル圏内のscore、順位などの状況を調査をすることにしました。

今回のコンペでメダルを取れなかったとしても、このデータがあれば今後、別のコンペに参加する際にも戦略的に活動できると思います。

まだ10日分くらいしか取れてませんが今後も更新していって、コンペ終了後にまた記事にしたいと思うので、

締め切り直前にLBが大幅に更新されるのは感覚的に知ってるけど、いつごろから動きがあるのかわからない。。。みたいな方の参考になればと思います。


その前に

MoAコンペについて

MoAコンペは、薬理学の作用機序と呼ばれる、薬が治療効果を及ぼす仕組みを解明することが目的のコンペです。(MoA概要

締切は12月1日であるのでそろそろ残り1か月となってます。

テーブル形式のデータを扱うコンペなので、自分でもとっつきやすいかと思ったのですが、教師データの説明変数が800次元以上、目的変数が200次元以上のデータテーブルであり、データの構造を理解するのが困難なコンペです。

(正直自分は細かいデータの内容を理解するのは諦めてます。)


私の進め方

上述の通り、今回が初の上位狙いのコンペなので勝手が分かっていない私は、1から自力でモデル作成をするのではなく、下記のようなヘタレな方法で取り組んでます。

  • Notebookを見て強い方のモデルを解読する
  • パラメータ変更など自分流にアレンジ
  • いくつかモデル作ったらアンサンブル

自分で書いてて悲しくなってきましたが、こんな意識低い進め方でも10/29現在で、上位3%くらいには入ってます。(世界各国の方々のつよつよの方々に感謝しかないのでい、いつか強くなって恩返しします。)

以下の記事は、こういうスタンスの人間のscoreを晒していることを前提にお考え下さい。



本題

取得しているデータ

自分は下記のようなフォーマットでデータを取得しております。(エクセル管理です。)

白色の部分を1日1回入力して、薄黄色の部分は自動で計算される仕様です。

なお、データの取得はその日の夜(10時前後)の適当な時間をサンプリングしてます。(なお、酒に酔って寝落ちした場合は次の日の朝一のデータをサンプリングするものとする。)

手動で取得しているデータは下記のとおりです。

  • 自分のその日のscore、順位
  • メダル圏内のscore
  • ベンチマーク(データ取り当初のscore)の順位
  • コンペの参加人数
  • その他(コンペ内での変化点などをメモする)

ベンチマークのデータとか、よくわからんものについては後から説明してます。


自分のscoreとメダル圏内のボーダーscoreの関係

まずは、自分のscoreとメダル圏内のscoreの関係をグラフ化したものが下記です。ちなみにscoreの値はlog_lossなので値が低いほど精度が高いと考えてください。

cpptakeのscoreとメダル圏内scoreの推移

最近LBの更新が早くなったかなーと感じていたのですが、グラフ化すると一目瞭然。

10月25日くらいまではメダル圏内のscoreに動きは少なかったのですが、ここ4,5日(25日以降)でメダル圏内となるボーダーのscoreが1日ごとに更新されています。

残りコンペ終了まで残り1か月となったので、ガチ勢の方々が本気を出し始めたのかと考えられます。今は少しの変化しかありませんがこれから締切が迫るたびにscoreの更新も激しくなっていくと予想されるので経過は追って報告します。

自分の順位とメダル圏内のボーダー順位の関係

次に、順位とメダル圏内順位の関係です。

cpptakeの順位とメダル圏内順位の推移

このグラフから読み取れることとして当然の事ですが、メダル圏内の順位もボーダーも右肩上がりで増えていっています。

銅メダルは上位10%、銀メダルは上位5%以内の順位であるので当然ですが、コンペの新規参加者は締切が迫るほど少なくなっていくのではないかと考えられるので、しばらくするとボーダーの順位は収束するのではないでしょうか。こちらもデータ積みながら後程結果は記事にしたいと思います。



参考までに、MoAコンペの参加者の推移が下記になっています。

10月29日まででは、直線的に参加者が増えているのがわかります。(1日の平均増加人数は50人程度でした。)

この傾向はどこまで続くのか、ウォッチし続けさせていただきます。

MoAコンペ参加人数推移


BMのscoreの今後のランキング推移の考察

最後におまけで、kaggleのLBのランク(上位何%か)がほったらかしにしたら、どういう落ち方をするか仮説を立てたので載せておきます。

下記に示すのが、データ取りを始めて最初1週間の自分のLBのランクの推移を示したものです。なお、この時期は1週間ほどkaggleさぼっていてscoreはほとんど更新されていませんでした。

この1週間は自分のLBランクの推移は線形に落ちていっていることがわかります。(R^2 = 0.9155)

傾きは、0.0023なので、1日に上位0.23%ずつランキングが落ちていくということです。

仮にこの線形モデルの通りにこれからもランキングの下降が続くとすると、ここから1週間(11/1)に銀圏内から脱落し、ここから1か月(11/25)に銅圏内から脱落するという仮説が立てられます。

この仮説がどれだけ正しいか興味があるので、この当時のscore(0.01840)の順位も日々記録して、この仮説の検証を実施していきたいと思います。

おそらくこれからガチ勢の方々が本格参戦されるので、線形にはならないのでしょうがどのくらいの期間放置してもOKなのかの指標にはなるかと思うのででデータ取りは続けていきます。

これからすること

上記のデータをMoAの締切まで集め続けて、コンペ中盤と終盤でLBにどのような変化がみられるか観察し続けたいと思います。

MoA終わったら取得したデータを公開して考察していこうと思うので、興味あったら見ていただければ幸いです。



コメント

タイトルとURLをコピーしました