Áruhitel-bedőlés előrejelzése - beszámoló a BRICS 2013 adatbányászati versenyről | Dmlab

Áruhitel-bedőlés előrejelzése – beszámoló a BRICS 2013 adatbányászati versenyről

Nagy-Rácz István

2013.09.19. • olvasási idő:

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:

  1. 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.
  2. 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.
  3. 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.