Primjena metoda rudarenja podataka na primjeru procjene kreditnog rizika – dio 2.

Rudarenje podataka

Primjena metoda rudarenja podataka na primjeru procjene kreditnog rizika – dio 2.

Nakon što smo u prvom dijelu članka definirali problem koji rješavamo putem metoda rudarenja podataka, odabrali smo podatke koji će nam pomoći da taj problem riješimo te smo odabrali varijable koje ćemo koristiti tijekom primjene različitih algoritama rudarenja podataka čije ćemo rezultate pokazati u tekstu.

Za rješavanje problema procjene kreditnog rizika koristiti ćemo dvije vrste algoritama:

  • Algoritme za klasifikaciju
  • Algoritme za klasterizaciju

Kako bismo što bolje predvidjeli varijablu CreditRisk koja definira rizik kredita te klasterirali naše sve korisnike u klastere (grupe) moramo imati odličan model. Iz donje slike je vidljivo da smo za predviđanje kreditnog rizika koristili metodu stabla odlučivanja C-RT (decision tree), neuronske mreže i Bayesove mreže te logističku regresiju. Od algoritama klasterizacije smo koristili metode TwoStep i k-Means. Razlika između TwoStep i k-Means algoritma je u tome što u TwoStep automatski pronalazi optimalan broj klastera unutar naše podataka, dok kod k-Means algoritma broj klastera moramo ručno unijeti.

Capture

Slika 1. Model rudarenja podataka

Radi jednostavnosti ćemo objasniti samo dva algoritma, u ovom slučaju stablo odlučivanja kao klasifikacijski algoritam te k-Means kao klasterizacijski algoritam.

Capture

 Slika 2. Izgled rezultata stabla odlučivanja

Stablo odlučivanja

Na gornjoj slici vidimo rezultate koje smo dobili primjenom algoritma stabla odlučivanja (C-RT) na varijabli CreditRisk. Stablo odlučivanje je jedan od najjednostavnijih algoritama za klasifikaciju podataka, ali i vizualizacijski napregledniji, međutim u složenijim situacijama od ove daje loše rezultate predviđanja. Kao što je vidljivo iz gornje slike varijabla Credit_Score najbolje previđa rizik kredita i vidimo ako je Credit_Score  manji ili jednak broju 648 onda postoji velika vjerojatnost da je korisnik visoko kreditno rizičan,  međutim ako je taj broj jednak ili veći od 648 onda je taj korisnik nisko rizičan. Cijelo stablo odlučivanje funkcionira na temelju If-then uvjeta, međutim moderni alati za rudarenje podataka će nam taj odnos vizualizacijski prikazati. Rezultati rudarenja podataka se mogu koristiti pri definiranju nekih poslovnih pravila, u ovom slučaju davanja bankarskih kredita, ali treba biti oprezan, jer rudarenje podataka neće dati odgovore na sva tražena pitanja i mora se  prvo postaviti pitanje je li zapravo model točan.

Capture

 

Slika 3. Izgled rezultata kod k-Means metode

Klasterizacija podataka (k-means)

Nakon što smo objasnili algoritam stabla odlučivanja, na gornjoj slici ćemo objasniti kako  funkcionira klasterizacijski algoritam k-Means. Na temelju danih varijabli koje smo definirali u prvom dijelu članka, odredili smo unaprijed tri klastera, a k-Means nam daje najoptimalnije rezultate. Kao što je vidljivo na slike, imamo tri klastera (crveni,plavi i sivi). Crveni klaster predstavljaju korisnici srednje kreditne rizičnosti, plavi predstavljaju jako rizične korisnike, dok  sivi klaster predstavlja nisko rizične. Moramo napomenuti da u ovom slučaju ne znamo varijablu CreditRisk odnosno kreditnu rizičnost, nego pomoću klastera pokušavamo razvrstati korisnike. Za one koji nisu upoznati s k-Means-om, on funkcionira na Euklidskoj  udaljenosti, a za one koji nisu pratili matematiku i geometriju to znači udaljenost među točkama u prostoru i putem tog principa određujemo koje točke pripadaju određenom klasteru. k-Means je odličan algoritam, međutim na velikom broju dimenzija (varijabli) nije se pokazao kao najsretnije rješenje.

Kako znamo da je model točan ?

Nakon što proveli algoritme za rudarenje podataka, moramo provjeriti njihovu točnosti, odnosno koliko se rezultati predviđanja podudaraju sa training podacima. Proces pomalo zvuči zbunjujućim, međutim na training bazi podataka algoritam uči i zatim na toj istoj bazi podataka algoritam primjenjuje naučeno znanje. Koliko je model dobar najčešće se utvrđuje putim matrice zbunjenosti (confusion matrix). Izgled matrice zbunjenosti je prikazana na donjoj slici.

Capture

Slika 4. Izgled matrice zbunjenosti

Na gornjoj slici je prikazan tipična matrica zbunjenosti za naš model. Primjerice vidimo da je za rizik Visoki predviđeno točno 100 slučajeva dok je 8 krivo predviđeno. Točnost modela smo izračunali tako da smo zbrojili brojeve po dijagonali (100+200+120+250) i taj broj podijelili s brojem slučajeva 747 i taj broj pomnožimo sa sto kako bismo dobili postotak. Točnost modela  je otprilike oko 90%, što je u praksi odličan postotak. Međutim, nitko nam ne garantira da će ovaj isti model raditi za testnim podacima, jer ovaj model radi odlično samo na training podacima. Postoje različite tehnike kako riješiti ovaj problem, međutim o tome u nekom drugom članku.

O etičnosti 

Da li je etično donositi odluke i odlučivati o ljudskoj sudbini na temelju podataka? Sve ovisi o kojim podacima pričamo. Ukoliko pričamo o nekim osobnim podacima, primjerice je li korisnik mlad ili star, ima djecu ili ne ili korisnik ima crveno ili plavo auto, onda je neetično donositi odluke nad takvim podacima, međutim opravdano je donositi odluke na temelju podataka o financijskoj solventnosti. Međutim, sva ograničenja su propisana u europskim zakonima i pravima ljudi.

Baze podataka

Ukoliko želite provesti rudarenje podataka nad podacima koje mi koristimo u ovom primjeru, to uvik možete napraviti tako da skinete training i test bazu, te neki od open source alata za rudarenje podataka (KNIME RapidMiner).