LoginSignup
7

【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

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
What you can do with signing up
7