LoginSignup
7
7

More than 1 year has passed since last update.

【FDUA】初学者大学生の第一回金融データ活用チャレンジ奮闘記

Last updated at Posted at 2023-02-19

データサイエンティストを目指している大学3年生です!
初めて本格的にコンペに挑んでいるということで、少し記事を書いてみることにしました。

行き詰まってしまった人、詳しい中身がわからない人が、少しでもスコア改善につながれば嬉しいです。

この記事の執筆者について

  • 統計検定2級(優秀成績賞)
  • 統計検定準1級(最優秀成績賞)
  • DS検定合格
  • 簿記3級合格
  • Flaskによるアプリ開発

全て2022年から始めて、秋までに取りました。機械学習の勉強はその秋から始め、今に至るといった感じです。(なのでまだ十分初学者)

どんなコンペか

金融データ活用推進協会(FDUA)が主催する、本邦初の超実践プログラムらしい。

コンペの内容は、要約すると「ある月のある住宅ローン契約者の属性や銀行口座情報などを元に、その人が3ヶ月後から連続して延滞するかどうかを予測する」もの。

他の特徴をまとめると、

  • 評価指標はAUC
  • データは実務経験に近い人工的な時系列データ
  • 配布データ以外の利用は禁止
  • テストデータが訓練データの翌月になっている
  • 不均衡データ
  • チュートリアルがめちゃくちゃしっかりしてる

やや特殊ではあるが、データが比較的綺麗でしっかりしたチュートリアル付きなので割と初心者でも取り組みやすいと思う。

ちなみに、以前参加したこのコンペの表記揺らぎや欠損処理が大変すぎて、これとは比べ物にならないくらい。

今の状況

  • スコアは0.93ほど。0.94の壁を越えられず、悩んでいる
  • 頑張って特徴量作って提出→スコア低下を繰り返し、沼にハマってる
  • 上位の人たちのスコアが0.99を超えていて力の差を痛感してる

今までの奮闘記

2/2に期末試験が終わり、そこから本格参入。
初めにつまづいたのは環境構築。Databricks環境は初めて触ったので混乱した。

チュートリアルファイルや公式Slack チャンネルのやり取りを参考に、なんとか突破。

チュートリアル

今回のコンペはチュートリアルがしっかりしているので、(しっかりしすぎている)チュートリアルを全て終えると評価は0.896くらいを出せる。

image.png

(先生から言われた通りに勉強したら90点近くも取らせてくれるなんて、優しいなあ〜)なんて思ってた。(甘い)

チュートリアルにあった手法について、いくつか参考サイトを紹介します。

umapについて
一言で言うなら「高次元のデータを二次元や三次元データに落とし込んで可視化する」です。
今回はデフォルトで46もの変数があるので、46次元データを2次元データにしていると言えます。

t-SNEの読み方が「てぃーすにー」だと知った瞬間、推しになりました。

LightGBMについて
機械学習の中では最強と言われます。ざっくり言えば、決定木の集合ですが、詳しい説明は本当にわかりやすいこの方のブログに譲ります。

このブログの筆者である米国データサイエンティストのかめさんは本当にわかりやすいです。超おすすめです。

動画でざっくり理解したい方はこちら

不均衡データの処理について
中間イベントでも触れられていましたが、不均衡データの処理はかなり重要だと思います。

不均衡データへの対策がコード付きでいくつか載っています

交差検証(CV)について
時系列データなので、検証用データの選び方にも注意が必要です。
訓練データの中には、効果を検証したいデータより未来のものがあってはいけません。

このブログは図もついていてわかりやすいです。初めて交差検証を勉強する時、図を書かないと混乱するので、この記事はおすすめです。

チュートリアル後

チュートリアルを終えた後は、チュートリアルの最後に書いてあった、「エルボー法とk-meansを用いたクラスタリング」に挑戦。
参考にしたサイトはこれ。

ここまでやると他の参加者の人が記事を上げていたので、それを参考にすることにした。

ここまでに参考にした記事

始めて参加しているので、正直自分1人で進み続けるのは辛い。
なのでとてもありがたいです:relaxed:

  1. 【FDUA】第一回 金融データ活用チャレンジの戦い方を考える
    正直、一番参考になったかもしれない。コードもついててとても良い。

  1. 【FDUA】第一回 金融データ活用チャレンジをやってみている
    AutoMLを使って特徴量エンジニアリングに集中しているらしい。その手があったとは・・・となった。

  1. SIGNATE 金融データ活用チャレンジ ~Databricks編~
    Databricksについてが特に詳しく書かれている。コードもあってよき。

ここからやりたいこと

まずは0.94の壁を突破したい。
コンペの規約で詳しい中身は書けないけれど、あの有名なKaggle本1によれば、「スコアを最も効率よく伸ばす方法は良い特徴量を見つけること」らしいので、どんどん特徴量探索をしていきたい。

実務経験どころか人生経験が少ないので住宅ローンのイメージすらよくわからなくて大変だけど。笑

でも春休みだし、時間と元気は負けないのでがんばる。メダル欲しい。。。

最後に

自分がこれまでデータサイエンスを勉強する上で参考にしたもの

まだ機械学習を勉強し始めて半年も経たないくらいですが、今まで触れた教材や良いものを紹介します。

  1. 東大Python
    無料。Pythonの基礎が全てまとまっています。Pythonの文法に不安がある方はこちらから。
    https://utokyo-ipp.github.io/index.html

  2. 東工大機械学習帳
    無料。コード・理論付きで回帰から主成分分析などまで、幅広く学べます。
    https://chokkan.github.io/mlnote/index.html

  3. Kaggleで勝つデータ分析の技術
    説明不要、超有名なあのKaggle本。Kaggleのためだけでなく、実務で生きることも書かれている。必携の書らしい。
    https://amzn.to/3xR2FCJ

  4. Python実践データ分析100本ノック
    データ分析に特化した100本ノック本。最適化や自然言語処理も少し扱っているので、幅広い感じ。
    https://amzn.to/3SbZY7K

  5. データ分析100本ノック(データサイエンス協会)
    無料。データの前処理だけを扱う100本ノック。Python, R, SQLそれぞれ問題がある。
    https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess

自分が所属するDSLについて

自分はデータ分析特化型学生団体、DSLに所属しています。

単なる学生団体ではなく、データ分析に興味のある学生が慶應義塾大学、東京理科大学、日本大学を中心に集まり、日々イベント開催や参加、勉強会の実施を行なっており、総勢70名以上が活動しています。

DSLが主催した輪読会では、ゼロから作るPython機械学習を使用し、中学生から社会人の方まで幅広く参加していただきました。

やる気があればスキルや出身は問わないので、興味を持ってくださった方は、ぜひ一度Twitterから連絡をお願いします!
twitter→@DSL_Tw

  1. https://amzn.to/3k1RFPz

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7