3ヶ月弱で分析コンペメダル2つ獲得🥈🥉

専門的な内容

こんにちは。まさみです。

ここ数ヶ月ブログの更新を怠っていてすみません。。。

ここ数ヶ月は本業では今のうちに営業の経験ももっと積んでいこうと思い、今では1人で全国各地ピョンピョンとしています🚄🚄(なぜ営業経験を積んでおきたかったのかなど、そこら辺の話も今度また書きますね)

そんな感じで本業が忙しかったというのもありますが、なによりここ数ヶ月はブログの時間を削って分析のコンペに参加しておりました。

2つのコンペに参加して、そこで銀メダル🥈と銅メダル🥉獲得したので、その話について今回はお話しします!

解法とか技術的な部分はあまり触れない予定です。どちらかと言うと、どのくらい時間使っていたのか。参加した感想など、そこら辺を話そうと思っております。

スポンサーリンク

参加したコンペ概要

SIGNATE ソニーグループ合同 データ分析コンペティション


1つ目のメダルは、SIGNATEで開催されたこちらのコンペで取得しました。

ソニーグループ合同 データ分析コンペティション(for Recruiting) | SIGNATE - Data Science Competition

コンペ概要

  • 目的
    • 世界各地の都市の大気観測データや気象情報を用いて、特定の都市の都市の日次のPM2.5濃度を予測すること
  • 期間
    • 2022/4/13 ~ 2022/6/2
  • 目的変数
    • PM2.5濃度(1日の中央値)
  • 説明変数
    • 年月日、国名、都市名、緯度、経度
    • 大気物質濃度(CO,O3,SO2,NO2)と気象情報(気温、湿度、気圧、風速、露点温度)の統計量(観測回数、最小値、中央値、最大値、分散)
    • 上記以外でも誰でも無料で取得可能なデータに限って利用可能
  • 順位
    • 80位(参加者835人)
    • 銅メダル🥉

SIGNATEは学生用コンペなども開催しているので、学生の参加者もも若干多かった気がします。上位陣はプロフィール見るとやはり会社で分析業務に従事している人が多かったですね。。。

80位でも銅メダル貰えるんだって結構驚きだったんですが、コンペの参加者でメダル獲得順位が決まり、今回は100位まで貰えたっぽいです。

20位まで商品としてSONY製品が貰えるコンペで、狙ってたのですがまだまだでした😇😇😇

Nishika 生鮮野菜の価格予測


2つ目のメダルは、Nishikaで開催されたこちらのコンペで取得しました。

403 Forbidden

コンペ概要

  • 目的
    • 2022年5月に大田市場にて相対取引された各野菜の日次の卸売価格を予測すること
  • 期間
    • 2022/7/? ~ 2022/08/02
  • 目的変数
    • 相対取引の卸売価格
  • 説明変数
    • 上記以外でも誰でも無料で取得可能なデータに限って利用可能
  • 順位
    • 11位(参加者961人)
    • 銀メダル🥈
    • ※こちらは投稿していない人も含まれるはずなので、実際の参加者はSIGNATEのコンペより少ないはず

NishikaはSIGNATEより会社の設立も2年ほど遅く、知名度やコンペの質、レベルもSIGNATEと比較すると若干低いと聞きます。

最終順位確定する直前は40位くらいだったので、確定したら11位まで上がっていたのでラッキーでした笑

10位の人と誤差レベルの違いでした。。。10位以内で金メダルだったので悔しいですね〜😭😭

また、このコンペ実は開催中でも答えが見えてしまうという問題もありました。。。

スポンサーリンク

コンペ期間の振り返り(感想)

SIGNATE ソニーグループ合同 データ分析コンペティション

土日に4,5時間くらいと平日も1,2時間使っていたので、コンペに40,50時間くらいは使ったんじゃないですかね。。初SIGNATEでしたがとても楽しめました!

結果は80位だった訳ですが、1番悔しかったのが5位くらいの人と作成した特徴量はほとんど同じで、モデルのパラメタだけが全然違ったことですかね。。。

決定木はパラメタのチューニングであまり差が出ないと聞いていたので、初期値を使っていたのですが、コンペ後にチューニングしてみたら、15位くらいのスコアになったのでかなり後悔しました😭😭

kaggleだと上位陣は決定木とかはメインとしては使っていないのですが、今回のコンペは上位陣は基本的に決定木使ってましたね。。

僕もLSTMとか、ニューラルネットワークも試してみたのですが、うまくいかず結局メインとして決定木を選択しました。中々、脱決定木が出来ず😇
誰も使っていないのでこのコンペとして決定木が向いていたのか、単に使い方が悪いのかが分からないのがちょっともどかしい。。。そこら辺をもう少し明確に出来ればもう少し色々なことが出来るようになる気がするのだが。。。

Nishika 生鮮野菜の価格予測

結構本業も出張で忙しかったりしましたが、合計30時間くらいは費やしたと思います。

このコンペ実は前月と過去2年の同月の予測値をうまく組み合わせただけで、機械学習とかを使わずに4位取っている人がいて。。。笑

403 Forbidden

機械学習とか使うことばかり考えてデータ見るの疎かにしては駄目だなと改めて思いましたね

評価用データを作るのがかなり難しかったというか、結局うまく出来ませんでした。そのため、自分で評価用データを作成してそれをもとに算出したスコアと、提出して結果データをもとに算出されるスコアが全然違くて。。。最終順位がどうなるかはちょっと博打でした😅😅

僕は偶々かなり上がりましたが、かなり下がった人もいたようです。

とにかく11位という中々の高順位を出せて良かったです🙌

コンペ参加の勧め

よくネットで調べて、見るのは以下のようなメリットがあると聞きます。

  • 就活、副業で有利
    • 応募条件見るとコンペでの受賞歴とか書いてあることもあります
  • 勉強になる
    • 入賞者の解法とかは勉強にはなります
    • 自分で手を動かして機械学習のモデルを組む経験が積めます
  • 友達が出来る
    • コンペにはチーム機能などがあります
  • 時間潰し
    • 休日を1日潰すことも出来ちゃいいます笑

正直、就活や副業やらコンペの恩恵はそこまで受けていないので分かりませんが、勉強にはなっています。

コンペに参加せずとも、コードを見るだけでも勉強になるのですが、自分で手を動かさないと他の人が何故そういうやり方をしているのかとか詳細な部分が分からないので、実際に参加して自分で色々試してみることが大事な気がします。(もちろん実際に自分で手を動かす分、エラーを直してばかりで先に進まないなど面倒なことも最初は多々あります。。。)

コンペの違い

僕が参加したことあるのが、kaggle、SIGNATE、Nishikaだけなのでその3つについて比較すると、kaggleの方が断然勉強になりますが、SIGNATE、Nishikaの方が自力で競えるので面白かったです。

kaggleは国外の参加者も沢山いますし、新しいモデルを使った解法も沢山使われて、コンペ中の議論も盛んです。

kaggleでは、コンペ期間中でも上位陣が自分のコードを公開するため、一気にベースラインが上がるんですよね。。。例えば、僕が頑張って100位くらいに付けていたとして、30位くらいの人がコードを公開すると、数日後には、一気に200,300位位まで普通に落ちます。それが結構萎えてしまうんですよね😅

なので上位陣の解放とかを常に取り入れながら、自分のアレンジを加えたりして戦っていかないといけないんですが。。。競争力が高いですし、公開されたコードが理解出来ないとどうアレンジして良いかも分からないといったお手上げ状態になったりします。笑

その点、SIGNATE、Nishikaはまだ競争力も高くないですし、上位陣がいきなり自分のコードを公開するなんてこともないので、比較的自分のペースで戦っていけます。

コンペ参加自体面白いですが、面白いと言ってもやっぱり結果出ないと長続きしないですし。。。その点で、SIGNATEやNishikaをやるのが個人的にはお勧めです。

コメント

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