データサイエンス勉強会がFDUA主催第2回金融データ活用チャレンジに参加
データサイエンス・コモンズルームと共同で毎週開催している勉強会[1]の学生達が、金融データ活用推進協会(FDUA)によって開催された第2回金融データ活用チャレンジに参加しました。課題は、米国小企業庁のデータをもとに生成した人工データに対して、企業向けローンの返済可否を予測し、Macro-F1スコアを競うというものでした。このチャレンジでは、Trainデータの入力列と正しい出力列が公開されており、それを用いてモデルを構築します。このモデルに基づいて公開されているTestデータの入力列から、予測された出力列を得て提出を行います。そして、チャレンジ運営側がMacro-F1スコアを計算することで順位付けを行います。
勉強会チームは提供された複数の製品版/オープンソースのAutoMLを用いた分析だけではなく、コード実装を含む色々な分析やモデル構築をも行いました。分析の際には、各特徴の相関や金融知識に基づく特徴量作成に加え、人工的にデータを生成する際にいくつかの特徴が失われていると仮説も立て検証を行いました。たとえば、コロナの影響等など時間変化の様子は見えないものの、地理的特徴や、月ごとの季節性、産業間の近さについては有用そうだということを確認しました。
具体的な特徴量作成の例としては、貸主の住所都市名と、借主の住所都市名それぞれについてジオエンコーディングを行い、緯度経度もしくは後述の複数モデルに合わせてGeoHashへの変換を行いました。特に違う州の銀行に対して借りに行っている場合、地元の銀行からの融資が断られていることが間接的に見えているためか、貸主と借主の位置情報はスコアに寄与しているようでした。また、外部データとして産業連関表に基づくGNNを使った有向グラフ埋め込みによって、産業間の近さも特徴に含めました。
さらに、州ごとに異なる特徴を考慮するために、特徴量カウントエンコーディングを行い、データの分布のバランスを取るためにオーバーサンプリングを実施しました。具体的には、SMOTE、SMOTETomek、SMOTEENといった手法を試し、最終的にCTGANが最良の結果をもたらしました。CTGANは生成する特徴量ごとに値の分布や特性を考えて微調整しないとうまく学習できませんでしたが、最終的には非常に良い結果を得ることができました。これにより、この人工データ自体がCTGANのような手法で生成されたのではないかと推察されました。
また、カテゴリカルデータに対してはクロスバリデーションを用いたターゲットエンコーディングを実施し、多くのカテゴリを持つ特徴や地理的データ(経度・緯度)に対しても同様のアプローチを取りました。数値データについてはカウントエンコーディングやランクエンコーディングを行い、クラスウェイトの調整や強力な正則化を施しました。
モデルとしては、CatBoost、XGBoost、LightGBMといった定番のモデルだけでなく、AutoMLによって最良とされた古典的な判別分析の一種であるQDA(Quadratic Discriminant Analysis)や、カテゴリカルデータに強いCatBoost、ニューラルネットワークも使用しました。また、それらのモデルをスタッキングアンサンブルによって統合することで、さらに精度を向上させました。最終的にはCatBoostが最良の結果をもたらしました。また、Dataikuのアンサンブルを利用してモデルの精度を向上させました。
表彰台には届きませんでしたが、ランキング的にはブロンズメダルまでたどり着きました。反省点としては、手をつけ始めるのに時間がかかり、最後のハイパーパラメータチューニングがあまりできなかったことが挙げられます。勉強会ではコンペ以外にもFDUAで開かれた勉強会等のイベント(下図)に参加したりと楽しくワイワイ金融データサイエンスについて学んでいます。
[1] データサイエンス勉強会のお知らせ