Áruhitel-bedőlés előrejelzése – beszámoló a BRICS 2013 adatbányászati versenyről
Csapatunk újra jeleskedett egy nemzetközi adatbányászati versenyen.
A Nagy Gábor kollégánk (aki mellesleg tartósan benne van a világ legjobb 100 adatbányászati versenyzője között a Kaggle-ön) vezette csapat nyerte meg a Neurotech és a Pernambuco-i Egyetem által szervezett adatbányászati versenyt, ahol egy brazil bank áruhitelt felvett ügyfeleire kellett prediktív bedőlés előrejelzési modellt építeni.
A feladatkiírás szerint két problémát kellett megoldani a versenyzőknek. Az első feladatban egy klasszikus credit scoring modellt kellett építeni a csapatoknak, ahol a tanulásra a bank 2009-2010-es évi adatai álltak rendelkezésre, míg a kiértékelés a 2011-es adatokon történt meg. A feladat során tehát olyan megoldást kellett alkotni, amely robusztusan kezeli az időbeli változásokat mind a bemeneti változók értékeit, mind a célváltozó értékeinek eloszlásbeli változásait tekintve.
A második feladatban egy olyan regressziós modellt kellett alkotni, amely havi szinten képes volt megbecsülni az első feladatra adott megoldásunk hibáját: annak a százalékos arányát, hogy a modellünk által jó ügyfélnek tartott adósok közül mennyien fogják mégsem visszafizetni a hitelüket.
A versenyre 46 nemzetközi csapat regisztrált, amelyből 10 csapat adott be megoldást a versenyhez kapcsolódó leaderboardra. A versenyhez kapcsolódó konferencián végül négy csapat mutatta be részletesen megoldásait.
A mi megoldásunkban három olyan ötlet szerepelt, amely nagymértékben hozzásegített minket a győzelemhez:
- Az ügyfelekhez nagyon részletes földrajzi adat volt kapcsolva arról, hogy hol élnek és helyileg melyik bankfiókban vették fel az áruhitelt. Ez az adat azonban nagyon sok esetben nagyon rossz minőségű volt: erre egy jó példa, hogy Rio de Janeiro 128 különböző módon szerepelt az adathalmazban. Gábor Google Refine és a GeoNames-en megtalálható külső adathalmaz alapján tisztította meg ezeket a változókat.
- A változók értékkészleteinek időbeli változását és a változók értékeinek célváltozóra gyakorolt hatását figyelembe véve leszűrte a változók listáját és újabb változókat hozott létre. A végső megoldásba végül nem került be, de nagyon biztató eredményt hozott a nominális változók dummy változókká alakítása helyett alkalmazott WoE (weight of evidence) értékkel való helyettesítésük, amely információt hordozott az adott változó értékének célváltozóra gyakorolt hatásáról.
- Tanuló algoritmusnak Gradient Boosting fákat választottunk, amely működéséből adódóan képes automatikus változókiválasztásra, robusztus a túltanulással szemben és nagyon komplex összefüggések megtanulására is képes. A módszer lényege, hogy nagyon egyszerű (akár csak egy vágást tartalmazó) fákat felhasználva, iterációk mentén javítja az osztályozás hatékonyságát azáltal, hogy az előző iterációban létrejött modellek hibáját próbálja megtanulni.
A verseny kiértékelés során tartósan sikerült megkapaszkodnunk a leaderboard első helyén, mely a végső kiértékelést követően sem változott.