ただのペンギンぶろぐ

データサイエンティストを目指す方に金融界隈のデータサイエンスに関わるお仕事の状況をなるべくわかりやすく整理した情報をお伝えするブログ

データサイエンティストの素養とKaggle

前回のテーマは金融系データサイエンス案件としてどのようなものがあるかということをご紹介しました。今回のテーマはじゃあどのようにデータサイエンティストの素養を身につけるかということをご紹介したいと思います。ただ一点ご認識していただきたいのは私の考えだけが正解というわけではなく、こういう考え方もあるんだなと思って頂ければ幸いです。新卒の学生さんは最近データサイエンス専門の専攻が出てくる*1などのデータサイエンス特化型の教育の他、統計・情報系の学部を出ていれば、専門の企業や事業会社のデータ分析系部署に配属されることが想定されますが、現在働いている方は今の仕事からの派生・職種転換になります。




データサイエンティストの登竜門

そのような場合にどのようなスキルがあるかを示す必要があるのですが、大学での専攻などのバックグラウンドの他、現時点でどれくらい通用するのかということを示すことが最も大切ではないかと思います。(もちろん学生でも実践スキルを試す場があれば嬉しいと思います。)
データサイエンティストを目指す方は一度は聞いたことがあるかもしれませんが、データサイエンティストとしての力量を示したり、ブラッシュアップするためのプラットフォームとしてKaggleというものがあります。

Kaggleとは?

f:id:findatas:20200129000111p:plain
Kaggleとはデータ分析のコンペティションサイトです。と言ってもあくまで私の認識の上での話ですので、ウィキペディア先生の解説を見てみましょう(丸投げ)

Kaggleは企業や研究者がデータを投稿し、世界中の統計家やデータ分析家がその最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォーム及びその運営会社である。
(中略)
課題投稿者はデータ及び当該課題の説明が必須である。Kaggle社は、課題作成の支援、課題構成作成、データの匿名化、当該課題への最適モデルの運用などのコンサルティングを担当する。
参加する回答者は多様な手法を試し、最適モデル構築を目指し競い合う。大抵は投稿結果が即座に(秘匿化した課題に対する提出モデルの予測精度に基づき)採点され、上位順に掲載される。
期限後、課題投稿者が提出モデルの使用にあたり永続的に取消不能である無償利用権(その中には、開発したアルゴリズム、ソフトウェア及び関連知的財産権が含まれ、"特に断りのない限り包括的"に有効。[3])に同意した回答者に賞金を支払う。
公開課題の他、ヘビーユーザーや大学団体[4]など参加者を限定した課題も提供している。

(引用元:Kaggle - Wikipedia)

つまり、データサイエンティストは自分の腕試しや能力を示す場であり、企業としてはそのような才能を見つける場でもあるのです。
私個人としても、腕試しや金融がどのような課題を方向性として持っているのか知るための場として活用しております。

位置づけ

とは言っても、このコンペを開催する企業はあくまでも出しやすい、かつ出しても機密上問題のない課題を出すため実務の現場で行われる内容とは微妙に異なることが予想されます。たとえば「実務では機密情報をマスキングするための前処理が必要でもっと煩雑な処理をしなくてはいけない」であったり、「自社外のデータで有効なものは契約の関係で出していないため限られたデータでコンペに挑まなければならない」といった具合です。次節では、前回のカオスマップ*2で予告した銀行系テーマの例として住宅ローンのデフォルトに関する予測モデルのコンペを引き合いに出して、簡単な流れを説明します。

簡単な入門事例(Homeloan)

Home Credit Groupという金融機関がKaggle上で提供しているコンペを実際に見てみましょう。以下のKaggleのURLにアクセスしてください。



www.kaggle.com



以下のような画面が出てくると思います。
f:id:findatas:20200129000957p:plain

デフォルトでは左のDescriptionタブが選択されていると思います。このタブはコンペの概要を示すタブですが、このコンペの概要は前回のエントリの中における銀行系案件の貸付対象を住宅ローンに限定した内容です。(参照:金融系データサイエンティストのインデックス

その下のEvaluationタブはどのようにコンペの評価をするかということを示しています。
f:id:findatas:20200129081136p:plain

ここでは、[SK_ID_CURR]という債務者IDに対して、[TARGET]という債務不履行(デフォルト)する可能性のあるを提出して、area under the ROC curveという評価方法で評価することを示しています。

"area under the ROC curve"とは

Kaggleのこのページもウィキペディアにリンクしているため、下にリンクを載せていますが"area under the ROC curve" a.k.a AUROCとはFPRとTPRという指標の関係から精度を面積で評価する指標です。この指標を解説する前に、モデルの精度を測るための基本的な指標をご紹介します。

[引用]:Receiver operating characteristic - Wikipedia



基本的な指標FP(False Positive)
モデルでは陽性(つまりデフォルトする債務者)と判定していて、
実際にはデフォルトしないケース

TP(True Positive)
モデルでは陽性(つまりデフォルトする債務者)と判定していたが、
実際にはデフォルトしたケース

FN(False Negative)
モデルでは陰性(つまりデフォルトしない債務者)と判定していて、
実際にはデフォルトしたケース

TN(True Negative)
モデルでは陰性(つまりデフォルトしない債務者)と判定していたが、
実際にデフォルトしないケース

そして今回のコンペで精度として扱われる数値は上記の指標を用いた以下の値となります。


求めるべき指標 \begin{aligned}
TPR &= \frac{TP}{(TP+FN)} \\
FPR &= \frac{FP}{(FP+TN)}
\end{aligned}






つまり、如何にFP(優良な借り手を誤って審査で落とすこと)を発生さぜず、TP(不良な借りてを審査で落とすこと)の精度を高められるかということになります。今日のエントリは少々長くなったので、一旦ここで終わりにして、次回は実際にコンペに挑戦するための環境構築の例を踏まえて、この指標の図の解説などを紹介できればと思います。

以上です。