SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Ivan Vrančić METODE RASPOZNAVANJA UZORAKA ZA ANALIZU POSLOVNO-FINANCIJSKIH PODATAKA MAGISTARSKI RAD Zagreb, 2001. Magistarski rad izrađen je u Zavodu za elektroničke sustave i obradbu informacija, Fakulteta elektrotehnike i računarstva, Sveučilišta u Zagrebu. Mentor: Prof.dr.sc. Sven Lončarić Magistarski rad ima: 99 stranica Sadržaj 1. 2. Uvod .................................................................................................................... 1 Podaci.................................................................................................................. 7 2.1. Nastanak podataka ........................................................................................... 7 2.2. Oblik podataka potreban za analizu metodama raspoznavanja uzoraka.......... 8 2.3. Oblici podataka u financijskim institucijama ................................................ 12 2.4. Priprema ulaznih podataka i izdvajanje značajki........................................... 17 3. Metode raspoznavanja uzoraka ..................................................................... 25 3.1. Regresijske metode ........................................................................................ 25 3.1.1. Kodiranje ulaznih značajki koje nisu pravi brojevi ............................... 28 3.1.2. Tehnike odabira ulaznih značajki .......................................................... 30 3.2. Stablo odluke ................................................................................................. 32 3.2.1. Kriteriji odabira najbolje podjele........................................................... 33 3.2.2. Nedostajuće vrijednosti.......................................................................... 35 3.2.3. Složenost................................................................................................ 36 3.2.4. Kriteriji ocjenjivanja kvalitete stabla odluke ......................................... 36 3.2.5. Stabilnost ............................................................................................... 37 3.2.6. Poznate tehnike metoda stabala odluke ................................................. 37 3.2.6.1. CHAID tehnika............................................................................................. 37 3.2.6.2. BFOS tehnika ............................................................................................... 38 3.2.6.3. C4.5 i C5.0 tehnike ....................................................................................... 39 3.3. Neuronske mreže ........................................................................................... 40 3.3.1. Arhitekture neuronskih mreža ............................................................... 41 3.3.2. Proces učenja ......................................................................................... 45 3.4. Ocjenjivanje i usporedba metoda za raspoznavanje uzoraka......................... 48 4. Implementacija i eksperimentalni rezultati .................................................. 53 4.1. Metodologija analize...................................................................................... 53 4.2. Raspoloživi podaci......................................................................................... 56 4.3. Izdvajanje značajki ........................................................................................ 57 4.4. Implementacija metoda raspoznavanja uzoraka ............................................ 58 4.4.1. Definiranje ulaznih značajki .................................................................. 58 4.4.2. Uzorkovanje........................................................................................... 60 4.4.3. Podjela podataka .................................................................................... 61 4.4.4. Implementacija metode regresije ........................................................... 61 4.4.5. Implementacija metode stabla odluke.................................................... 65 4.4.6. Implementacija metode umjetnih neuronskih mreža ............................. 70 4.5. Diskusija eksperimentalnih rezultata ............................................................. 78 5. 6. Poboljšanje modela .......................................................................................... 80 Implementacija rezultata analize u poslovni proces..................................... 87 6.1. Ocjenjivanje klijenata .................................................................................... 87 6.2. Implementacija rezultata analize u poslovni proces ...................................... 89 6.3. Daljnji rad ...................................................................................................... 89 7. 8. 9. 10. 11. Zaključak.......................................................................................................... 91 Literatura ......................................................................................................... 93 Dodatak A: Sažetak ......................................................................................... 97 Dodatak B: Summary...................................................................................... 98 Dodatak C: Životopis....................................................................................... 99 1. Uvod U uvjetima tržišne ekonomije današnje financijske institucije su prisiljene promijeniti svoj poslovni odnos s klijentima. Tako je nastao pojam "upravljanje odnosom s klijentom", još poznatiji kao skraćenica CRM (Customer Relationship Management). Kroz vrijeme se pokazalo da proizvodi koji su prilagođeni svima, ustvari odgovaraju malom broju klijenata. Zbog toga su financijske institucije danas više orijentirane prema klijentima na način da su značajno proširile svoje palete proizvoda i usluga kako bi što bolje zadovoljile njihove potrebe. Tržište financijskih proizvoda je zasićeno i klijenti su većinom podijeljeni između konkurencije. Važno je zadržati postojeće klijente, jer je pridobivanje novih i do 10 puta skuplje od zadržavanja postojećih klijenta. Tržište financijskih proizvoda nije homogeno kako se prije mislilo, zbog čega su institucije pokušale podijeliti svoje klijente u manje homogenije skupine – segmente [31]. Nakon segmentacije, postojeći proizvodi su prilagođivani potrebama tih segmenata i po potrebi su osmišljavani novi kako bi se što bolje zadovoljile potrebe istih [29]. U današnje vrijeme, cilj je na razne načine zadržati sadašnje profitabilne klijente, dok neprofitabilne treba prepustiti konkurenciji [43]. Važno je zadržati i po mogućnosti povećati lojalnost postojećih profitabilnih klijenata [40]. Financijske institucije moraju znati koji su njihovi vrijedni klijenti i moraju učiniti sve da isti budu zadovoljni. Cilj je otkloniti sve motive koji bi ih mogli navesti na prijelaz konkurenciji. Važno je odrediti koji su trenutno najprofitabilniji klijenti i koji će to biti u budućnosti, korištenjem svih dostupnih izvora informacija i podataka. Pored toga, važno je dovoljno rano predvidjeti potrebe tih klijenata i osigurati odgovarajuće proizvode i usluge za zadovoljavanje njihovih potreba. Danas postoji puno načina na koje je moguće dobiti korisne informacije o navikama i potrebama klijenata. Npr. podaci o transakcijama iz baza podataka šalterskih aplikacija, bankomata, troškovi učinjeni debitnim i kreditnim karticama, telefonsko bankarstvo, PC bankarstvo i Internet bankarstvo. Tako dobivene informacije je potrebno koristiti strateški, a ne pojedinačno, za potrebe pojedinih 1 marketinških kampanja. Mnoge financijske institucije u svijetu već danas znaju kako zadržati svoje vrijedne klijente, kako postići prisniji odnos s klijentom, kako povećati prodaju, kako iskoristiti prodaju paketa proizvoda, kako uz postojeće proizvode prodati još koji (engl. cross-sell) te kako postići pravu profitabilnost klijenata [13]. Danas više nije važno da li poznaješ nekoga, već koliko dobro ga poznaješ [40]. Kako bi opstale u moru konkurencije, financijskim institucijama su trenutno potrebne detaljne informacije o svakom njihovom klijentu kako bi mogle razumjeti i predvidjeti njegovo ponašanje. Institucija svoje financijske proizvode prodaje klijentu putem mnogobrojnih kanala prodaje. Ti kanali imaju vrlo važnu ulogu za CRM, jer se osim za prodaju koriste i za oglašavanje. Kanali su ustvari sučelje imeđu institucije i klijenta. Kroz kanale prodaje institucija bilježi podatke o svojim klijentima. To su najvažniji podaci kojima institucija raspolaže, pogotovo kod nas gdje se većina demografskih podataka o klijentima ne može dobiti. U SAD-u na primjer, raspolažu podacima o bračnom statusu svojih klijenata, prosječnim primanjima za određeno područje i drugim važnim podacima koje je za sada još uvijek nemoguće dobiti kod nas u Hrvatskoj. To Amerikancima daje određenu prednost, ali kao što će se kasnije pokazati, ipak su najvažniji podaci oni o odnosu institucije s klijentom koji se prikupljaju putem kanala prodaje. Za velike financijske institucije s puno proizvoda i složenom organizacijskom strukturom, velik je izazov dobiti jedinstvenu i potpunu sliku poslovanja s klijentima i pregled njihovih potreba. Institucije su shvatile da je važno integrirati poslovne aplikacije na način da se omogući praćenje klijenta na nivou cijele organizacije. Nekada je praksa bila izrada ili kupnja pojedinačnih aplikativnih rješenja za pojedinačne probleme pojedinih organizacijskih jedinica. Nažalost, danas još uvijek mnoge institucije imaju poteškoća s praćenjem cjelokupnog poslovnog odnosa s klijentom [40]. Mnoge financijske institucije su pogriješile misleći da je CRM proces koji ima svoj početak i kraj. Primjeri u svijetu pokazuju da je ključan faktor uspjeha analiza, a ne automatizacija procesa. Obrada podataka o odnosu s klijentom bi trebala tvoriti zatvorenu petlju. Nakon dohvata podataka o klijentu iz transakcijskih aplikacija, iz njih se proizvode informacije koje tvore znanje o klijentu. To znanje se mora koristiti kao povratna informacija o uspjehu CRM aktivnosti, kao što su npr. reklamne kampanje i elektronsko poslovanje. Na taj način je moguće postići sinergiju CRM-a na strateškoj i izvršnoj razini. Tako integrirani CRM omogućuje institucijama da se približe idealnom one-to-one odnosu [1]. 2 Informatizacija poslovanja rezultirala je generiranjem velikih količina podataka. Istovremeno brzina kompjutora je rasla i omogućila implementacije sofisticiranijih metoda analize podataka u relativno kratkom vremenu. U prvoj fazi, omogućeno je da se svi standardni izvještaji o poslovanju rade automatizirano i u puno kraćem vremenu. To je svakako pomoglo poboljšanju poslovanja. Standardni izvještaji sadrže podatke iz kojih poslovni stručnjaci relativno lako pronalaze informacije na kojima baziraju racionalne odluke značajne za normalno funkcioniranje poslovanja. Istovremeno se pojavila potreba za dodatnim analizama podataka, što standardni izvještaji nisu omogućavali. Prije otprilike pet godina zaživjela je tzv. multidimenzionalna analiza podataka, koja se često krije iza skraćenice OLAP (engl. On-Line Analytic Processing). Ova vrsta izvještaja omogućuje analizu poslovnih rezultata duž predefiniranih poslovnih dimenzija kao npr. po proizvodu, kroz vrijeme, prema geografskom položaju, itd. Korištenje multidimenzionalnih izvještaja omogućuje analitičaru da podatke promatra iz raznih poslovnih perspektiva i po potrebi locira probleme. Danas se koriste složene metode analize klijenata za dobivanje prije nepoznatih informacija. Institucije definiraju segmente u koje svrstavaju svoje klijente kako bi što bolje prepoznale njihove potrebe, ponašanje i profitabilnost. Izrađuju se modeli ponašanja, pomoću kojih je moguće prepoznati iznimke, kandidate za cross-selling i up-selling, prepoznati buduće profitabilne klijente, itd. Za prognoziranje bliže budućnosti (npr. prognoza poslovanja za sljedeće tromjesečje) do sada su se najviše koristile razne statističke metode (npr. linearna regresija, vremenske serije). U najnovije vrijeme, zajedničkim radom informatičara, matematičara, statističara, znanstvenika s područja umjetne inteligencije i poslovnih korisnika, nastali su brojni alati koji omogućuju analize podataka na nov način. Ti alati omogućuju poslovnim stručnjacima da uz manje poznavanje rada na računalu rade složene data mining analize velikih količina podataka. Osnovna karakteristika data mining analiza je velika količina podataka u kojoj se traže uzorci. Zbog velike količine podataka, analiza prije nije bila praktično izvediva zbog predugog vremena potrebnog za analize te vrste. S povećanjem brzine računala okolnosti su se promijenile. Korisnici su otkrili da data mining omogućuje još jednu danas vrlo važnu analizu poslovanja, a to je otkrivanje uzroka određenih pojava i razumijevanje ponašanja klijenata. U posljednje vrijeme mnogo je znanstvenih radova objavljeno iz područja predviđanja cijene dionica, izrade portfelja vrijednosnih papira i sl. Definicije data mininga se najčešće odnose na proces istraživanja podataka. Jedna od definicija je da je data mining proces istraživanja i analize, automatski ili 3 poluautomatski, velike količine podataka sa svrhom da se otkriju smisleni uzorci i pravila [17]. Što danas znači "velika količina podataka"? To znači da se radi o prevelikoj količini podataka da bi ih analitičari analizirali s razumijevanjem, što ne mora značiti da se radi o nekoliko terabajta podataka, iako danas nismo daleko ni od te definicije. Bolja definicija data mininga bi bila da je cilj data mininga omogućiti poboljšanje marketinških aktivnosti, prodaje i podrške klijentima kroz njihovo bolje razumijevanje. Data mining analize se u biti baziraju na metodama raspoznavanja uzoraka i koriste se za rješavanje sljedećih zadataka: • Razvrstavanje (engl. classification), npr. razvrstavanje klijenta u neki od unaprijed definiranih segmenata, • Predviđanje (engl. prediction). Metoda vrlo slična razvrstavanju, ali za razliku od razvrstavanja, određujemo segment kojem će klijent pripadati u budućnosti, • Procjena vrijednosti (engl. estimation). Omogućuje procjenu vrijednosti neke kontinuirane varijable u nekom trenutku u budućnosti, • Grupiranje (engl. clustering). Metoda kojom se analizira baza klijenata. Broj segmenata se određuje ručno ili automatski. U segmente se zatim automatski razvrstavaju klijenti, • Metoda analiza košarice se koristi za otkrivanje proizvoda koji se prodaju zajedno, npr. pivo i pelene. Druga vrsta analize je analiza slijeda prodaje, npr. kosilica pa onda crijevo za zalijevanje, • Opisivanje i vizualizacija podataka. Ove metode omogućavaju učenje iz podataka, a ljudi lakše uče pomoću vizualizacije. Prodaja dodatnih proizvoda postojećim klijentima (engl. cross-selling) jedan je od važnijih načina povećavanja profitabilnosti postojećih klijenata uz istovremeno povećanje njihove lojalnosti. Prodajom dodatnih proizvoda klijente više vežemo uz sebe te na taj način povečavamo njihovu lojalnost. Analizom se određuje koja je sljedeća najbolja ponuda klijentu. Npr. prodaja auto osiguranja uz prodaju kredita za kupnju automobila. Analizu je moguće napraviti upotrebom metoda raspoznavanja uzoraka (npr. izrada prediktivnog modela, analiza košarice, segmentacija). Sličnim analizama moguće je rano prepoznati klijente koji bi nas mogli napustiti radi odlaska kod konkurencije i otkriti zašto nas žele napustiti. Cross-selling problematika je relativno novi izazov za financijske institucije. Hrvatska poduzeća i financijske institucije su trenutno u fazi donošenja odluke da se pokrenu CRM projekti u okviru kojih će najvjerojatnije važno mjesto imati i crosssellig. U svijetu je situacija nešto drugačija. Neke velike svjetske financijske institucije se na svojim internet stranicama hvale uspješnim implementacijama CRM projekata, što smatraju kompetitivnom prednošću i zbog toga ne objavljuju nikakve 4 detalje. Jedini detalji koji se mogu pronaći su financijske prirode, poput povećanja profita, smanjenja troškova, povećanja produktivnosti i sl. Ova radnja se koncentrira na jedan specifičan cross-selling problem financijskih institucija. U razgovoru s poslovnim stručnjacima uočena je njihova potreba poznavanja odgovora na pitanje: "Koje proizvode nuditi klijentu?". Potrebno je klijentu nuditi proizvode koje će najvjerojatnije htjeti koristiti. S druge strane klijentu ne treba nuditi proizvode koji mu nisu primjereni i koje će s velikom vjerojatnošću odbiti koristiti. Na taj način postiže se veće zadovoljstvo klijenata, jer ih se ne zamara propagandom proizvoda koji im nisu primjereni. Zbog toga što se klijentu nude samo njemu primjereni proizvodi, dolazi i do vremenske uštede što može značajno smanjiti troškove poslovanja. U našem konkretnom slučaju, dogovorom s poslovnim stručnjacima odlučeno je da se u okviru aplikacije u kojoj su vidljivi svi podaci o poslovnom odnosu s klijentom doda i popis pet proizvoda koje će klijent najvjerojatnije kupiti (engl. best next offer). Matični broj Proizvod 1 Proizvod 2 Proizvod 3 Proizvod 4 Proizvod 5 01111111 04 02 05 03 13 02222222 04 05 02 14 08 03333333 02 05 03 13 04444444 12 04 02 05555555 02 05 03 11 06666666 12 12 12 12 08888888 04 01 02 01 10 12 Tablica 1.1 Popis proizvoda koje će klijent najvjerojatnije htjeti koristiti Praktično rješenje prikazano je tablicom 1.1. U prvom stupcu tablice je jedinstveni identifikator klijenta (stupac Matični broj), dok ostalih pet stupaca sadrži šifre pet proizvoda koje će klijent s najvećom vjerojatnošću htjeti koristiti. Istovremeno proizvodi su za svakoga klijenta sortirani tako da je na prvom mjestu (stupac Proizvod 1) onaj proizvod koji će klijent s najvećom vjerojatnošću htjeti koristiti. Problem određivanja pet proizvoda koje će klijent najvjerojatnije kupiti se može rješavati na više načina upotrebom neke od metoda raspoznavanja uzoraka. Jedna od metoda je grupiranje klijenata sličnih značajki i analiza proizvoda karakterističnih za dobivene grupe. Klijentu bi se tada nudili proizvodi karakteristični za grupu kojoj klijent pripada, a koje još ne koristi. Drugi način je da se u analizu uključi i vremenska komponenta pa da se onda metodom analize vremenskog slijeda (engl. market basket analysis) utvrdi koji se proizvodi prodaju zajedno. Tada se na 5 ranije opisani način, klijentu mogu nuditi proizvodi karakteristični grupi kojoj pripada, a koje još ne koristi. U okviru ove radnje biti će korišteno nekoliko različitih tehnika izrade prediktivnih modela. Prediktivnim modelima se, korištenjem skupa ulaznih značajki, određuje vrijednost izlazne značajke. Na taj način će se za svaki proizvod posebno, odrediti vjerojatnost da ga klijent želi koristiti. Na kraju se za svakog klijenta izabire pet proizvoda s najvećom vjerojatnošću. značajke klijenata x1,x2,...,xn ulaz Prediktivni model izlaz vjerojatnost kupnje y Slika 1.2 Metode raspoznavanja uzoraka - prediktivni model Proces izrade prediktivnih modela se sastoji od nekoliko koraka. U sljedećem poglavlju opisan je početni proces prikupljanja i transformacije podataka. Podaci se obrađuju kako bi se iz njih, u posebnu tablicu, izdvojile značajke klijenata (geografske, demografske, značajke poslovnog odnosa i dr.). Postoji nekoliko metoda raspoznavanja uzoraka koje se mogu koristiti za izradu prediktivnih modela. U trećem poglavlju opisane su tri metode koje će biti praktično implementirane i uspoređene na stvarnim podacima: metoda regresije, metoda stabla odluke i metoda umjetnih neuronskih mreža. Za svaku od metoda postoje mnogobrojne praktične implementacije, dok su u radnji opisane samo one koje će biti eksperimentalno implementirane. U istom poglavlju je prikazano i nekoliko metoda koje će se koristiti za mjerenje kvalitete modela. Četvrto poglavlje posvećeno je opisu eksperimenata u kojima su prikupljeni i obrađivani podaci jedne hrvatske financijske institucije. Opisano je izdvajanje značajki, praktična implementacija prediktivnih modela i mjerenje performansi. Poglavlje završava diskusijom rezultata. U petom poglavlju opisano je kako su drugačijom organizacijom podataka i dodavanjem novih značajki klijenata poboljšane karakteristike modela. U šestom poglavlju je opisano kako usporediti vjerojatnosti kupnje za svaki proizvod i kako formirati konačnu tablicu s popisom pet proizvoda koje će klijent najvjerojatnije kupiti. Na kraju je opisana implementacija rezultata analize u poslovni proces. 6 2. Podaci 2.1. Nastanak podataka Informatizacija poslovanja rezultirala je naglim rastom količine podataka kojom raspolažemo. Taj trend na sreću prati i povećanje kapaciteta medija za pohranu podataka, povećanje brzine pristupa podacima, smanjenje cijene po jedinici kapaciteta i razvoj sve bržih procesora. Upotrebom odgovarajućih tehnologija, danas je moguće analizirati i vrlo velike količine podataka. U današnje vrijeme jedna obična transakcija rezultira generiranjem podataka kojih možda i nismo svjesni da se prikupljaju. Tako npr. kada napravimo telefonsku narudžbu nekog proizvoda putem kataloga, događa se cijeli niz transakcija u nekoliko sistema koji ih bilježe u svoje baze podataka: • telefonska kompanija bilježi podatke o vremenu i dužini telefonskog razgovora, tko je zvao i koga je zvao, ... • prodavač bilježi podatke o narudžbi, količinu, duljinu telefonskog razgovora, podatke o kartici kojom je obavljeno plaćanje, promjenu stanja na skladištu, način otpreme narudžbe, odaziv na marketinšku kampanju, ... • banka zna datum transakcije, iznos koji je plaćen, TAN, matične podatke o prodavaču, ... • izdavač kreditne kartice dobiva transakcijski zapis, iznos provizije, ... • pošta zna adresu primatelja, vrijednost pošiljke, vrijeme prihvata, vrijeme odašiljanja, vrijeme preuzimanja, ... Svakoj od institucija se pruža prilika da nešto nauče iz te jednostavne transakcije i da stečena znanja upotrijebe za poboljšanje svog poslovanja i povećanje profitabilnosti. Podaci postoje u raznim oblicima i na raznim sistemima. Najčešće nisu čisti, nisu kompletni, a ponekad su i neshvatljivi. Ali oni su još uvijek sirovina za analizu 7 metodama raspoznavanja uzoraka. Bez poznavanja podataka ni uz najbolje alate i metode nije moguće u njima pronaći zanimljive uzorke. 2.2. Oblik podataka potreban za analizu metodama raspoznavanja uzoraka Metode raspoznavanja uzoraka zahtijevaju denormaliziranu strukturu podataka prikazanu na slici 2.1. Matični broj, tj. broj koji je različit za sve retke. Odbacuje se kod analize. Značajka klijenta čiju vrijednost pokušavamo odrediti modelom. Značajke klijenta 03201011 10000 12.1 A 11.3 Zagrebačka 3 Da 1 03248423 10000 13.0 B 11.3 Splitska 13 Da 0 03256777 10040 10.1 A 11.3 Osječka 12 Ne 1 03267722 10042 20.1 E 11.3 Kninska 1 Da 1 03268898 10040 38.2 U 11.3 Vukovarska 2 Ne 1 03269484 10000 19.1 U 11.3 Savska 12 Da 1 03272883 53000 14.5 U 9.1 Zagrebačka 121 Ne 0 Ova značajka je dobivena transformacijom podataka iz transakcijske aplikacije Ova značajka sadrži podatak dobiven na nivou županije pa se ponavlja u više redaka Ovi retci imaju krivi matični broj pa se izbacuju iz daljnje analize Ovo značajka ima različite vrijednosti u svakom retku zbog čega se odbacuje. Iz nje je moguće izdvojiti informacije u izvedene značajke. Slika 2.1 Tipičan oblik podataka potreban za analizu metodama raspoznavanja uzoraka Ova jednostavna tablica, u većini slučajeva, nije oblik u kojem se podaci prikupljaju i čuvaju. Oblik koji je pogodan za analizu podataka metodama raspoznavanja uzoraka nije pogodan za većinu ostalih upotreba. Zapisi, odnosno retci tablice čine jedinicu akcije i određuje ih se nakon što se odredi kako će se koristiti rezultati analize. Rezultati se u velikom broju slučajeva koriste za pokretanje neke marketinške kampanje. Metodama raspoznavanja uzoraka se pronalaze uzorci, tj. određen broj redaka sličnih svojstava. Većina analiza upotrebom metoda raspoznavanja uzoraka se odnosi na klijente. Tada svaki redak tablice odgovara jednom klijentu. U nekim zemljama zakoni o zaštiti privatnosti dopuštaju da se analiza podataka radi i na nekim drugim osnovnim jedinicama, npr. kućanstvima. Ponekad se za osnovnu jedinicu koristi i manja jedinica od klijenta, npr. broj računa. Kod analize podataka s Interneta osnovna jedinica može biti cookie 8 spremljen na hard disk korisnika. Cookie je tekstualna datoteka u koju se pohranjuju podaci o računalu i Internet pregledniku koji su korišteni za pristup određenoj stranici koja koristi cookie. Zbog toga cookie u većini slučajeva odgovara jednom korisniku, ali ne i kada isto računalo koristi više ljudi, odnosno kada jedan korisnik koristi više računala za pristup tom određenom Internet serveru. U ostalim upotrebama redak tablice može odgovarati bilo čemu od proizvodne serije do inventarskog broja. Često se dešava da ne postoje sve značajke za sve klijente, tj. postoje ispravni podaci samo za ograničen podskup klijenata. Za planiranje marketinške kampanje slanja propagandnih letaka poštom, koristit će se samo klijenti za koje imamo ispravnu adresu. S druge strane, moguće je da se marketinška kampanja odnosi samo na najvažnije klijente (engl. High Net Ware Individuals – HNWI) ili članove Elite kluba. Značajke klijenata su sadržane u poljima (stupci) tablice. Vrijednosti u poljima mogu biti ograničene na određeni dozvoljeni opseg. Numerički podaci tipično imaju minimalnu i maksimalnu vrijednost. Kategorički podaci imaju određen broj dozvoljenih vrijednosti (kategorija). Frekvenciju pojavljivanja pojedinih vrijednosti u nekom polju moguće je vizualno prikazati histogramom. Na slici 2.2 su prikazana tri tipična oblika histograma. Na horizontalnoj osi su nanesene sortirane vrijednosti značajke od najmanje do najveće, a na vertikalnoj osi je broj pojavljivanja tih vrijednosti. 9 Broj klijenata 16 14 12 10 8 6 4 2 Histogram prikazuje da postoji podjednak broj klijenata s različitim stanjima. Primjer je to jednolike raspodjele vrijednosti. 0 1 2 3 4 5 6 7 8 9 10 11 12 Stanje [tisuća kn] Broj klijenata Histogram prikazuje da većina klijenata ima malo stanje, dok veliko stanje ima svega nekoliko klijenata. 1 5 9 13 17 21 25 29 33 37 41 Stanje [mln kn] 45 49 Ovo je primjer eksponencijalno padajuće raspodjele. Broj klijenata Histogram prikazuje normalnu raspodjelu za koju je karakteristična srednja vrijednost i standardna devijacija. Stanje Slika 2.2 Tipični oblici histograma Pogled na histogram, odnosno distribuciju vrijednosti je jedna vrlo važna informacija o značajki klijenta. Statističari su razvili puno matematičkih metoda kojima analiziraju i opisuju distribuciju vrijednosti. Moderne metode raspoznavanja uzorka u principu nisu jako osjetljive na distribuciju vrijednosti, osim u određenim ekstremnim slučajevima opisanim dalje u tekstu. Značajka koja za sve zapise ima samo jednu vrijednost, ne sadrži nikakvu informaciju koja bi pomogla u međusobnom razlikovanju klijenata (engl. unary). Zbog toga što ne sadrži nikakvu korisnu informaciju, značajka se odbacuje u daljnjim analizama. Jedna vrijednost je u nekim slučajevima svojstvo podataka. Baze podataka ponekad sadrže definicije polja koja još nisu popunjena pa su sve vrijednosti u polju na primjer "null" vrijednosti, "NO" ili "0". Značajke s jednom vrijednošću se mogu pojaviti i zbog filtriranja podskupa klijenata za koje je svojstvena jedna vrijednost, npr. analiziramo li samo klijente iz Zagreba, tada će svi klijenti imati vrijednost "ZAGREB" u polju sjedište. Budući da ta značajka ne sadrži nikakvu korisnu informaciju, odbacuje se iz daljnje analize. Značajka koja za većinu klijenata ima samo jednu vrijednost, a ostalo su nekolicina iznimki također može biti neupotrebljiva za analizu metodama raspoznavanja uzoraka (engl. almost unary). Odluka da li koristiti tu značajku u 10 analizama ili ne, je većinom subjektivna odluka analitičara, jer ovisi o tome da li tih nekoliko iznimki opisuje dovoljan broj zapisa (klijenata) pa značajku zbog toga ne bi trebalo zanemariti. Što znači "dovoljan broj zapisa"? Ako je značajka maksimalno iskorištena kroz analizu, da li ona definira dovoljno veliku zanimljivu interesnu grupu klijenata. Prije odbacivanja značajke svakako treba saznati zašto su vrijednosti tako izobličene, odnosno što nam to govori o poslovnom odnosu s klijentom. Primjer takve značajke je broj prodanih komada određenog proizvoda, ako je taj proizvod nedugo pušten na tržište. Zbog nedavne pojave, većina klijenata ga još nije stigla kupiti i u njihovim zapisima je zapisana "0", dok je kod malog broja klijenata zapisan neki broj veći od nule. Događaj može biti rijedak i iz drugih razloga. Npr. broj klijenata koji izgube kreditnu karticu u jednom danu je jako mali, ali u nekom dužem vremenskom razdoblju može ih biti puno više. Zbog toga ih je potrebno pratiti u dužem vremenskom razdoblju kao npr. mjesec, kvartal ili godina. Eksperimentalno je dokazano da značajke koje u 95-99% zapisa imaju jednu vrijednost, iako sadrže korisnu informaciju, najčešće nisu iskoristive u analizama metodama raspoznavanja uzoraka i zato ih treba zanemariti [17]. Sljedeća vrsta značajki, koje same po sebi nisu iskoristive za analizu, su one koje za svaki zapis sadrže različitu vrijednost. Primjeri takvih polja su naziv, ime, prezime, datum rođenja, JMBG, adresa, telefonski broj, matični broj klijenta, broj registarske pločice vozila, itd. Ove značajke također nisu iskoristive u izvornom obliku. Značajke ne predstavljaju analitičku vrijednost, jer jedinstveno identificiraju svaki zapis. Pažljivijim promatranjem može se zaključiti da te značajke u određenim slučajevima ipak sadrže važne informacije koje je potrebno izdvojiti u neku novu, izvedenu značajku. Npr. telefonski broj sadrži podatak o geografskoj lokaciji kao i registarske pločice vozila. Matični brojevi klijenata mogu biti dodjeljivani sekvencijalno pa je iz toga moguće zaključiti koji su noviji klijenti. To su primjeri gdje je iz direktno neupotrebljivih značajki moguće izdvojiti geografske i vremenske značajke u nove, izvedene značajke. Jednom kada se iz značajki izdvoje korisne informacije, treba ih zanemariti u daljnjim analizama. Postoje i značajke koje su na neki način sinonim (engl. cheat) ciljnoj značajki (engl. target). Ciljna značajka je značajka klijenta čiju vrijednost modeliramo korištenjem preostalih ulaznih značajki (engl. input). Kada je neka značajka jako korelirana s ciljanom značajkom to može značiti da joj je ona ustvari sinonim. Npr. ako datum zatvaranja računa nije "null" znači da je klijent prekinuo odnos s bankom. Drugi slučaj koji se pojavljuje zbog prodajne prakse je da klijent koji ima npr. otvoren tekući račun koristi i čekove. To je zbog toga što se ta dva financijska proizvoda prodaju u paketu. Još jedan primjer je protekla marketinška 11 kampanja koja je obuhvatila samo jednu malu skupinu klijenata po nekom pravilu (npr. klijenti od 20-40 godina s redovnim primanjem većim od 5,000.00 kn). Ukoliko kao ciljnu značajku koristimo sudjelovanje u toj kampanji, značajka starost klijenta i veličina primanja su joj ustvari sinonimi. Dakle važno je ignorirati značajke koje su sinonimi ciljnoj značajki. Kako se u većini analiza metodama raspoznavanja uzoraka koristi jedna tablica s puno redaka i stupaca, moguće je za pojam značajka koristiti termine polje ili stupac i za klijenta koristiti naziv zapis ili redak. Svaka značajka može imati jednu od tri osnovne uloge: • ulazna značajka (engl. input) se koristi kao ulaz u model • ciljna značajka (engl. target) se koristi samo u izradi prediktivnih modela. To su npr. vjerojatnost da klijent kupi neki financijski proizvod, vjerojatnost odziva u nekoj marketinškoj kampanji, vjerojatnost da klijent ostane kod nas, stanje na računu, itd. U izradi opisnih modela ciljna značajka ne mora postojati. • ignorirana značajka (engl. rejected) je značajka koja se ne koristi u analizi Značajke koje se ne koriste u analizi metodama segmentacije i grupiranja (engl. segmentation, clustering) mogu se pokazati važne u kasnijoj analizi rezultata. Iako se ne koriste za određivanje grupe u koju se klijent razvrstava, distribucije zanemarenih značajki mogu sadržavati vrlo važne informacije. Npr. nekorištenjem značajke profitabilnost klijenta ili odaziv na prijašnju marketinšku kampanju, možemo kasnije promatrati distribuciju tih značajki u pojedinim segmentima. Na taj način moguće je otkriti potencijalno zanimljive uzorke vezane uz profitabilnost klijenata ili uzroke odziva klijenata na marketinške kampanje. Analiza podataka upotrebom metoda raspoznavanja uzoraka zahtjeva da podaci budu u jednoj tablici ili pogledu. Pogled (engl. view) predstavlja virtualnu tablicu, dok se podaci fizički nalaze spremljeni u nekoj drugoj tablici ili bazi. View je moguće koristiti za selektiranje određenih stupaca i redaka iz tablice, a da se ne dupliciraju podaci izradom dodatne tablice s definiranim fondom podataka. Kada se pristupa podacima, pročita se definicija podataka zapisana u view-u i tada se pristupa definiranim podacima u stvarnoj fizičkoj tablici. Nažalost u većini slučajeva podaci se ne mogu naći u opisanim oblicima već ih je prethodno potrebno obraditi i dovesti u taj oblik. 2.3. Oblici podataka u financijskim institucijama U praksi se podaci najčešće ne nalaze u obliku pogodnom za analize upotrebom metoda raspoznavanja uzoraka. Značajan dio analize čini prikupljanje i 12 transformacija podatka u format pogodan za analizu metodama raspoznavanja uzoraka. Izazov počinje razumijevanjem podataka. Podaci se nalaze spremljeni na raznim mjestima i u raznim oblicima. Podaci su najčešće rasprostranjeni po cijeloj organizaciji u raznim oblicima i formatima, u raznim bazama podataka, na raznim operacijskim sistemima. Dio tih podataka se nalazi u bazama podataka koje se koriste u transakcijskim sistemima. Dio podataka se nalazi u izvještajnim bazama podataka i informacijskim bazama, kao što su data martovi, skladišta podataka, a ponekad i na stolnim računalima pojedinaca. Nekad je teško razlikovati transakcijske baze podataka od izvještajnih, jer se iste baze u nekim slučajevima mogu koristiti u obje svrhe. U bankarstvu, podaci se najčešće nalaze u bazama podataka. Velike banke najčešće koriste i po nekoliko različitih DBMS-ova (engl. Data Base Management System) kako u slučaju havarije jednoga ne bi stajao cijeli poslovni proces. Primjeri poznatijih DBMS-ova koji se koriste u Hrvatskoj i u svijetu su DB2, SQL Server, Oracle, Informix, Sybase, MS Access itd. Podaci se mogu nalaziti i u drugim oblicima. Npr. flat datoteke, log datoteke i razni drugi oblici. Na sreću, većina transakcijskih sistema ima mogućnost isporučivanja podataka. Analize metodama raspoznavanja uzoraka se najčešće rade na jednoj platformi. Zbog toga je potrebno podatke preseliti na tu platformu. Drugi veliki izvori podataka su operacijski sistemi u koje spadaju POS-ovi (engl. Point-Of-Sale), ATM-ovi (engl. Automatic Teller Machines) i web serveri. POS-ovi su uređaji koji se koriste uz današnje standardne blagajne za bezgotovinsko plaćanje putem kartica. ATM-ovi su kod nas bolje poznati kao bankomati, odnosno uređaji za isplatu gotovine pomoću kartice, odnosno uplatu gotovine na neki od računa. Navedeni sistemi su bogati izvori podataka i kvantitativno i kvalitativno, jer se podaci prikupljaju u trenutku neposrednog kontakta s klijentima. Operacijski sistemi su projektirani i napravljeni tako da pouzdano i brzo rade transakcije i da na kraju obračunskog razdoblja generiraju izvještaje za slanje na kućne adrese. O izvještajnom dijelu se najčešće ne vodi računa tako da proces prikupljanja i transformacije podataka iz sistema može biti dugotrajan i mukotrpan. U našem slučaju najvažniji izvor podataka je bio skladište podataka (engl. data warehouse). Skladište podataka je baza podataka u koju se teoretski spremaju svi podaci koje organizacijske jedinice proizvode, a jedan dio podataka se nabavlja iz vanjskih izvora. Svi podaci su na jednom mjestu i, ne manje važno, podaci su čisti. To znači da su podaci prošli sistemsku kontrolu. Čuvaju se samo ispravni podaci, dok se neispravni prethodno korigiraju. Nažalost stvarnost je nešto drugačija. Podaci koji se skladište su najčešće sumarizirani po nekoj od poslovnih dimenzija, jer za 13 skladištenje čistih transakcijskih podataka najčešće nema dovoljno prostora. Skladišta podataka su najčešće denormalizirane relacijske baze podataka koje se sastoje od stotina tablica sa stotinama ili tisućama stupaca. Podaci koji se unose u skladište bi trebali biti čisti i provjereno dobri. Često postoje i meta podaci, tj. podaci koji opisuju tablice, stupce, reference i sl. Skladišta podataka se najčešće projektiraju i onda postepeno pune. Zbog toga se događa da neki podaci trenutno još nisu dostupni, a za neke ne postoji dovoljno duga povijest. Drugi potencijalni nedostatak skladišta podataka je da se pune podacima za koje je netko odredio da su važni. Zbog toga skladišta podataka sadrže samo dio podataka za koje je netko prije nekoliko godina mislio da su značajni. Obično postoji vremenski razmak od trenutka kada se napravi promjena u transakcijskoj aplikaciji do trenutka kada se novi podaci počnu puniti u skladište. U trenutku kada želimo započeti analizu možemo se pouzdati u postojanje i točnost podataka koji su se do tada koristili za neku drugu svrhu, poput broja računa, stanja, adrese i sl. Polja koja se ne koriste u svakodnevnom poslovanju najčešće nisu popunjena ili su popunjena netočnim ili zastarjelim podacima, čak i u skladištima podataka. Toga se najčešće postaje svjestan u trenutku kada se ti podaci po prvi puta trebaju koristiti, a analize upotrebom raspoznavanja uzoraka su najčešće prvi slučajevi korištenja velike količine podataka koje se do tada samo skupljalo u nadi da će nekad biti korisni. Budući da diskovni prostor, memorija i procesori još uvijek koštaju, najdetaljniji nivo podataka – transakcijski nivo podataka se najčešće ne skladišti. Radi se o ogromnim količinama podataka, čija obrada zahtjeva jako veliku procesorsku snagu. Bez obzira na navedene nedostatke, skladište podataka je u ovom našem slučaju bilo najvažniji izvor podataka. Kako bi se što bolje zadovoljile potrebe za izvještavanjem poslovnih korisnika, razvijeni su data martovi i OLAP sistemi (engl. On-Line Analytic Processing). Ti sistemi se koriste za zadovoljavanje izvještajnih potreba pojedinih organizacijskih dijelova. OLAP sistemi se koriste za multidimenzionalne analize po predefiniranim poslovnim dimenzijama (npr. vrijeme, proizvod, organizacijska jedinica, geografska lokacija i sl.). Podaci se za potrebe takvih analiza pohranjuju u tzv. kocke (engl. cube) kako bi se postiglo što brže pretraživanje. Slika 2.3 prikazuje jednu takvu kocku sa predefiniranim dimenzijama vrijeme, proizvod i organizacijska jedinica. 14 organizacijski dio Primjer hijerarhije gdje 1. kvartal čine siječanj, veljača i ožujak. datum siječanj 1. kvartal veljača ožujak travanj proizvod svibanj Ova manja kockica sadrži podatak o tome da je organizacijska jedinica xx u svibnju prodala 14 komada proizvoda yy ukupne vrijednosti 93.23 kn org.jed.=xx proizvod=yy datum=svibanj stanje=93.23kn prodano=14kom dimenzije mjere Slika 2.3 Poslovne dimenzije i OLAP Podaci su pohranjeni tako da omogućavaju izvještavanje i multidimenzionalne analize. Kako nekoliko OLAP sistema može koristiti iste poslovne dimenzije podaci se pohranjuju na sličan način kao u normaliziranim bazama podataka. Numerički podaci (engl. measures) se računaju i pohranjuju za svaku kockicu unutar velike kocke posebno. Ovakav način spremanja podataka omogućava vrlo brzo pretraživanje podataka po predefiniranim dimenzijama. OLAP sistemi kao nadgradnju omogućavaju definiranje hijerarhija nad dimenzijama, tj. omogućavaju analize na višim nivoima, kao npr. po tjednima, mjesecima, kvartalima i godinama, ako je osnovna dimenzija dan. Hijerarhije omogućavaju traženje odgovora na sofisticiranija pitanja i brzo pronalaženje odgovora na njih. OLAP sistemi su vrlo važni za izvještavanje i analize, ali najčešće ne sadrže dovoljno detaljne podatke za potrebe data mining analize. Spremanje podataka na nivou klijenta je najčešće nedostižno zbog prevelikog obima podataka. Bez obzira na navedeno ograničenje, OLAP i analize upotrebom metoda raspoznavanja uzoraka se nadopunjuju. U fazi razumijevanja podataka koja prethodi transformaciji podataka u oblik pogodan za analizu upotrebom metoda rapoznavanja uzoraka, OLAP sistemi su nezamjenjivi za razumijevanje podataka i poslovanja. Kako se data martovi pune 15 podacima važnim za poslovanje određenog organizacijskog dijela, moguće je da podaci koji će se koristiti za analize budu drugačiji ukoliko se koriste svi podaci, a ne samo jedan njihov podskup. Ankete su sljedeći važan izvor podataka. U njima se klijente ispituje o njima samima. Ankete su vrlo omiljene i popularne među marketingašima. Razlog njihove popularnosti je taj da su to najčešće jedini podaci o klijentima, njihovim navikama i ponašanju koji se kasnije najčešće kombiniraju s demografskim podacima. Kako se ankete prikupljaju na malom broju ljudi, obično se pohranjuju na stolnim računalima. To ih čini lako dohvatljivima, jer se zaobilazi odjel informatike koji je najčešće teško dostupan. Podaci prikupljeni kroz ankete se trebaju oprezno koristiti. Kada ljudima postavljate pitanja ostavljena im je mogućnost da na njih ne odgovore. Ljudi koji odgovore svrstavaju se u grupu onih koji su najvjerojatnije spremni odgovarati na pitanja. Zbog toga dolazi do odstupanja uzorka od populacije, zbog čega treba posebnu pažnju obratiti kod poopćavanja uzorka na cijelu populaciju. Ljudi ne moraju točno odgovoriti na pitanja pa se može desiti da 10% odgovora bude krivo što može značajno utjecati na analizu, ali istovremeno nije moguće utvrditi kojih je 10% odgovora krivo. Treba obratiti pozornost i na vrijeme kada je anketa napravljena, jer postoji mogućnost da se populacija od tada promijenila (npr. anketa Internet korisnika napravljena 1996. godine se odnosila na drugačiju populaciju ljudi od današnje). Postoji i problem spajanja podataka iz ankete s ostalim podacima, jer se najčešće mora izvesti pomoću imena i prezimena, a ne matičnog broja klijenta. Glede analiza upotrebom metoda raspoznavanja uzoraka, najveći nedostatak podataka prikupljenih putem anketa je njihova nekompletnost zbog čega bi analizu upotrebom metoda raspoznavanja uzoraka trebalo suziti na mali broj klijenata koji su sudjelovali u anketi. Do sada su navedeni samo nedostaci anketa, ali jednako tako ti podaci mogu biti vrlo korisni. Odstupanje anketiranog uzorka od populacije je moguće korigirati do te mjere da neke agencije rade ankete s točnošću od 3% [31]. Ankete se kao i analize metodama raspoznavanja uzoraka koriste za otkrivanje uzroka ponašanja klijenata (engl. insight). Jedna od analiza može biti pokušavanje određivanja odgovora na pitanja iz ankete korištenjem ostalih raspoloživih podataka. Vanjski izvori podataka su u svijetu vrlo popularni. I u Hrvatskoj se u protekle dvije godine mogu kupiti CD-i s raznim značajkama klijenata (npr. telefonski imenik, adrese pravnih osoba, financijski podaci pravnih osoba). U Americi je vrlo popularno u analizama koristiti značajke klijenata prikupljene popisom stanovništva. Vanjski podaci se često ne mogu upariti za sve klijente obuhvaćene analizom, a događa se i da vrijednosti značajki klijenata za one koji se uspješno upare nedostaju. Cijeli taj proces spajanja podataka može se prilično 16 odužiti. Bez obzira na sve navedene nedostatke vanjski podaci predstavljaju vrlo važan izvor podataka, pogotovo u planiranju marketinških kampanja za privlačenje novih klijenata. Kod korištenja vanjskih podataka treba imati na umu da i konkurencija ima pristup istim podacima i zbog toga i oni mogu koristiti iste liste adresa za slanje propagandnih materijala. Treba obratiti pozornost i na privatnost ljudi s lista kako ne bi došlo do nepoželjnih, kontraproduktivnih ili još gore konfliktnih situacija, što je poseban problem u SAD-u gdje se velika važnost pridaje privatnosti [7]. 2.4. Priprema ulaznih podataka i izdvajanje značajki Proces pripreme podataka za analizu, tj. izrada ulazne tablice počinje određivanjem osnovne jedinice analize. Osnovna jedinica u bankarstvu može biti: • račun - npr. tekući, devizni, broj kreditne kartice, • klijent pojedinac - npr. fizička osoba, pravna osoba na nivou žiro-računa, • grupa klijenata - npr. kućanstvo, pravne osobe na nivou matičnog broja ili povezane osobe (npr. Agrokor grupa). Kod nas u Hrvatskoj je najlakše provediva analiza na nivou klijenta, dok u SAD-u, gdje je moguće dobiti podatke o članovima kućanstava, prakticiraju analize s osnovnom jedinicom kućanstvo. Kod pravnih osoba je u Hrvatskoj zakonom iz 1999. godine propisano da se grupe poduzeća s istim vlasnikom moraju promatrati kao jedan klijent. Banke same moraju voditi evidenciju povezanih pravnih i fizičkih osoba. Zbog toga ne postoji zapreka da se analize pravnih osoba rade i na nivou grupa klijenata. Nakon odluke o osnovnoj jedinici analize, potrebno je transformirati podatke na željeni nivo, jer različite značajke postoje na svakom od nivoa. Tako značajke transakcija postoje na transakcijskom nivou s brojem računa ili partije kao ključem. Uz značajke računa na sljedećem nivou nalazi se matični broj klijenta vlasnika računa. Na sljedećem nivou se kao jedna od značajki klijenta pojavljuje matični broj grupe ukoliko klijent pripada nekoj. Na zadnjem nivou postoje značajke svojstvene grupama s ključem broj grupe. Ako smo se odlučili da osnovna jedinica analize bude grupa klijenata tada značajke grupa možemo direktno dodati u osnovnu tablicu analize kao dodatne stupce. Kada želimo dodati neku značajku klijenta sa nižeg nivoa, potrebno ju je transformirati na viši nivo, što može biti vremenski zahtjevno (npr. dodavanje značajke broj klijenata članova grupe zahtijeva izračun). Značajke s još nižih nivoa su velikog volumena, a pored toga zahtijevaju i složenije transformacije i izračune u procesu transformacije na viši nivo. Transformacije značajki su najčešće izračuni pa se logično nameće pitanje koje od izračuna 17 uključiti? Neke transformacije su jednostavne, kao npr. ukupan broj transakcija ili ukupan iznos transakcija. Broj transakcija većih od 500 kuna izvan mjesta stanovanja se također može pokazati korisnom značajkom, ali ju nije jednostavno izračunati. Određivanje i izračun značajki klijenata se može nazvati umjetnička sloboda analitičara. Na slici 2.4 prikazane su neke od transformacija. stupac A stupac E stupac F ključ 1 ključ 2 Ponekad je značajke potrebno transformirati nekoliko puta prije nego se dovedu na željeni nivo ključ 2 stupac A ključ 3 ključ 1 ključ 3 ključ 2 ključ 3 ključ 3 ključ 1 Značajke u ovoj tablici su predetaljne pa ih je prethodno potrebno transformirati na viši nivo i na kraju pomoću ključa spojiti s ostalim značajkama u konačnu tablicu stupac E stupac F ključ 1 ključ 2 stupac A stupac E stupac B stupac F stupac G ključ 1 ključ 2 ključ 3 stupac A stupac B stupac C Ova tablica je sumirana po drugoj dimenziji pa se kod spajanja s konačnom tablicom koristi stupac B kao ključ stupac D ključ 1 ključ 2 ključ 3 Ova tablica je na željenom nivou pa se može direktno spojiti s konačnom tablicom stupac A stupac B stupac C stupac D stupac E stupac F stupac G ključ 1 ključ 2 ključ 3 Slika 2.4 Transformiranje značajki na nivo analize Opisane operacije izdvajanja značajki su jako zahtjevne. Zahtijevaju puno procesorskog vremena i puno diskovnog prostora. Spajanje dvije velike tablice može generirati veliki mrežni promet ukoliko su podaci distribuirani na više mjesta zbog čega može doći i do zagušenja mrežnog prometa. Vrijednosti u tablici mogu se podijeliti u nekoliko skupina (engl. measurement): • pravi brojevi – na njima je moguće izvođenje aritmetičkih operacija. Tako na primjer ima smisla zbrojiti takva dva stupca, 18 • intervali - omogućavaju oduzimanje, ali ne uvijek i zbrajanje. Na primjer ima smisla odrediti razliku temperature ili broj dana između dva datuma, ali nema smisla zbrojiti dva datuma. U ovu kategoriju spadaju datumi, vrijeme, temperature i sl. • rasponi (engl. ranks, ordinal) – ne omogućavaju izvođenje aritmetičkih operacija, ali omogućavaju usporedbu vrijednosti. Tako npr. ima smisla reći da je "veliko" veće od "srednje", ali nema smisla izvoditi aritmetičke operacije sa tim vrijednostima • kategorije (engl. categorical, nominal) – vrijednosti kod kojih nije važan redoslijed i sa kojima se ne mogu raditi aritmetičke operacije. U ovu kategoriju spadaju nazivi država, županija, status kodovi, boje i sl. Podaci kojima raspolažemo najčešće dolaze u obliku brojeva i znakova (engl. character, string). Neka polja mogu sadržati brojeve, a da kod njih nije važan redoslijed. Znakovna polja mogu sadržati brojeve kod kojih je važan redoslijed. Određivanje pravog tipa podataka zahtijeva njihovo razumijevanje. Neki alati imaju implementiranu mogućnost automatskog određivanja vrste podataka u svakoj od značajki posebno, nakon koje je moguće ručno promijeniti eventualne pogreške. U sljedećim poglavljima će se pokazati da različite metode raspoznavanja uzoraka zahtijevaju različite oblike ulaznih varijabli. Tako npr. regresijske metode i neuronske mreže zahtijevaju da im sve ulazne značajke budu pravi brojevi, dok metode stabla odluke ne koriste prave brojeve već zahtijevaju njihovu pretvorbu u raspone. Najpoznatije metode konverzije pravih brojeva u raspone su razne metode grupiranja (engl. binning), kojima se numeričke vrijednosti grupiraju u određen broj grupa. Ove metode se koriste i za korekciju distribucije vrijednosti (vidi sl. 2.5). Slika 2.5 Grupiranje pravih brojeva u raspone Današnji moderni alati su sposobni automatski transformirati podatke u oblik kakav zahtijevaju metode koje se koriste u izradi modela kako bi se što više olakšao i automatizirao cjelokupan proces izrade modela. Nažalost te transformacije 19 nisu savršene pa je ponekad poželjno da ih analitičar sam provede u procesu pripreme podataka. Količina potrebnih podataka se može mjeriti na više načina. Moguće mjere mogu biti potreban broj redaka, potreban broj stupaca, broj megabajta, veličina arhive. Općenito vrijedi pravilo da više podataka daje bolje rezultate. Kod analize potencijalnih klijenata najčešće je slučaj da se radi o velikom broju redaka s malo stupaca (značajki). S druge strane kod analize postojećih klijenata raspolažemo znatno manjim brojem redaka, ali sa puno više stupaca. Dobar početak u određivanju potrebne količine podataka je određivanje ukupne količine podataka koja je na raspolaganju. Podaci u transakcijskim aplikacijama se mjere u desetcima ili stotinama gigabajta što se znatno reducira sumarizacijama značajki na neki od viših nivoa. U pravilu, analize se rade na desetcima ili stotinama megabajta podataka, a ne na gigabajtima podataka kako bi izrada modela bila što brža. Iskusniji analitičari preporučuju korištenje desetaka ili stotina tisuća klijenata u procesu izrade modela [31]. Ukoliko je na raspolaganju veći broj klijenata nego je potrebno, radi se uzorkovanje na način da se pokuša izdvojiti reprezentativni uzorak što sličniji cijeloj populaciji. Za to postoji više načina. Najčešće se koristi jednostavno slučajno uzorkovanje. Tako se izdvaja uzorak sa proporcijama klijenata korisnika proizvoda i onih koji to nisu kao u populaciji, zbog čega se dobiva reprezentativni uzorak. Ponekad populacija sadrži premali broj klijenata korisnika proizvoda u odnosu na velik broj klijenata koji ga ne koriste ili obrnuto. Poželjno je da uzorak sadrži otprilike jednak broj klijenata korisnika proizvoda i klijenata koji to nisu. To nije uvijek slučaj zbog čega se tada namjerno odabire uzorak koji sadrži veći broj rijetkih slučajeva nego što ih je u populaciji. Neki stručnjaci preporučuju korištenje uzorka u kojem je od 15 do 35% rijetkih vrijednosti [17]. Povećanje postotka klijenata korisnika proizvoda (engl. over sampling) je moguće izvesti na dva načina. Prvi je da se uzme stratificirani uzorak kod kojega se specificiraju željene proporcije stratuma u konačnom uzorku i veličina uzorka. Iz tih podataka se može izračunati koliko će u uzorku biti korisnika i koliko ostalih klijenata. Tada se metodom slučajnog uzorka odvojeno uzorkuje svaka od klasa originalne populacije koje se na kraju spoje u uzorak željene veličine i proporcija klasa. Kada raspolažemo malom populacijom kod koje je još i broj rijetkih slučajeva premali tako da želimo da ih uzorak sve sadrži, preporučuje se korištenje druge metode. Upotrebom težinskih faktora povećava se vrijednost rijetkih slučajeva i/ili se smanjuje težinska vrijednost klijenata koji nisu korisnici proizvoda. Npr. moguće je klijentu korisniku proizvoda dodijeliti težinski faktor 1, a klijentu koji nije korisnik 0.33. Time se postiže da klijent korisnik vrijedi tri puta više od klijenta koji nije korisnik. 20 Stratificirani uzorak nije reprezentativan predstavnik populacije, ali omogućava izradu kvalitetnijeg prediktivnog modela. Uzmimo primjer da je u popualciji 1% korisnika proizvoda. Jednostavan model (engl. dummy) koji kaže da svi klijenti nisu korisnici proizvoda je 99% u pravu, što je jako dobar rezultat koji je jako teško nadmašiti izradom modela. Pored toga, takvim modelom nije moguće izdvojiti klijente korisnike proizvoda. Zato se stratificiranim uzorkovanjem uzima uzorak s umjetno povećanom koncentracijom korisnika. Mana takvog uzorkovanja je da dobiveni modeli daju veću ocjenu klijentima korisnicima proizvoda, nego bi je oni stvarno imali izradom modela na stvarnoj populaciji. Navedeni nedostatak se otklanja naknadnom korekcijom ocjena nakon izrade prediktivnog modela. Za neke metode raspoznavanja uzoraka je moguće približno odrediti potrebnu veličinu uzorka (broj redaka). Tako je npr. kod neuronskih mreža moguće formulom približno odrediti potreban broj klijenata. Neuronsku mrežu moguće je zamisliti kao velik broj težinskih faktora koje treba odrediti. Broj težinskih faktora ovisi o konfiguraciji mreže i o broju ulaza. Tako je za potpuno spojenu neuronsku mrežu s jednim nivoom skrivenih neurona MLP arhitekture broj težinskih faktora: h⋅(n+2)+1 gdje je h broj neurona u skrivenom nivou, a n broj ulaza. Ukoliko raspolažemo manjim brojem redaka od broja težinskih faktora vrlo je vjerojatno da će model jednostavno memorirati ulazne podatke, ali će dati loše rezultate na neviđenim podacima (engl. overfitting). Preporučuje se da se ovako izračunat broj težinskih faktora pomnoži s deset, tj. da se dobije otprilike deset uzoraka za izračun svakog težinskog faktora i da se dobiveni broj još pomnoži s brojem dozvoljenih vrijednosti diskretne izlazne značajke [41]. Velik broj značajki se dobiva transformacijama podataka na viši nivo, odnosno na nivo analize. Teoretski postoji bezbroj načina na koji se značajke mogu kombinirati raznim matematičkim i statističkim transformacijama, no najbolje izvedene značajke su one koje nešto predstavljaju u stvarnom svijetu, po mogućnosti opisuju neku karakteristiku klijenta. Značajke dobivene transformacijama slučajno odabranih originalnih značajki korištenjem "genijalnih" transformacija vrlo vjerojatno na kraju neće biti korisne. Moderni alati nude mogućnost jednostavnih transformacija značajki u svrhu poboljšanja distribucije vrijednosti (npr. grupiranje vrijednosti, logaritamska transformacija). Često se događa da se ista informacija može dobiti iz više koreliranih značajki. Na primjer, da bismo prepoznali klijenta koji nema tekući račun možemo provjeriti značajku status za taj proizvod koji može imati vrijednost "koristi", odnosno "ne koristi". Drugi način je provjeriti da li je značajka broj računa popunjena brojem većim od nule. Treći mogući način je da 21 provjerimo da li značajka stanje ima null vrijednost. Tradicionalne statističke metode poput linearne regresije mogu imati problema s korištenjem jako koreliranih značajki. Prevelik broj značajki može smetati i u treniranju neuronskih mreža, jer rezultira većim brojem težinskih faktora za čije određivanje treba više uzoraka. Drugi nedostatak postojanja koreliranih značajki je moguća pojava nestabilnosti u procesu treniranja. Ukoliko se dogodi mala promjena podataka moguće je da se dobije sasvim drugi model, što je nepoželjna pojava. Potrebno je obratiti pažnju i na vrijednosti značajki koje su značajno različite od očekivanih (engl. outliers), jer takve vrijednosti mogu jako utjecati na izgled i kvalitetu konačnog modela. Npr. plaćanja dobavljačima se vode u aplikaciji koja u svojoj bazi nema matični broj klijenta kojem se plaća. Ti podaci o plaćanjima se u izvještajnim bazama pojavljuju na izmišljenom matičnom broju koji se može pojaviti u ulaznoj tablici. Na njemu će najvjerojatnije biti neuobičajeno veliki iznosi. Evo nekoliko mogućnosti postupanja s takvim vrijednostima: • ostaviti ih kakve jesu – neki algoritmi poput stabla odluke su robusni na velika odstupanja vrijednosti, jer rade sa rasponima u koje raspoređuju vrijednosti, dok neuronske mreže mogu imati problema s nekoliko jako odstupajućih vrijednosti • odbaciti retke – ovo rješenje nije dobro, jer se smanjuje broj redaka u ulaznoj tablici što unosi odstupanje uzorka od stvarne populacije (engl. bias). S druge strane, izbacivanjem prije opisanog specijalnog matičnog broja može se poboljšati konačni model • odbaciti značajku – izostavljanje značajke zvuči kao radikalno rješenje, ali ne mora biti. Izostavljenu značajku moguće je zamijeniti drugom. Npr. moguće je poštanski broj zamijeniti statusnom značajkom, da li je klijent iz Zagreba ili nije • zamijeniti vrijednost drugom – često je moguće odstupajuću vrijednost zamijeniti nulom, srednjom vrijednošću te stupca, minimumom ili maksimumom i sl. Ponekad se vrijednost predviđa izradom modela koji na temelju vrijednosti ostalih stupaca predviđa odstupajuću vrijednost • podijeliti vrijednosti u raspone istih visina – npr. podjelom vrijednosti u raspone: male vrijednosti, srednje i velike. Na taj način odstupajuće vrijednosti će biti raspoređene u neki od raspona. Izrada izvedenih značajki kombiniranjem postojećih zahtijeva puno kreativnosti i iskustva. Kod kreiranja preporučuje se da značajke sadrže neku važnu informaciju, odnosno opisuju neku značajnu i u stvarnosti mjerljivu karakteristiku klijenta. Neke značajke je moguće opisati na više načina. Npr. razliku dviju veličina moguće je definirati kao razliku ili kao omjer tih dviju veličina. Obje opisuju istu značajku na različit način. U principu je dovoljna samo jedna od te dvije. Problem 22 kod omjera je dijeljenje s nulom pa je po potrebi potrebno koristiti programsku logiku da se izbjegnu takve situacije. Vrlo korisne su i značajke dobivene sumiranjem po određenoj poslovnoj dimenziji (npr. prosječna profitabilnost klijenata po poštanskom broju). Ovako dobivena vrijednost će se pojavljivati kod puno klijenata i možda se čini da sadrži istu informaciju kao i poštanski broj, ali zato ovaj stupac omogućuje prepoznavanje klijenata iz različitih županija sa sličnom prosječnom profitabilnošću. Neke značajke sadrže kodirane informacije koje se mogu dekodirati u neke druge značajke. Tako npr. datum ima sljedeća obilježja: • dan u tjednu • dan u mjesecu • mjesec • dan u godini (Julijanski kalendar) • kvartal • status da li se radi o prazniku ili ne • radni dan / neradni dan koja je moguće izdvojiti u posebne značajke. Slične značajke je moguće dobiti i iz vremena (npr. jutro, podne, večer, kasno navečer, noć). Pomoću poštanskog broja ili pozivnog telefonskog broja je moguće dobiti približnu geografsku lokaciju. Vremenske serije omogućavaju kreiranje izvedenih značajki poput prosječnog stanja kroz period, koeficijent rasta u razdoblju, varijanca stanja u promatranom razdoblju i sl. Još jedan od velikih poslova u pripremi podataka je čišćenje istih. Čest oblik "prljavih" podataka su null-vrijednosti. Iako null-vrijednosti izgledaju jednako, mogu se pojavljivati iz više razloga. Npr. klijent nije odgovorio na pitanje u anketi ili u prijavnici nije naveo svoj broj telefona. U posljednjem slučaju moguće je da klijent nije dao svoj broj telefona, jer ne želi da ga se uznemirava telefonskim pozivima što je vrlo važna informacija. Null-vrijednost može biti posljedica stvarnog nepostojanja podatka, npr. novi klijenti će imati null-vrijednost za značajku stanje prije godinu dana, jer tada još nisu bili naši klijenti. Ukoliko izvor nije u mogućnosti isporučiti željeni podatak, na njegovom mjestu će se također pojaviti null (npr. podaci nabavljeni iz vanjskih izvora gdje izvor nije bio u mogućnosti isporučiti podatak). U svim tim slučajevima moguće je koristiti metode navedene u odlomku o vrijednostima koje značajno odstupaju od ostalih. Moguće je podijeliti podatke na one koji imaju unesenu vrijednost i one koji nemaju i napraviti posebne modele za svaku grupu podataka. Ukoliko se null-vrijednosti pojavljuju zbog greške u sustavu 23 koji podatke prikuplja i izdvaja za analizu, potrebno je korigirati sustav i pričekati da isporuči ispravne podatke. Podaci mogu biti krivi i zbog krivog unosa. Npr. ukoliko je neku značajku obavezno unijeti kod unosa podataka, a na njoj se ne provodi dovoljno dobra kontrola unosa, vrlo je vjerojatno da će službenici unositi krive vrijednosti. Npr. ukoliko je u polje potrebno unijeti šifru djelatnosti, koju klijent nije priložio, djelatnik može unijeti 99999 pa se tako kod analize podataka dešava da postoje klijenti s nepostojećom šifrom djelatnosti. U Hrvatskoj je do prije nekoliko godina postojalo nekoliko kodnih stranica za unos "naših" slova. Trenutno se u Hrvatskoj udomaćio standard Windows 1250, ali moguće je da se kod korištenja podataka iz arhive naiđe i na podatke unesene u nekoj drugoj kodnoj stranici. Prije njihova korištenja potrebno je napraviti konverziju kodnih stranica. 24 3. Metode raspoznavanja uzoraka U ovom poglavlju opisane su tri metode raspoznavanja uzoraka: metoda regresije, metoda stabla odluke i metoda umjetne neuronske mreže. Na kraju poglavlja opisano je nekoliko načina ocjene kvalitete modela. 3.1. Regresijske metode Regresijeske metode se svrstavaju u statističke metode raspoznavanja uzoraka [25]. Razlikuju se dvije vrste regresija: linearna i logička [36]. Razlika između linearne i logičke regresije je u tome da se linearna regresija koristi za predviđanje vrijednosti kontinuirane ciljne značajke (realan broj), dok se logičkom regresijom predviđa vjerojatnost određene vrijednosti diskretne ciljne značajke (npr. ciljna značajka s binarnim vrijednostima). Obje metode predviđaju vrijednost ciljne značajke kao funkciju vrijednosti ulaznih [35]. yi = f (x i ) + ε i gdje je yi vrijednost izlazne značajke i-tog slučaja (retka, klijenta), xi je vektor vrijednosti ulaznih značajki također i-tog slučaja, a εi (vektor pogrešaka) su nekorelirane slučajne varijable sa srednjom vrijednošću 0. Općenito funxcija f(.) može biti bilo kakva funkcija za koju se pretpostavlja da dobro opisuje stvarnu [14]. U praksi se najčešće koristi linearna kombinacija vrijednosti ulaznih značajki. y = Xβ + ε y je n×1 vektor vrijednosti izlaznih značajki, X je n×p matrica ulaza (retci predstavljaju klijente, a stupci ulazne značajke), β je p×1 vektor nepoznatih parametara i ε je n×1 vektor nepoznatih grešaka. Svaka ulazna značajka predstavlja stupac matrice X. Prvi stupac matrice X je obično vektor jedinica i koristi se za predviđanje odstupanja (odsječak na osi y). Ukoliko su zadovoljeni sljedeći uvjeti: • u model su uključene sve važne ulazne značajke • očekivana vrijednost pogrešaka je 0 25 • varijance pogrešaka ulaznih pa time i izlaznih značajki su konstantne za sve retke (označava se sa σ2) • pogreške nisu korelirane između redaka (klijenata) tada se vektor nepoznatih parametara β može odrediti metodom najmanjih kvadrata [21]. Metodom najmanjih kvadrata se minimizira suma kvadrata razlika stvarne vrijednosti i vrijednosti dobivene modelom. Procjena b vektora β se dobiva rješavanjem jednadžbe ( X' X)b = X' y iz koje se dobiva da je b = ( X ' X ) −1 X ' y . Označimo li sa H matricu projekcija prostora određenog s X H = X( X' X) −1 X' srednja vrijednost izlaznih značajki dobivenih modelom će biti: yˆ = Xb = Hy Suma kvadrata pogrešaka (engl. Sum of Squares for Error, SSE) iznosi n SSE = (y − yˆ )' (y − yˆ ) = ∑ ( yi − xi b) 2 i =1 gdje je xi i-ti redak matrice X. Uz pretpostavku da je matrica X punog raspona, varijanca greške σ2 se dobiva kao srednja kvadratna pogreška (engl. Mean Square Error, MSE) s 2 = MSE = SSE n− p Parametari i njihove varijance su E (b) = β E (s 2 ) = σ 2 Matrica kovarijanci parametara koje određujemo je Var (b) = ( X' X) −1σ 2 Zamjenom σ2 sa predviđanjem s2, dobiva pa se formula Var (b) = ( X' X) −1 s 2 Korelacija parametara s-½(X'X)-1 s-½ se dobije svođenjem vrijednosti na dijagonali na 1 uz s=diag((X'X)-1). Ukoliko model nije punog ranga, matrica X'X je singularna . Tada se koristi općeniti inverz koji se označava sa (X'X)b = ( X ' X ) − X' Y 26 Opisani način određivanja parametara nije jedini. Postoji puno različitih načina izračunavanja inverza [36]. Poopćenje linearnog modela je općeniti linearni model koji zahtijeva ispunjenje dviju pretpostavki: • ciljna značajka (yi) ima eksponencijalnu distribuciju (normalna, inverzna Gaussova, gamma, Poisson, binominalna) i • moguće je koristiti spojnu funkciju kojom se povezuje srednja vrijednost stvarnih vrijednosti koje se predviđaju sa vrijednostima dobivenim linearnom kombinacijom ulaznih značajki X y = µ +ε η = g ( µ ) = η0 + Xβ gdje je y n×1 vektor stvarnih vrijednosti izlaznih značajki, µ je n×1 vektor srednjih vrijednosti, a ε je n×1 vektor nepoznatih grešaka [35]. Monotona funkcija g(.) spaja srednju vrijednost µ sa vrijednostima dobivenim linernom kombinacijom ulaznih značajki η. η0 je n×1 vektor odstupanja (offset), X je n×p matrica ulaznih značajki, a β je p×1 vektor parametara. Matrica ulaznih značajki se dobiva na isti način kao i kod linearnog modela. Specijalan slučaj općenitog linearnog regresijskog modela je logička regresija, koja kao spojnu funkciju koristi logit funkciju, tj. vrijedi p g ( pi ) = logit ( pi ) = log( i ) = ηi 1 − pi gdje je pi=Pr(y=1|xi), tj. vjerojatnost da izlaz ima vrijednost koju određujemo modelom uz uvjet da ulazne značajke imaju vrijednosti iz i-tog retka [3]. Shematski prikaz logičke regresije je prikazan na slici 3.1. η p= logit-1(η) logit-1 transformacija ulazna obilježja ulazna obilježja Slika 3.1 Logička regresija Izlazna vrijednost linearne regresije, tj. linearna kombinacija vrijednosti ulaznih značajki je u neograničenom rasponu (-∞ do +∞). Upotrebom logit spojne funkcije izlazne vrijednosti se svode u raspon između 0 i 1. Logit transformacija je 27 nelinearna [28]. Kod logičke regresije moguće je koristiti i druge transformacije poput: probit g ( pi ) = Φ −1 ( pi ) i komplementarna log-log g ( pi ) = c log log( pi ) = log(− log(1 − pi )) . 3.1.1. Kodiranje ulaznih značajki koje nisu pravi brojevi Regresijske metode zahtijevaju da sve značajke budu numeričke. Pored toga značajke moraju biti i pravi brojevi. Zbog toga je sve ostale značajke, ukoliko ih je potrebno koristiti u izradi modela, potrebno na neki način kodirati u numeričke vrijednosti. Postoji mnogo načina kodiranja od kojih ću spomenuti tri najčešće korištena: effect, GLM i referentno kodiranje [36]. Effect kodiranjem definira se referentni nivo, a zatim se ostali nereferentni nivoi uspoređuju s prosjekom svih nivoa. Kod GLM kodiranja, svi nivoi se uspoređuju s posljednjim, a kod referentnog kodiranja se, isto kao kod effect kodiranja, određuje referentni nivo, dok se ostali nivoi s njim uspoređuju. Zamislimo da izrađujemo model koji ima jednu znakovnu značajku GRUPA sa sljedećim vrijednostima A, B, C i D. Korištenjem effect kodiranja kreirat će se tri značajke kojima će se definirati pripadnost grupi. Kod ove vrste kodiranja potrebno je definirati referentnu vrijednost za koju će sve tri značajke imati vrijednost -1. Ukoliko u našem primjeru odabremo D kao referentnu vrijednost, kodirana značajka GRUPA će imati sljedeće vrijednosti izvedenih značajki: GRUPA VAR1 VAR2 VAR3 A 1 0 0 B 0 1 0 C 0 0 1 D -1 -1 -1 Tablica 3.2 Effect kodiranje U ovom primjeru, effect kodiranjem dodane su dvije dodatne značajke, ukoliko se iz modela izostavi originalna. GLM kodiranjem kreirat će se četiri dodatne značajke, indikatori pripadnosti pojedinom nivou: 28 GRUPA VAR1 VAR2 VAR3 VAR4 A 1 0 0 0 B 0 1 0 0 C 0 0 1 0 D 0 0 0 1 Tablica 3.3 GLM kodiranje GLM kodiranje dodaje najveći broj dodatnih značajki u usporedbi sa svim prikazanim načinima kodiranja. Referentnim kodiranjem dodaju se tri dodatne značajke, a postupak kodiranja je vrlo sličan effect kodiranju. Također je potrebno odrediti referentni nivo koji u svim dodatnim značajkama ima vrijednost 0. Ukoliko se, jednako kao kod primjera effect kodiranja, odlučimo da D bude referentna vrijednost tablica istinitosti će izgledati ovako: GRUPA VAR1 VAR2 VAR3 A 1 0 0 B 0 1 0 C 0 0 1 D 0 0 0 Tablica 3.4 Referentno kodiranje Povećanjem broja značajki povećava se kompleksnost modela. Broj dodanih značajki ovisi o broju različitih vrijednosti (nivoa) značajke koja se kodira. U tablici 3.5 su dane formule za izračun broja dodatnih značajki za sva tri opisana načina kodiranja ovisno o broju nivoa r značajke koja se kodira ukoliko se originalna značajka izostavi iz modela. Vidljivo je da broj dodatnih značajki, a time i kompleksnost modela raste linearno s brojem nivoa značajke koju se kodira. Zbog toga je, kod korištenja regresije, preporučljivo izbjegavati upotrebu ulaznih značajki s velikim brojem nivoa, ukoliko ju je potrebno kodirati (npr. poštanski brojevi). Vrsta kodiranja Broj dodatnih značajki Effect r-1 GLM r Referento r-1 Tablica 3.5 Broj dodatnih značajki u ovisnosti o broju nivoa r značajke koja se kodira 29 3.1.2. Tehnike odabira ulaznih značajki Analiza raspoznavanjem uzoraka se najčešće radi upotrebom velikog broja značajki. Vrijeme potrebno za regresijsku analizu se najvećim dijelom odnosi na množenje matrica. Ukoliko imamo p značajki i n klijenata tada je vrijeme potrebno za regresijsku analizu proporcionalno s np2 [5]. Zbog toga je poželjno da se u izradu modela uključi što manje značajki, tj. da se odbace one koje imaju minoran utjecaj na kvalitetu konačnog modela. Kada analitičar nije siguran koje značajke može odbaciti, a koje ne, upotrebljavaju se metode postepenog dodavanja i/ili odbacivanja značajki [28]. Ponekad je i sama svrha analize utvrditi koje značajke najviše utječu na ciljnu značajku. Kada je model gotov, moguće je iz veličine parametara uz značajke utvrditi koje značajke najviše utječu na vrijednost izlaza [20]. Prva tehnika ne koristi odabir ulaznih značajki, već se izrađuje regresijski model koji uključuje sve ulazne značajke. Kod ove tehnike postoji samo jedna iteracija koja u izračun uključuje sve ulazne značajke. Zbog toga je ovo vrlo računski pa zbog toga i vremenski zahtjevna metoda koja nije pogodna kod izrade modela s velikim brojem ulaznih značajki [36]. Kod izrade modela forward tehnikom odabira ulaznih značajki započinje se s nul modelom (model bez značajki). Za svaku od ulaznih značajki se tada izračunava F statistika i njena p-vrijednost kojom se opisuje doprinos svake od značajki kvaliteti modela. MSM MSE MSM predstavlja mjeru kojom se opisuje koliko je varijabilnosti izlazne značajke F= opisano modelom, a MSE je očekivanje σ2 i predstavlja mjeru koliko varijabilnosti izlazne značajke nije opisano modelom. Pored same vrijednosti F statistike izračunava se i p-vrijednost koja predstavlja pouzdanost da je F vrijednost jednaka izračunatoj. Kod ove tehnike potrebno je prije procesa izrade modela zadati minimalnu p-vrijednost testa, F statistike koju značajke moraju imati da bi bile kandidati za ulazak u model. U model se dodaje značajka s najvećom vrijednošću F statistike. Tada se u sljedećoj iteraciji ponovno izrađuje model s dodanom značajkom, nakon čega se izračunava F statistika. Proces se ponavlja do trenutka kada su sve značajke uključene u model ili više niti jedna značajka nema dovoljno veliku p-vrijednost F statistike. Backward tehninikom odabira ulaznih značajki se prvo izračunava model koji uključuje sve ulazne značajke, a zatim se u daljnjim iteracijama odbacuju značajke koje najmanje doprinose kvaliteti modela [36]. Kod ove metode, kao i kod 30 prethodne, nakon svake iteracije se izračunava F statistika. Iz modela se odbacuju značajke, jedna po jedna do trenutka kada više niti jedna značajka nema p-vrijednost F statistike veću od zadane vrijednosti, odnosno do trenutka dok se iz modela ne isključe sve značajke. U svakoj iteraciji se iz modela isključuje značajka koja najmanje doprinosi kvaliteti modela, tj. ona s najmanjom F vrijednosti. Stepwise tehnika odabira ulaznih značajki je modificirana forward tehnika. Razlika je u tome da ulazne značajke koje su već uključene u model mogu biti odbačene. Kao i kod forward tehnike značajke se, jedna po jedna, dodaju u model. Također mora biti zadovoljen uvijet da su p-vrijednosti F statistike svake od dodanih varijabli veće od minimalno zadane. Nakon što je značajka dodana u model, provjerava se da li sve značajke koje su uključene u model imaju p-vrijednost F statistike veću od minimalno zadane nakon čega se odbacuju one koje ne zadovoljavaju kriterij. Izrada modela završava u trenutku kada niti jedna značajka, koja nije uključena u model, nema dovoljno veliku p-vrijednost F statistike da ju se uključi u model i kada istovremeno niti jedna značajka uključena u model nema dovoljno malu p-vrijednost F statistike da ju se odbaci iz modela [36]. Upotreba backward tehnike odabira ulaznih značajki se ne preporučuje u izradi modela s binarnom ciljnom značajkom, kada postoji velik broj ulaznih značajki ili u slučaju kada ulazne značajke s diskretnim vrijednostima kod kojih nije važan redoslijed imaju velik broj različitih nivoa. Stepwise tehnika je procesorski više zahtjevna od forward i backward tehnika, ali njena prednost je u tome da provjeri veći broj kandidacijskih modela prije odabira konačnog [3]. 31 3.2. Stablo odluke Stablo odluke je statistička metoda raspoznavanja uzoraka koja se koristi za rješavanje prediktivnih problema uz nadzor učenja. Prediktivni problemi uključuju predviđanje vrijednosti u budućnosti, prepoznavanje uzoraka, regresiju više značajki, razlikovnu analizu, procjenu funkcije više značajki i nadgledano učenje. Za predviđanje vrijednosti ciljne značajke koristi se skup ulaznih značajki. Prediktivnim modelom se mapiraju ulazne značajke na ciljnu. Stabla odluke dijele se po raznim kriterijima. Tako je jedan od kriterija vrsta ciljne značajke prema kojemu se stabla dijele na: • regresijska stabla više značajki, ukoliko je ciljna varijabla realan broj, • stabla za razvrstavanje, ukoliko je ciljna značajka diskretan skup vrijednosti (nivoa). U našem slučaju koristit ćemo stablo za razvrstavanje, jer ciljna značajka ima dva nivoa 0 i 1, ovisno o tome da li klijent koristi proizvod ili ne. Standardna metoda izrade modela korištenjem stabla odluke je rekurzivno particioniranje (engl. recursive partitioning). Rekurzivno particioniranje je metoda kod koje izrada modela kreće od korijena stabla (engl. top-down method). Prvo se usporede moguće podjele na temelju jedne značajke. Kod realnih brojeva uspoređuju se podjele kod svake vrijednosti koja se pojavljuje u toj značajki. Kod diskretnih vrijednosti kod kojih nije važan redoslijed, uspoređuju se podjele svih mogućih kombinacija bez ponavljanja. Za odabir najbolje podjele postoje razni kriteriji kojima se mjeri smanjenje varijabilnosti distribucije ciljne značajke u granama ispod (engl. child nodes) u usporedbi s granom na kojoj se radi podjela (engl. parent node). Podjela u korijenu predstavlja podjelu ulaznog prostora na dva podprostora s granicom paralelnom jednoj ulaznoj dimenziji (značajki). Ta podjela se tada ponavlja u svakoj sljedećoj grani dok sve grane ne postanu potpuno čiste ili dok se ne zadovolji neki od kriterija zaustavljanja (engl. stopping rule). Moguće je da, pomoću ulaznih značajki koje su na raspolaganju, nije moguće postići potpunu čistoću podgrana. Evo nekoliko ilustracija složenosti algoritma. Na temelju diskretne značajke kod koje je važan redoslijed vrijednosti (engl. ordinal) sa L različitih vrijednosti, moguće je napraviti L − 1 (L − 1 )! = C(L − 1,B − 1 ) = B − 1 (B − 1 )!(L − B)! različitih podjela na B grana. Broj mogućih podjela na značajki kod koje nije važan redoslijed vrijednosti (engl. nominal) sa L različitih vrijednosti na B grana je S(L,B) 32 gdje je S(L,B) Sterlingov broj druge vrste. Ukupan broj mogućih podjela je za jedan manji od Bellovog broja B L = L ∑ S(L,i) . Ovaj broj vrlo brzo raste s porastom broja i =0 vrijednosti L (1, 1, 2, 5, 15, 52, 203, 877, 4140, 21147, 115975, 678570, 4213597, ...). Usporedba svih mogućih podjela najčešće nije provediva zbog prevelikog broja mogućih podjela pa su razvijene razne tehnike kojima se smanjuje broj podjela koje se dalje uspoređuju. 3.2.1. Kriteriji odabira najbolje podjele Za odabir najbolje podjele postoje mnogi kriteriji: entropija ili dobitak na informaciji (Morgan i Messenger 1973, Quinlan 1986), omjer dobiti (Quinlan 1986), Gini indeks raznolikosti (Morgan i Messenger 1973, Breiman 1984), Lopez de Mantras-ova funkacija udaljenosti (Lopez de Mantras 1991), ORT (Fayyad i Irani 1992), χ2 test (Kass 1980, Quinlan 1986, White i Liu 1994) [12]. Opisati ćemo i koristiti Gini indeks, entropiju i χ2 test. Gini indeks je mjera kojom se mjeri nečistoća u čvoru i(p1,p 2 ,...,p r ) = 1 − r ∑ pi2 i =1 gdje su p1, p2,...,pr relativne frekvencije svih klasa u čvoru. Kriterij je nazvan prema talijanskom ekonomistu (~ 1912.) i ne treba ga miješati s Gini koeficijentom kojim se mjeri nejednolikost priljeva u ekonomiji. U ekologiji, Gini indeks se naziva Simpsonov indeks raznolikosti, a pojavljuje se i u analizi kriptografije. Gini indeks je moguće interpretirati kao vjerojatnost da dva slučajno izabrana elementa iz nekog skupa budu različiti. Potpuno čist skup (jedna vrsta elemenata) ima Gini indeks jednak 0. S porastom broja klasa, s jednakim brojem elemenata, Gini indeks se približava 1. Kod binarnih ciljnih značajki, kao što je kod nas slučaj, Gini indeks prelazi u 2p1(1-p1) i ima maksimalnu vrijednost 0.5 kada je skup jednako zastupljen s obje klase. Druga mjera nečistoće skupa koju ćemo koristiti za izradu prediktivnog modela je entropija koja je definirana kao: H(p1,p 2 ,...,p r ) = − r ∑ pi log 2 ( pi ) i =1 gdje su p1, p2,..., pr relativne frekvencije klasa u čvoru. Entropija je prosječna rijetkost i koristi se kao mjera nesigurnosti izlaza (npr. u telekomunikacijama se koristi kao mjera nesigurnosti prijenosa znaka) (Shannon 1948.). Entropija ima sljedeća svojstva: 33 0 ≤ H(p1,p 2 ,...,p r ) ≤ H( 1 1 1 , ,... ) r r r 1 1 1 , ,... ) = log 2 (r ) r r r H (1,0,...,0) = 0 H( 1 Entropija 0.5 Gini indeks 0 0 0.5 1 p1 Slika 3.6 Usporedba mjera raznolikosti skupa za binarnu ciljnu značajku Breiman (1996) je pokazao da kod stabala za razvrstavanje s binarnom ciljnom značajkom vrijedi pravilo da Gini kriterij izolira najveću klasu ciljne značajke u jednu granu, dok se korištenjem entropije dobivaju podjele s podjednakom gustoćom klasa ciljne značajke u granama [44]. Treći kriterij koji ćemo koristiti za ocjenu podjele je Pearsonov χ2 test (~1900.). U ovoj primjeni testom se mjeri da li su proporcije klasa jednake u svim podgranama, na način da se mjeri razlika između stvarne i očekivane frekvencije klasa u podgranama po formuli: (O − E) 2 χ2 = E gdje je O stvarna vrijednost, a E očekivana vrijednost. Očekivana vrijednost se dobije po formuli ( a − b) E= c gdje su a - ukupan broj jedinki u podgrani, b - broj jedinki promatrane klase u grani koju se dijeli c - ukupan broj jedinki u grani koju se dijeli Vrijednost χ2 testa, zbog kvadrata u brojniku ima vrijednosti između 0 i +∞. χ2 test je osjetljiv na broj stupnjeva slobode ν = (r-1)(B-1) gdje je r broj kategorija ciljne značajke, a B broj grana na koji se svaka grana dijeli. Pored toga test je osjetljiv i na veličinu grane koju se dijeli (povećanjem broja jedinki u grani koju se dijeli raste vrijednost testa). Očekivana vrijednost testa sa ν stupnjeva 34 slobode jednaka je ν. χ2 kriterij podjele koristi p-vrijednost χ2 testa (Kass 1980.). pvrijednost testa je vjerojatnost da χ2 test ima vrijednost veću ili jednaku O (stvarna vrijednost), uz uvjet da je distribucija vrijednosti ciljne značajke jednaka u svim granama. Kada je p-vrijednost vrlo mala, uobičajena je upotreba logworth-a kojem vrijednost raste kako se p-vrijednost smanjuje. log worth = − log10 ( p) Kriterij podjele se koristi prvo za odabir najbolje podjele na svakoj od značajki, a zatim za odabir najbolje od njih. Oba koraka mogu zahtijevati korekcije da bi se mogla napraviti usporedba rezultata, bez odstupanja. Kod usporedbe podjela na jednoj značajki pomoću vrijednosti χ2 testa, Gini testa ili entropije potrebno je napraviti korekciju vrijednosti testa, jer s porastom broja grana na koje se dijeli, raste i vrijednost testova. Kod podjela na dvije grane, korekcija nije obavezna. Kod usporedbe podjela na različitim značajkama postoji drugi problem. Maksimalni logworth raste s porastom broja mogućih podjela m. Zbog toga bi, bez upotrebe korekcije, bile preferirane podjele na značajkama s većim brojem mogućih podjela. Zato je razvijena mjera dobiti informacije, koja je omjer vrijednosti testa u podgrani i grani koju se dijeli (Quinlan 1993) [44]. Kass (1980) je predložio upotrebu Bonferronijeve korekcije p-vrijednosti. Ovom korekcijom se p-vrijednost množi s m, što je ekvivalentno oduzimanju log10(m) od logworth-a. Prema Kass-u p-vrijednost se korigira nakon što je određena podjela na svakoj značajki. Korekciju je moguće napraviti prije ili poslije odabira najbolje podjele na pojedinim značajkama. Korekcijom p-vrijednosti prije odabira najbolje podjele dobiva se bolja usporedba podjela nego upotrebom korekcije na temelju broja stupnjeva slobode. 3.2.2. Nedostajuće vrijednosti U pozitivne karakteristike metode stabla odluke ubraja se i mogućnost rada s nedostajućim vrijednostima (engl. missing values), koje se promatraju kao dodatna kategorija vrijednosti značajke. Kod upotrebe drugih metoda raspoznavanja uzoraka, regresije ili neuronskih mreža, nije moguće direktno koristiti nedostajuće vrijednosti pa se redak u kojem se one pojavljuju u bilo kojoj značajki odbacuje. Zbog postojanja dodatnog nivoa (vrijednosti) ulazne značajke, povećava se broj mogućih podjela pa je potrebna dodatna korekcija vrijednosti testova. Kako bi se stabla učinila što robusnija, dodana je mogućnost pronalaženja zamijene za svaku značajku pomoću koje je napravljena podjela (surogat). U tom slučaju, kod apliciranja modela na neviđene podatke, kada model naiđe na nedostajuću vrijednost značajke na kojoj treba napraviti podjelu, model će upotrijebiti zamjensku značajku. 35 3.2.3. Složenost Složenost stabla odluke je funkcija broja grana, broja podjela jedne grane i dubine stabla. Dobro stablo odluke ima karakteristiku da ima malo odstupanje (dobro se adaptira na signal) i malu varijancu (ne adaptira se na šum). Stablo nedovoljne kompleksnosti imat će veliko odstupanje i malu varijancu, dok će stablo prevelike kompleksnosti imati malo odstupanje uz veliku varijancu. U odabiru konačnog stabla najčešće se odlučujemo za neku sredinu. Određivanje kompleksnosti se još naziva podrezivanje stabla. Postoje dvije tehnike podrezivanja. Prva je odozgo prema dolje, kod koje se pomoću pravila zaustavljanja prekida daljnji rast stabla. Druga je odozdo prema gore, kod koje se prvo kreira stablo najveće kompleksnosti, a zatim se odstranjuju grane dok se ne postigne željena složenost. Rast stabla je moguće ograničiti limitiranjem maksimalne dubine stabla (definiranjem maksimalnog broja nivoa), definiranjem minimalnog broja jedinki u čvoru da bi se napravila podjela ili nekom drugom statističkom metodom (npr. podjela se neće raditi ako nije statistički opravdana). Kod χ2 testa za ocjenu opravdanosti podjele koristi se p-vrijednost. Pored do sada opisanih korekcija pvrijednosti χ2 testa koristi se još i korekcija zbog dubine čvora koji se želi podijeliti. Kod stabla za razvrstavanje s binarnom ciljnom varijablom, faktor korekcije je 2d gdje je d nivo na kojem se nalazi čvor koji se želi podijeliti. Odstranjivanje grana za vrijeme rasta stabla je obično brže, ali manje djelotvorno od odstranjivanja grana nakon što se kreira cijelo stablo. Ove dvije tehnike je moguće i kombinirati i na taj način postići i brzinu i kvalitetu. Tehnikom odstranjivanja grana nakon što je stablo kreirano, grane se odstranjuju uz istovremeno mjerenje performansi stabla. 3.2.4. Kriteriji ocjenjivanja kvalitete stabla odluke Performanse stabla se mjere na neviđenim podacima upotrebom npr. odvojene tablice s podacima za provjeru (validacijska tablica) ili upotrebom zahtjevnije kros-validacijske metode (Breiman 1984, Ripley 1996). Logičan kriterij prema kojem će se ocjenjivati kvaliteta stabla je njegova točnost. Točnost stabla je moguće definirati na više načina. Mjerenje postotka točno razvrstanih uzoraka je jedna tehnika mjerenja točnosti modela. Svaka krajnja grana stabla se razvrstava u neki od nivoa izlazne značajke ovisno o omjeru klijenata u toj grani. Tako se npr. kod stabla za razvrstavanje s binarnom ciljnom značajkom, sve jedinke iz grane u kojoj je postotak jedinki jedne klase veći od 50%, sve jedinke iz te grane proglašavaju jedinkama te klase. Prag od 50% može biti i niži ukoliko modelom opisujemo rijetku pojavu. 36 Ukoliko je moguće definirati dobitak, odnosno gubitak po jedinici analize, tada je moguće kao kriterij kvalitete koristiti ukupan profit/gubitak i odabrati stablo s maksimalnim profitom, odnosno minimalnim gubitkom. Pravilo za raspoređivanje jedinki u najprofitabilniju granu je Bayesovo pravilo (Breiman 1984, Ripley 1996). Bayesovo pravilo ovisi o stvarnim vjerojatnostima pripadnosti nekoj od klasa, dok se u praksi umjesto stvarnih vjerojatnosti koriste izračunate. Kada se stablo koristi za određivanje vjerojatnosti pripadnosti jedinki nekoj od klasa, Breiman (1984) preporučuje korištenje Gini indeksa za određivanje grana koje treba odstraniti. Tako je nastala jedna nova vrsta stabla koja koristi Gini indeks i kod rasta stabla i kod odstranjivanja suvišnih grana (engl. class probability tree). Moguće je dokazati da je optimiranje vrijednosti Gini indeksa jednako minimiziranju sume kvadrata pogrešaka između 0/1 klasa i vjerojatnosti dobivene modelom (Breiman 1984). Mjera nečistoće svih grana (engl. total Gini leaf impurity) se računa kao vagana sredina Gini indeksa u svakoj grani. Kao težinski faktori se koriste veličine grana: L L r nl nl TotalGini = Gini (l ) = 1− pli2 n n i =1 l =1 l =1 ∑ ∑ ∑ pli je vjerojatnost pripadnosti klasi i (od ukupno r klasa ciljne varijable) u l-toj grani (od ukupno L) dobivena pomoću modela. 3.2.5. Stabilnost Stabla odluke su po svojoj prirodi vrlo nestabilna. Mala promjena podataka pomoću kojih se trenira model, može rezultirati velikim promjenama topologije stabla. Istovremeno performanse stabla će najvjerojatnije ostati približno iste. Nestabilnost se javlja zbog velikog broja mogućih podjela koje često imaju približno jednaku važnost (engl. competitor splits). Tako mala promjena podataka može dovesti do sasvim druge podjele, koja dalje unosi promjene u sve grane ispod sebe. 3.2.6. Poznate tehnike metoda stabala odluke U okviru ovog rada biti će aproksimirane i uspoređene tri poznate tehnike stabala odluke: CHAID, BFOS i C4.5. 3.2.6.1. CHAID tehnika CHAID (engl. chi-squared automatic interaction detection) tehnika zahtjeva da ulazne značajke imaju diskretne vrijednosti kod kojih je važan redoslijed (engl. ordinal) ili diskretne vrijednosti kod kojih nije važan redoslijed (engl. nominal). Mnogi alati nude mogućnost korištenja značajki s realnim brojevima za ulazne 37 značajke na način da se vrijednosti automatski grupiraju u raspone prije nego se traže podjele. Podjele se odabiru pomoću p-vrijednosti χ2 distribucije. p-vrijednost se korigira kako bi se omogućila usporedba više različitih podjela. Dozvoljena je upotreba nedostajućih vrijednosti (engl. missing values) koje se tretiraju kao dodatna vrijednost ulazne značajke. Odabir najbolje podjele na jednoj značajki ide postupno. Prvo se svakoj vrijednosti ulazne značajke dodijeli posebna grana. Zatim se grane spajaju i ponovno dijele ovisno o p-vrijednosti. Originalni Kass-ov CHAID algoritam se zaustavljao kada nikakvo spajanje ni dijeljenje nije davalo odgovarajuću pvrijednost, čime je dobivena konačna podjela. Uobičajena alternativa ovoj tehnici je iscrpna tehnika. Ovom tehnikom spajanje grana se nastavlja dok se ne postigne podjela na dvije grane. Tada se između svih razmatranih podjela za odabire ona s najvećom p-vrijednosti. Nakon što se za svaku ulaznu značajku odabere najbolja podjela, korigira se p-vrijednost i tada se od svih podjela odabire ona koja ima najveću p-vrijednost. Do podjele dolazi samo ako je p-vrijednost manja od specificirane. Konstrukcija stabla završava kada su sve korigirane p-vrijednosti značajki koje se razmatraju za podjelu veće od zadanog praga. 3.2.6.2. BFOS tehnika Breiman, Friedman, Olshen i Stone (BFOS) su u svojoj knjizi Classification and Regression Trees (1984) predstavili algoritam koji zahtijeva da ulazne značajke budu ili realni brojevi ili diskretne vrijednosti kod kojih nije važan redoslijed. Diskretne vrijednosti kod kojih je važan redoslijed se tretiraju kao realni brojevi. Za binarnu ciljnu značajku s dvije moguće vrijednosti, kao u našem slučaju, predlaže se Gini kriterij podjele. Najbolja podjela se kod BFOS metode traži kroz iscrpnu potragu za najboljom podjelom na dvije grane. Omogućeno je i korištenje linearnih kombinacija značajki u procesu traženja najbolje podjele, ali je zbog korištenja heurističkih metoda potrage za najboljom, moguće da se podjela najbolje linearne kombinacije ne pronađe. Kod kreiranja podjele retci s nedostajućim vrijednostima neke od značajki koja se koristi za podjelu se zanemaruju. Koriste se i zamjenske varijable (surogat) kada zbog nedostajuće vrijednosti u značajki pomoću koje treba napraviti podjelu, podjelu na njoj nije moguće napraviti. Tada se podjela radi na zamjenskoj značajki. Kada niti uz pomoć zamjenskih značajki nije moguće napraviti podjelu redak se svrstava u granu s najvećim brojem redaka. Kada je u čvoru koji treba podijeliti, prevelik broj jedinki, uzima se uzorak na temelju kojeg se radi podjela. U svakom čvoru se uzima nezavisan uzorak. Omogućena je implementacija korekcija vjerojatnosti i specificiranje troškova krivog razvrstavanja u definiciju kriterija podjele. Stablu se dozvoljava da previše naraste, a zatim se uz pomoć 38 dodatne tablice (engl. validation data set) i definicije faktora složenosti odstranjuju grane. Odabire se stablo koje daje najbolje rezultate na validacijskoj tablici. Ukoliko validacijska tablica nije na raspolaganju koristi se kros-validacija (engl. crossvalidation), metoda kod koje se ista tablica koristi i za učenje i za ocjenu kvalitete. 3.2.6.3. C4.5 i C5.0 tehnike 1993. godine Quinlan je predstavio C4.5 algoritam. Ovaj algoritam zahtijeva da ciljna značajka bude s diskretnim vrijednostima kod kojih nije važan redoslijed (engl. nominal), dok ulazne značajke mogu biti realni brojevi ili diskretne vrijednosti kod kojih nije važan redoslijed. Preporučeni kriterij podjele je entropija. Ova tehnika kod ulaznih značajki s realnim brojevima traži najbolju podjelu na dvije grane. Kod ulaznih značajki s diskretnim vrijednostima kod kojih nije važan redoslijed prvo se svakoj vrijednosti pridjeljuje posebna grana, a zatim se postepeno grane spajaju sve dok raste mjera kvalitete podjele. Spajaju se grane koje najviše pridonose povećanju mjere kvalitete podjele. Kod računanja entropije, odbacuju se retci u kojima značajka na kojoj se traži podjela ima nedostajuću vrijednost. Kada značajka na temelju koje treba napraviti podjelu prema dobivenom kriteriju ima nedostajuću vrijednost, taj redak se zamjenjuje na način da se svakoj grani na koju se čvor dijeli dodijeli redak. Retcima se dodaju težinski faktori tako da ukupna vrijednost dodanih redaka odgovara izostavljenom retku. Težinski faktori su istovremeno proporcionalni veličinama grana. Stablu se dozvoljava da naraste preveliko, a zatim se izdvaja dio koji ima najmanju sumu očekivanih brojeva krivo razvrstanih jedinki u svim granama. Originalni algoritam omogućava i upotrebu "fuzzy" podjela, tj. ukoliko je vrijednost ulazne značajke s realnim brojevima blizu nivoa podjele, redak se dijeli na dva (jedan za svaku granu) kojima se pridodaje odgovarajući težinski faktor. Veličina težinskog faktora je proporcionalna udaljenosti od nivoa podjele, a njihov zbroj odgovara težinskom faktoru originalnog retka. Ovom algoritmu je vrlo sličan i algoritam C5.0. Razlika je u tome da algoritam C5.0 omogućava korištenje matrice troškova krivog razvrstavanja, "boosting" i krosvalidaciju i poboljšan je algoritam za traženje podjela. Zbog svoje prirode da značajke s realnim brojevima dijeli na dvije grane, a diskretne vrijednosti dijeli na više grana C4.5 i C5.0 algoritmi preferiraju podjelu na nominalnim značajkama. 39 3.3. Neuronske mreže Umjetne neuronske mreže su razvili istraživači koji su pokušavali oponašati neuropsihologiju ljudskog mozga. Kombiniranjem mnoštva osnovnih računskih elemenata (neurona) u jedan spojeni sustav znanstvenici su se nadali da će proizvesti složeni fenomen inteligencije [4]. Posljednjih godina, znanstvenici su u mreže integrirali mnoge statističke metode i metode numeričkih analiza. Neovisno o tome da li su znanstvenici uspjeli postići određen stupanj umjetne inteligencije, umjetne neuronske mreže su se razvile u vrlo korisnu metodu raspoznavanja uzoraka. Pronalaženjem složenih odnosa u podacima, neuronske mreže se mogu koristiti za rješavanje problema iz stvarnog života. Uobičajena je upotreba neuronskih mreža u određivanju kreditnog rizika, marketingu i predviđanju prodaje [10]. Od početka 90ih godina prošlog stoljeća, neuronske mreže se smatraju alternativom statističkim metodama. Danas postoje alati koji omogućuju analitičarima da pomoću neuronskih mreža rade analize i bez znanja kako one funkcioniraju. Neuronske mreže kao ni ostale metode raspoznavanja uzoraka ne mogu stvoriti informacije od loših ulaznih podataka. I za njih vrijedi pravilo da nije moguće kreirati kvalitetan model uz pomoć loših ulaznih podataka (engl. "garbage in, garbage out") [4]. Neuronska mreža se sastoji od osnovnih jedinica, tzv. neurona. Postoje tri vrste neurona: ulazni, skriveni i izlazni. Na ulazne se dovode vrijednosti ulaznih značajki, koje se po potrebi još standardiziraju. Skriveni neuroni rade unutarnje izračune zbog čega omogućuju nelineranost modela. Izlazni neuroni izračunavaju vrijednost koju predviđamo i uspoređuju dobivenu vrijednost sa stvarnom. Jedinice prosljeđuju izračune jedna drugoj kroz veze. Veze su jednosmjerne i određuju smjer toka informacija [45]. U okviru radnje biti će implementirane i uspoređene feed forward neuronske mreže kod kojih veze ne mogu činiti petlje. Svaki neuron izračunava jedan rezultat koji se prosljeđuje dalje, definiranim vezama. Rezultat izračuna izlaznog neurona se u statistici naziva predviđanje. Kada se ta vrijednost usporedi sa stvarnom vrijednosti ciljne značajke izračunava se funkcija pogreške koja se metodama učenja nastoji minimizirati [23]. Većina veza unutar mreže ima dodijeljen broj koji se naziva težinski faktor. Proces učenja se sastoji od iterativnog podešavanja težinskih faktora s ciljem smanjenja funkcije pogreške. Skriveni i izlazni neuroni koriste dvije vrste funkcija za izračun izlazne vrijednosti. Svi izračuni koji dolaze na ulaz neurona s prijašnjih nivoa se kombiniraju u jednu vrijednost upotrebom kombinacijske funkcije. Kombinacijska funkcija se sastoji od težinskih faktora, odstupanja i ulaznih vrijednosti [4]. Postoje dvije osnovne vrste kombinacijskih funkcija: 40 • linearna kombinacijska funkcija - izračunava linearnu kombinaciju težinskih faktora i na kraju dodaje odstupanje • radijalna kombinacijska funkcija - izračunava kvadratnu Euklidsku udaljenost vektora težinskih faktora i vektora ulaznih vrijednosti koja se na kraju skalira kvadratom faktora odstupanja Vrijednost dobivena kombinacijskom funkcijom se transformira aktivacijskom funkcijom koja nema parametre [23]. Postoji mnogo vrsta aktivacijskih funkcija, dok se najčešće koriste sljedeće: • linearna funkcija - ne mijenja argument. Raspon izlaznih vrijednosti je neograničen • sigmoidne funkcije - funkcije u obliku slova S kao npr. logistic i tanh kojima su izlazne vrijednosti ograničene i nalaze se u rasponu od 0 do 1, odnosno -1 do 1 • softmax funkcija - u statistici se još naziva višestruka logistic funkcija. Funkcija softmax čini kombinaciju osnovnih logistic funkcija uz uvjet da je zbroj pojedinačnih izlaznih vrijednosti uvijek jednak 1 • funkcije vrijednosti - ograničene fukcije zvonolikog oblika kao npr. Gaussova funkcija • eksponencijalne i recipročne funkcije - funkcije koje su ograničene s donje strane vrijednošću 0 dok s druge strane nisu ograničene. Mreža se može sastojati od velikog broja neurona. Neuroni se grupiraju u nivoe. Tako može postojati nekoliko ulaznih nivoa, nekoliko skrivenih i nekoliko izlaznih nivoa. Uobičajeno je da se svi neuroni jednog nivoa spajaju sa svim neuronima na sljedećem nivou. Neuroni koji se nalaze na istom nivou obično imaju ista svojstva (npr. ulazni neuroni jednog nivoa prihvaćaju vrijednosti ulazne značajke istog tipa (npr. realne brojeve) i koriste istu metodu standardizacije) [45]. 3.3.1. Arhitekture neuronskih mreža Jedna od najstarijih vrsta neuronske mreže je perceptron. Perceptron koristi linearnu kombinaciju ulaza za kombinacijsku funkciju. Originalno, perceptroni su koristili funkciju praga kao aktivacijsku funkciju što je računski vrlo zahtjevno. U praksi se najčešće koristi logistic aktivacijska funkcija. Neuronska mreža s više međusobno povezanih skrivenih nivoa, koja koristi linearnu kombinacijsku funkciju i sigmoidnu aktivacijsku funkciju se naziva multilayer perceptron ili skraćeno MLP [33]. U modernim alatima za analize, analitičar nije ograničen samo na korištenje standardnih kombinacijskih i aktivacijskih funkcija, već mu se nudi upotreba mnoštva različitih predefiniranih funkcija. Pored toga moguće je modelima dodati i 41 direktne veze ulaza i izlaza kojima se dodaje linearnost. Moguće je proizvoljno spajanje nivoa zbog čega je moguće implementirati najrazličitije topologije [45]. Ukoliko raspolažemo dovoljnom količinom podataka, dovoljnim brojem skrivenih neurona i imamo dovoljno vremena, upotrebom MLP-a moguće je aproksimirati bilo koju funkciju do bilo kojeg stupnja točnosti. Zbog toga su MLP-i poznati kao univerzalni aproksimatori i mogu se koristiti kada je nepoznat odnos ulaza i izlaza [23]. Jedan skriveni nivo će najčešće dati zadovoljavajuću aproksimaciju, ali ponekad je moguće iste ili bolje rezultate dobiti korištenjem dodatnih nivoa s manjim brojem neurona. w11 x1 w21 x2 w22 w12 w1 g 0−1 ( E ( y )) = w0 + w1 H1 + w2 H 2 H1 w31 w32 w2 y H1 = g1 ( w01 + w11 x1 + w21 x2 + w31 x3 ) H 2 = g 2 ( w02 + w12 x1 + w22 x2 + w32 x3 ) H2 x3 Slika 3.7 Transfer funkcija MLP-a Na slici 3.7 je prikazan MLP sa jednim skrivenim nivoom. S lijeve strane imamo tri ulazne značajke x1, x2 i x3. H1 i H2 predstavljaju dva skrivena neurona u skrivenom nivou. Sa slovima wxx i wx označeni su težinski faktori koji se određuju u procesu učenja. Funkcija g0(.) predstavlja izlaznu aktivacijsku funkciju pomoću koje se izlaz transformira u željeni raspon (slično kao spojna funkcija kod regresijskih metoda). gi(.) su nelinearne funkcije koje predstavljaju aktivacijske funkcije skrivenih neurona. Argumenti aktivacijskih funkcija su kombinacijske funkcije koje su u ovom slučaju linearna kombinacija. Faktori w01 i w02 nisu prikazani na slici, mada se nekad prikazuju kao dodatni ulazi. Oni predstavljaju parametar odstupanja. Kod MLP-a efekt skrivenog nivoa odnosi se na cijeli ulazni prostor, dok se kod Gaussove radial basis function (RBF) neuronske mreže efekt skrivenog nivoa odnosi na lokalno područje čiji centar određuje vektor težinskih faktora [41]. U modernim alatima moguće je implementirati proizvoljne topologije RBF neuronskih mreža ili koristiti neke od ponuđenih predefiniranih kojima se po potrebi mogu dodatno podešavati parametri. Moguće je npr. u mrežu između ulaza i skrivenog nivoa dodati skriveni nivo s linearnom kombinacijskom funkcijom i na taj način implementirati eliptical basis function neuronsku mrežu [45]. Kod RBF neuronskih mreža ne postoji ništa što bi odgovaralo odstupanju kod MLP-a. Umjesto odstupanja, 42 RBF mreže imaju parametar širine uz svaki skriveni neuron ili uz cijeli skriveni nivo. Kod MLP-a odstupanje se pribrajalo u kombinacijskoj funkciji, dok se kod RBF mreže Euklidska udaljenost dijeli s parametrom širine. Neke radijalne kombinacijske funkcije koriste parametar zvan visina koji predstavlja maksimalnu visinu Gaussove krivulje iznad horizontalne osi [33]. Postoji više arhitektura RBF mreža [41]. Obična RBF mreža (ORBF) koristi eksponencijalnu aktivacijsku funkciju pa je aktivacijska funkcija neurona impuls Gaussova oblika dimenzija ovisnih o ulazima. Drugi tip arhitekture su normalizirane RBF mreže (NRBF) koje koriste softmax aktivacijsku funkciju pa je zbroj odziva aktivacijskih funkcija svih skrivenih neurona jednak 1. g 0−1 ( E ( y )) = w0 + w1 H1 + w2 H 2 2 H1 = exp(− w01 (( x1 − w11 ) 2 + ( x2 − w21 ) 2 + ( x3 − w31 ) 2 )) 2 H 2 = exp(− w02 (( x1 − w12 ) 2 + ( x2 − w22 ) 2 + ( x3 − w32 ) 2 )) Slika 3.8 Transfer funkcija ORBF neuronske mreže Na slici 3.8 dan je prikaz ORBF neuronske mreže s izvodom njezine transfer funkcije. ORBF mreža je feed forward mreža s jednim skrivenim nivoom. Za razliku od MLP-a, skriveni neuroni u ORBF mreži predstavljaju površine zvonolikog (Gasussovog) oblika negdje u ulaznom prostoru. Radijalne kombinacijske funkcije određuju udaljenost svakog ulaza od centra. Zbog toga su ulazi najčešće standardizirani. Težinskim faktorima određuje se centar. Težinski faktori w0i su inverzno proporcionalni širini funkcije. Predznak istog faktora određuje da li će površina biti konveksna ili konkavna. ORBF mreže su također teoretski univerzalni aproksimatori. Pojedinačne osnovne funkcije imaju lokalni efekt oko svojih centara za razliku od MLP-a gdje se efekt skrivenog nivoa odnosi na cijeli ulazni prostor. Zbog toga broj skrivenih neurona koje treba uključiti u skriveni nivo ovisi o broju ulaza pa je ponekad potrebno uključiti vrlo velik broj neurona kako bi se smanjio efekt ispupčenja [45]. Procesom učenja određuju se parametri širine i centara. Oni se najčešće određuju nekom nenadziranom metodom učenja kao npr. grupiranjem. Npr. centri se smještaju u centar segmenata u ulaznom prostoru, a širine su proporcionalne korijenu srednje kvadratne udaljenosti između točaka u tom segmentu i njegovog centra. Ova metoda učenja je efikasna, ali rezultat učenja je "kvrgav" ukoliko se ne koristi velik broj osnovnih funkcija (neurona). Nadgledanim učenjem je moguće optimirati širine kako bi se izbjegla "kvrgavost", ali time se gubi efikasnost učenja koje se produljuje, dok istovremeno ostaju lokalni efekti ispupčenja [41]. 43 Normalizirane radial basis function (NRBF) neuronske mreže (slika 3.9) koriste softmax aktivacijsku funkciju radijalne kombinacije ulaza [33]. Softmax aktivacijskom funkcijom je postignuto da zbroj H1 + H 2 + L + H h = 1 , gdje je h broj neurona u skrivenom nivou. Bazne funkcije su omjeri Gaussove površine i sume svih Gaussovih površina. Gausova funkcija ei sadrži parametar visine ai koji definira maksimalnu visinu. Konstanta f (fan-in) je broj veza prema neuronu. g 0−1 ( E ( y )) = w1H1 + w2 H 2 + w3 H 3 H1 = e1 e2 e3 H2 = H3 = e1 + e2 + e3 e1 + e2 + e3 e1 + e2 + e3 ei = exp( f ⋅ ln(ai ) − w02i (( x1 − w1i ) 2 + ( x2 − w2i ) 2 + ( x3 − w3i ) 2 )) Slika 3.9 Transfer funkcija NRBF neuronske mreže Odstupanje izlaza je izostavljeno iz gornjeg izvoda, jer ga softmax ograničenje H1 + H 2 + L + H h = 1 čini redundantnim. Sljedeći izvod pokazuje kako se w0 odstupanje apsorbira. w0 + w1 e1 e e + w2 2 + L + wk k = ∑ ei ∑ ei ∑ ei = 1 ( w0 ∑ ei + w1e1 + w2e2 + L + wk ek ) = ∑ ei = 1 ( w0e1 + w0e2 + L + w0ek + w1e1 + w2 e2 + L + wk ek ) = ∑ ei = ( w0 + w1 ) e1 e e + ( w0 + w2 ) 2 + L + ( w0 + wk ) k ∑ ei ∑ ei ∑ ei U izvodu k predstavlja broj ulaza. Parametar visine ai omogućava da pojedinačne Gaussove funkcije imaju različite visine. Kod ORBF neuronskih mreža, parametar visine bi bio redundantan, jer bi se apsorbirao unutar težinskih faktora veza između skrivenog i izlaznog nivoa. Tablicom 3.10 je prikazano pet mogućih varijanti NRBF mreža. Vrsta mreže Skraćeni naziv Ograničenje Broj parametara Jednake širine i visine NRBFEQ ai=1 w0i=w0j h(k+1)+1 Različite širine i jednake visine NRBFEH ai=1 h(k+2) Jednake širine i nejednake visine NRBFEW w0i=w0j h(k+2)+1 Jednakog volumena NRBFEV ai=w0i h(k+2) Bez ograničenja NRBFUN h(k+3) Tablica 3.10 Varijante NRBF neuronskih mreža 44 NRBF se od ORBF neuronskih mreža razlikuju i po tome da softmax ograničenje ∑H i = 1 daje pojedinačnim baznim funkcijama neurona distribuirani karakter kao kod MLP-a. Bazne funkcije mogu biti fleksibilnije od sigmoidnih funkcija. Svaka bazna funkcija je ograničena na raspon između 0 i 1. Funkcije poprimaju vrijednosti 0 ili 1 samo za ekstremne vrijednosti ulaza. Bazne funkcije mogu poprimiti različite nemonotone oblike. NRBFEQ je najjednostavniji oblik NRBF mreže: ei = exp(− w02 ∑ ( x j − w ji ) 2 ) j Smanjenjem ograničenja dobiva se na fleksibilnosti, ali se istovremeno povećava mogućnost nestabilnosti modela posebno ako dozvolimo varijaciju parametara širine. Na Internetu je moguće pronaći detaljnije usporedbe karakteristika i specifičnosti MLP, ORBF i NRBF neuronskih mreža [33]. 3.3.2. Proces učenja Procesom učenja određuju se nepoznati parametri mreže. Svaka točka u pdimenzionalnom prostoru parametara je moguće rješenje. Za određivanje parametara koriste se optimizacijski algoritmi [4]. Prije korištenja algoritma potrebno je odrediti kriterij za određivanje parametara. Taj kriterij se naziva funkcija pogreške kojom se mjeri odstupanje dobivene izlazne vrijednosti od vrijednosti koju predviđamo modelom. Cilj učenja je odrediti vrijednosti parametara kojima se minimizira vrijednost funkcije pogreške. Najpoznatija i često korištena funkcija pogreške je metoda najmanjih kvadrata: n Q( w) = ∑ ( yi − µi ( w)) 2 i =1 Postoje i drugi kriteriji poput najmanjih apsolutnih devijacija: n Q( w) = ∑ yi − µi ( w) i =1 Svaka funkcija pogreške će rezultirati drugim dobivenim parametrima. Odabir kriterija ovisi o statističkim svojstvima ulaza, izlaza i funkcije koju opisujemo modelom. Često korištena metoda je metoda maksimalne sličnosti [33]. Kao funkcija pogreške koristi se negativni logaritam sličnosti, koji se procesom učenja minimizira: n Q( w) = − ln(l ( w)) = − ln ∏ fgv( yi , w) i=1 45 Kod korištenja ovog kriterija potrebno je poznavati distribuciju vrijednosti ciljne varijable. Ukoliko su slučajevi koje koristimo u procesu učenja nezavisni, sličnost se računa kao produkt pojedinačnih funkcija gustoće vjerojatnosti. Funkcija sličnosti je pripadna vjerojatnost promatranih podataka izražena pomoću parametara. Parametri predstavljaju mod distribucije, zbog čega su to vrijednosti s kojima će model, s najvećom vjerojatnošću, dati promarane podatke. Ova metoda ima mnoga poželjna statistička svojstva kao npr. asimptotsko približavanje rješenju i konzistentnost. Zbog velikog broja korištenih funkcija pogrešaka, ostale neće biti opisane u okviru ove radnje pa se zainteresirani čitatelj upućuje na literaturu pod rednim brojem [45]. Nakon što je odabrana funkcija pogreške moguće je započeti proces učenja kojim se korištenjem neke optimizacijske metode minimizira funkcija pogreške. Kako se radi o nelinearnom modelu ne postoje eksplicitne formule pomoću kojih je moguće direktno odrediti vrijednosti parametara. Zbog toga se koriste razne numeričke iterativne metode [33]. Funkcijom pogreške definirana je površina u parametarskom prostoru. Numerički optimizacijski algoritmi koriste svojstva te površine kako bi pronašli minimum. Ukoliko vrijednost parametara u a-toj iteraciji označimo sa w(a), tada je vrijednost parametara u sljedećoj a+1 iteraciji dana sa w(a+1) = w(a) + δ(a). Pribrojnikom δ(a) definiran je smjer i dužina koraka [45]. Jedna od poznatih optimizacijskih metoda je gradijent metoda. Gradijent g(a) je vektor parcijalnih derivacija funkcije pogreške s vrijednostima parametara iz a-tog koraka. Gradijent pokazuje u smjeru najstrmijeg rasta. Korak se radi u suprotnom smjeru. Duljina koraka η se u terminologiji neuronskih mreža još naziva brzina učenja. Ukoliko je η prevelik, može doći do divergencije algoritma. Ukoliko specificiramo premali η, proces učenja će biti spor. Korištenjem ove metode postoji mogućnost neotkrivanja globalnog minimuma funkcije pogreške, već proces učenja može završiti u nekom lokalnom [33]. Druga verzija ovog algoritma je korištenje promjenjive dužine koraka δ ( a ) = −η ( a ) g ( a ) Ovom metodom također se radi korak u smjeru suprotnom od najstrmijeg rasta vrijednosti funkcije pogreške, ali do točke minimuma u tom smjeru. Nedostatak ove metode je isti kao i prethodne, jer i dalje ostaje mogućnost završetka u lokalnom minimumu [33]. Dodavanjem momenta αδ(a-1), originalnom gradijent algoritmu, dobiva se backpropagation algoritam: δ ( a ) = −ηg ( a ) + αδ ( a−1) Parametrom α, se određuje koliko se sljedeći korak korigira prijašnjim. Pozitivna strana ovog algoritma je smanjena mogućnost završetka u lokalnom minimumu, ali 46 je zato povećana mogućnost divergencije. U praksi je potrebno eksperimentirati kako bi se odredile dobre vrijednosti brzine učenja i parametra momenta. Sofisticiranije metode backpropagation algoritma koriste ad hoc metode dinamičkog određivanja brizne učenja za svaku iteraciju posebno, kao i ostalih parametara. U literaturi je moguće pronaći opise mnoštva sofisticiranijih metoda učenja kao npr. Conjugate Gradient Descent, Newton-Based metoda, Levenberg-Marquardt, ... [45] 47 3.4. Ocjenjivanje i usporedba metoda za raspoznavanje uzoraka U izradi prediktivnog modela moguće je dozvoliti takvu složenost modela da se njime idealno razvrstavaju klijenti iz tablice koju se koristi za učenje modela. Takav model ustvari memorira tablicu iz koje uči (engl. over fitting) i vrlo je mala vjerojatnost da bi taj model dobro razvrstavao neviđene podatke. Postoji više načina kako zaustaviti rast složenosti modela, npr. kod stabla odluke moguće je ograničiti maksimalan broj grana. Preporučena metoda je podjela ulazne tablice na dvije od kojih će se jedna koristiti za učenje modela (engl. training data set) i druge za ocjenu ponašanja modela na neviđenim podacima (engl. validation data set). Pogreška modela mjeri se na obje tablice i učenje se prekida kada je pogreška na neviđenim podacima najmanja (vidi sliku 3.11). veliko odstupanje pogreška under fitting velika varijanca over fitting validation data set training data set složenost modela Slika 3.11 Ovisnost pogreške modela u ovisnosti o njegovoj složenosti Slika 3.11 prikazuje kako se s povećanjem složenosti modela (npr. povećanjem broja grana kod stabla odluke) smanjuje pogreška modela na podacima korištenim za učenje. Istovremeno pogreška istog modela na neviđenim podacima u početku pada. Nakon određenog stupnja složenosti modela, model počinje memorirati pogreške iz tablice iz koje uči. Zbog toga raste pogreška razvrstavanja neviđenih podataka. Odabire se model koji ima najmanju pogrešku na neviđenim podacima. Provjeru kvalitete izrađenih prediktivnih modela, u slučaju da nismo sigurni u reprezentativnost tablica korištenih za učenje i odabir, radi se uz pomoć treće tablice (engl. test data set). Na taj način radimo provjeru kvalitete na podacima koji nisu korišteni u izradi modela. Karakteristike modela se mogu opisati statistički i grafički. Vrijednosti na glavnoj dijagonali u tablici 3.12 (engl. confusion matrix) predstavljaju broj točno razvrstanih klijenata dok ostale vrijednosti predstavljaju brojeve krivo razvrstanih 48 klijente (α i β greške, ponegdje Type I i Type II ili FN (false negative) i FP (false positive)). Stvarna vrijednost Predviđena vrijednost 1 0 1 TP FP 0 FN TN Tablica 3.12 Broj točno i krivo razvrstanih klijenata Jedan od kriterija usporedbe modela može biti postotak točno razvrstanih klijenata. Postotak se računa kao omjer točno razvrstanih klijenata i ukupnog broja klijenata p= (TP + TN ) (TP + TN + FP + FN ) i poželjno je da bude što bliže 100%. Tablica 3.12 može se prikazati i grafički (vidi sliku 3.13). Slika 3.13 Broj točno i krivo razvrstanih klijenata Na slici je vidljivo da je vrlo velik broj klijenata, potencijalnih korisnika proizvoda, krivo razvrstan. Istovremeno, zanemariv je broj klijenata razvrstanih kao potencijalni korisnici, a koji to ustvari nisu. Na smanjenje tih grešaka moguće je utjecati korištenjem težinskih faktora kojima će se model nagrađivati za točno razvrstavanje i kažnjavati za netočno. Za ocjenu kvalitete modela koristit će se i drugi kriteriji. Slika 3.14 prikazuje postotak potencijalnih korisnika u uzorku (engl. cumulative response). 49 Slika 3.14 Postotak potencijalnih korisnika u uzorku Da bi shvatili što graf prikazuje potrebno je znati kako je nastao. U našem slučaju, klijenti koji se žele opisati modelom su potencijalni korisnici proizvoda. Svaki klijent se modelom ocjenjuje ocjenom u rasponu između 0 i 1, odnosno postotkom koji govori koliko je vjerojatno da će klijent kupiti proizvod. Ocjena nula znači da klijent sigurno neće kupiti proizvod, dok ocjena 1 znači da će ga klijent sigurno kupiti. Graf nastaje tako da se klijenti sortiraju prema ocjeni od najveće do najmanje. Klijenti se zatim podijele u deset jednako širokih raspona - decila. Na kraju se izračuna stvarni postotak potencijalnih korisnika u uzorku, što se nanosi na os y. Plava linija prikazuje koliko bi se potencijalnih korisnika nalazilo u uzorku kada bi se klijenti odabirali metodom slučajnog uzorka. Tako je iz grafa vidljivo da će se slučajnim uzorkovanjem bez obzira na veličinu odabranog uzorka u njemu biti 20.5% potencijalnih korisnika. Druga je krajnost savršen model, prikazan žutom linijom. Vidljivo je da bi uz pomoć takvog modela bilo moguće sve potencijalne korisnike naći u uzorku veličine 20.5%, jer ih upravo toliko i ima u populaciji. Kako se svi potencijalni korisnici već nalaze u prve dvije decile, odabirom većeg uzorka smanjuje se postotak potencijalnih korisnika u uzorku, jer se u uzorak uključuju i ostali klijenti. Crvena, nama najzanimljivija linija, prikazuje performanse stvarnog modela. Vidljivo je da će u uzorku veličine 10% populacije, upotrebom modela biti odabrano 42.12% potencijalnih korisnika, što je 2 puta više nego u slučajnom uzorku. Grafikon na slici 3.15 prikazuje omjer potencijalnih korisnika odabranih upotrebom modela i broja potencijalnih korisnika u cijeloj populaciji. Plavom linijom je opet prikazan postotak potencijalnih korisnika koji bi se nalazio u slučajnom uzorku. Tako će npr. u slučajnom uzorku veličine 20% populacije biti 20% svih potencijalnih korisnika, odnosno potrebno je uzeti cijelu populaciju ako želimo obuhvatiti sve potencijalne korisnike. 50 Slika 3.15 Graf odziva Žuta linija pokazuje koliko je potencijalnih korisnika moguće odabrati savršenim modelom. Opet je vidljivo da bi se takvim modelom obuhvatilo sve potencijalne korisnike uzorkom veličine 20%. Graf dobrog modela bi trebao biti što dalje od osnovne linije i što bliže liniji savršenog modela. Graf na slici 3.15 prikazuje karaktirestiku prilično lošeg modela, jer je linija vrlo blizu osnovne linije. Usporedbom sa grafom savršenog modela vidi se da još ima mnogo prostora za poboljšanje. Slika 3.16 Graf dobitka Graf dobitka na slici 3.16 je po obliku isti kao graf na slici 3.14. Razlika je u tome što je u ovom grafikonu na os y nanesen omjer performansi modela u odnosu na osnovni model, odnosno slučajni uzorak. Graf prikazuje koliko će puta više potencijalnih korisnika biti odabrano uz korištenje modela u odnosu na odabir slučajnim uzorkom, tj. bez korištenja modela. Na grafu je vidljivo da bi, teoretski, savršeni model bio 4.88 puta bolji od osnovnog u prvoj decili, dok je graf prikazanog modela 2.05 puta bolji. 51 Slika 3.17 Receiver Operating Characteristic (ROC) graf Receiver Operating Characteristic (ROC) graf (vidi sliku 3.17) se također koristi za ocjenjivanje kvalitete modela. Os x predstavlja postotak krivo razvrstanih pozitivnih ishoda (engl. false positives), dok je na os y nanesen omjer točno razvrstanih pozitivnih ishoda u odnosu na ukupan broj pozitivnih ishoda. x ... broj krivo pozitivnih ishoda / ukupan broj ishoda y ... broj točno razvrstanih pozitivnih ishoda / ukupan broj pozitivnih ishoda Modelom se predviđa vjerojatnost pozitivnog ishoda, tj. vjerojatnost da klijent kupi proizvod. Na ROC grafu je moguće očitati točnost modela ovisno o izabranom pragu (minimalna potrebna vjerojatnost da bi se ishod smatrao pozitivnim). Točka grafa u gornjem desnom uglu grafikona predstavlja karakteristiku modela kada bi prag bio 0%. Tada su svi klijenti razvrstani kao potencijalni kupci (uključujući i sve one koji to nisu). Točka u donjem lijevom uglu predstavlja karakteristiku modela kada je prag 100%. Tada su svi klijenti razvrstani kao nezainteresirani za proizvod (ukuljučujući i sve one koji u stvari jesu zainteresirani). Ovisno o stvarnoj vrijednosti praga, radna točka je negdje između. Loš model ima karakteristiku blizu pravca pod 45°. Savršeni model bi bio onaj koji bi prolazio gornjim lijevim uglom grafikona. Dakle, graf dobrog modela će prolaziti blizu gornjeg lijevog ugla grafikona. Graf na slici 3.17 je daleko od ugla što upućuje na relativno lošu kvalitetu modela. ROC graf se još koristi za određivanje najbolje radne točke, tj. veličine praga s kojim se dobije najtočnije razvrstavanje, na način da se odabire radna točka najbliža gornjem lijevom uglu. 52 4. Implementacija i eksperimentalni rezultati 4.1. Metodologija analize Podatke korištene u okviru ove radnje nam je ustupila jedna hrvatska financijska institucija. Odlučeno je da se napravi analiza metodama raspoznavanja uzoraka na jednom dijelu klijenata (pravne osobe), na način da se odrede potencijalni korisnici financijskih proizvoda iz široke palete proizvoda koje im institucija nudi. U dogovoru s poslovnim stručnjacima dogovoreno je da osnovna jedinica analize bude klijent. To znači da će jedan redak osnovne tablice za analizu predstavljati podatke o jednom klijentu. Ključ za prepoznavanje klijenta je njegov matični broj. Također je dogovoreno koji će proizvodi biti uključeni u analizu. Dio proizvoda je izostavljen zbog trenutne nemogućnosti pribavljanja podataka o njima. I pored toga, analizom će biti obuhvaćen relativno velik broj proizvoda (122 različita proizvoda) za koje bi bilo teško napraviti kvalitetne modele za prepoznavanje uzoraka zbog relativno malog broja klijenata korisnika tih proizvoda. Analizama je utvrđeno brojčano stanje prodanih proizvoda i broj klijenata njihovih korisnika, za svaki od tih 122 proizvoda. U suradnji s poslovnim stručnjacima određeno je koji su proizvodi po prirodi slični i zbog toga se mogu promatrati kao grupa proizvoda. U tome je od velike pomoći bila jedna izvještajna OLAP (engl. On-Line Analytic Processing) aplikacija u kojoj su ti proizvodi predstavljali jednu poslovnu dimenziju. Proizvodi su bili grupirani u nekoliko nivoa u jednoj od hijerarhija. Zbog prevelikog broja različitih proizvoda koji se nude klijentima i njihovoj sličnosti, u dogovoru s poslovnim stručnjacima određen je nivo hijerarhije na kojem će se raditi analiza raspoznavanjem uzoraka. Tako je definirano 15 različitih grupa proizvoda. Definirane grupe proizvoda imaju zadovoljavajući broj klijenata, njihovih korisnika (vidi tablicu 4.1). 53 Grupa proizvoda Broj proizvoda u korištenju Broj klijenata, korisnika proizvoda Grupa 1 4.069 3.821 Grupa 2 2.563 1.847 Grupa 3 167 89 Grupa 4 310 228 Grupa 5 2.892 2.497 Grupa 6 1.267 405 Grupa 7 680 396 Grupa 8 193 116 Grupa 9 900 285 Grupa 10 323 72 Grupa 11 566 142 Grupa 12 86.985 86.615 Grupa 13 811 426 Grupa 14 15.667 14.607 Grupa 15 309 118 Tablica 4.1 Broj prodanih proizvoda i broj klijenata, korisnika proizvoda Klijenti koji će biti obuhvaćeni analizom su pravne osobe, tj. poduzeća. Dogovoreno je da će se kao domena analize za proizvode 12, 13, 14 i 15, koristiti svi klijenti s kojima naša financijska institucija ima bilo kakav poslovni odnos. Za ostale proizvode domena potencijalnih korisnika je nešto uža, jer se ti proizvodi ne nude visokorizičnim klijentima. Istovremeno je odlučeno da se izbace neki od 122 proizvoda koje institucija iz poslovnih razloga više ne želi prodavati. Nakon izbacivanja tih proizvoda broj grupa proizvoda je i dalje ostao isti, dok su se brojke u tablici 4.1 neznatno smanjile. Sljedeći korak je osmišljavanje metodologije izrade prediktivnog modela. Poslovni korisnici žele da im se analizom utvrdi pet proizvoda koje će klijent najvjerojatnije htjeti koristiti i da ih se sortira po vjerojatnosti od više vjerojatnog do manje vjerojatnog. Tako je zaključeno da će konačna tablica imati oblik kao tablica 4.2. Matični broj Proizvod 1 Proizvod 2 Proizvod 3 Proizvod 4 Proizvod 5 01111111 04 02 05 03 13 02222222 04 05 02 14 08 03333333 02 05 03 13 04444444 12 04 02 05555555 02 05 03 11 06666666 12 12 12 12 08888888 04 01 02 01 10 12 Tablica 4.2 Popis proizvoda koje će klijent najvjerojatnije htjeti koristiti 54 Postoje klijenti kojima se nudi manje od pet proizvoda. Za te klijente je moguće da ostale proizvode već koriste ili su previše rizični da bi im se bilo što drugo ponudilo. Iz prethodne rečenice može se zaključiti još jedna vrlo važna činjenica, a to je da institucija ne želi nuditi klijentu one proizvode koje on već ima. Na taj način institucija štedi vrijeme svojih djelatnika, a istovremeno postiže veće zadovoljstvo klijenata, jer ih ne zamara propagandom proizvoda kojeg već ionako imaju. Ustvari, postoji jedan mali broj proizvoda koje klijenti mogu imati i više od jednoga, ali radi se o zanemarivom broju klijenata kojima je to u interesu i koji su na to spremni. Prema preporukama iz literature odlučeno je da se za svaku grupu proizvoda napravi poseban model i da se tada odabere pet proizvoda s najvećom ocjenom [16]. Pri tome treba paziti da se ispune sljedeći uvjeti: • ocijene moraju biti međusobno usporedive za svih petnaest grupa proizvoda • ukoliko klijent već ima proizvod, on mora biti ocijenjen s takvom ocjenom da mu se proizvod ne nudi • ocjena mora biti proporcionalna popularnosti proizvoda. Prvi uvjet se jednostavno postiže tako da se odredi isti raspon ocjena za sve proizvode, koji je u našem slučaju od 0 do 1. Ukoliko je proizvod ocijenjen s 0 on se neće nuditi klijentu, dok bi jedinica značila da je proizvod savršeno primjeren tom klijentu (po modelu naravno) i da će ga sigurno htjeti koristiti. Drugi i treći uvjet je moguće zadovoljiti tako da se ocijene svi klijenti, a onda se klijentima koji već imaju proizvod dodijeli ocjena 0 za taj proizvod. Na taj način se postiže proporcionalnost ocjene proizvoda relativnoj popularnosti proizvoda kod ostalih klijenata u uzorku, korištenom u izradi modela, odnosno cijeloj populaciji, ako je uzorak reprezentativan. Prema konačnom dogovoru, napravit će se odvojeni prediktivni modeli za svaku od 15 grupa proizvoda. Za svaku grupu proizvoda priredit će se posebna ulazna tablica značajki klijenata potencijalnih korisnika te grupe proizvoda. Za svaku grupu proizvoda biti će napravljeno više različitih modela upotrebom različitih tehnika i odabrat će se najbolji model kojim će se ocijeniti svi klijenti. Dobivene ocjene za svaku od grupa proizvoda će se usporediti za svakog klijenta posebno. Šifre 5 grupa proizvoda, s najvećim ocjenama, za svakog klijenta, će biti upisane u konačnu tablicu (vidi tablicu 4.2). Kako se isti postupci koriste za izradu prediktivnih modela, za svaku od 15 grupa proizvoda, u ovom poglavlju će biti prezentirana izrada modela samo za grupu proizvoda 1. 55 4.2. Raspoloživi podaci Podaci koji su na raspolaganju se većinom nalaze u centralnom skladištu podataka u DB2 bazama podataka, dok je ostatak prikupljen kao Sas i Excel tablice. Tablice i podaci koji se u njima nalaze su relativno dobro dokumentirani pa je tako uz pomoć poslovnih stručnjaka brzo zaključeno koji su podaci i značajke važni za analizu, a koji ne. Analizom podataka je utvrđeno da se u skladištu podataka ne čuvaju geografske značajke klijenata, već se one mogu pronaći u bazi jedne transakcijske aplikacije. Proces dobivanja podataka iz te aplikacije je bio složen i spor. Prvo je izgubljeno nekoliko dana na specificiranje, pisanje, potpisivanje, slanje i izvršavanje zahtijeva za dodjelu ovlasti (komplicirana administracija). Sljedeći korak je bio potraga za dokumentacijom tablica baze i njeno proučavanje. Iz dokumentacije smo saznali da se baza sastoji od dvadesetak tablica čija normaliziranost omogućava brzo i pouzdano izvršavanje transakcija, tj. unosa i ispravaka. Iz iste dokumentacije nije bilo moguće shvatiti što predstavljaju neka od polja. Njihova značenja su utvrđena u suradnji s poslovnim stručnjacima zaduženim za unos i ažuriranje podataka u toj aplikaciji. Tek tada je sazvan sastanak s poslovnim stručnjacima za analizu na kojem je određeno koje su geografske značajke važne za analizu metodama raspoznavanja uzoraka, a koje će se izostaviti. Nakon toga je bilo moguće napisati programe kojima su podaci povučeni iz transakcijske baze i transformirani u Sas tablicu. Najstariji podatak u skladištu podataka je iz lipnja 1996. Tada je napravljena prva izvještajna aplikacija (aplikacija 1 na slici 4.3). Aplikacija je zadovoljavala dio tadašnjih izvještajnih potreba. Ostali izvještaji su se i dalje producirali od strane odjela informatike koji je i bez toga bio preopterećen izradom i održavanjem transakcijskih aplikacija (problem Y2K). Zadovoljstvo poslovnih korisnika dobivenim podacima koje je bilo moguće kvalitetnije analizirati dovelo je do želje za sličnim analizama podataka i iz drugih aplikacija. Splet povoljnih okolnosti omogućio je 1999. projektiranje i izradu pravog skladišta podataka koje se od tada redovito puni podacima. U skladištu podataka pronađeni su podaci iz 6 potencijalno zanimljivih transakcijskih aplikacija. Promjena zakona dovela je do gašenja aplikacije 1 u lipnju 1999. godine, a od tada je to poslovno područje prema novim zakonskim normama pokriveno aplikacijama 2 i 3. Aplikacije 1, 2 i 3 su osmišljene za pokrivanje izvještajnih potreba i obuhvaćaju velik broj podataka o proizvodima. Aplikacije 4, 5 i 6 nadopunjuju aplikacije 1, 2 i 3 podacima o još tri skupine proizvoda. Arhiva transakcijske baze podataka, koja sadrži geografske podatke, seže do travnja 1997. 56 Slika 4.3 Raspoloživi podaci Na jednom od sastanaka s poslovnim korisnicima odlučeno je da se prvo napravi prediktivni model za grupu proizvoda 1. Prvi korak u izradi modela je priprema ulazne tablice. Kako se ta grupa proizvoda ne nudi svim klijentima, izdvojen je podskup klijenata prema zadanim kriterijima. Na taj način su iz baze klijenata izdvojeni samo potencijalni korisnici te grupe proizvoda (njih 65.023). Prema preporukama, u izradi modela će se koristiti 6 mjeseci povijesti pomoću kojih će se predviđati jedan mjesec unaprijed (vidi sliku 4.4) [16]. Slika 4.4 Podaci korišteni za analizu Sa izradom modela krenulo se u siječnju 2001. Na raspolaganju su bili podaci do prosinca 2000. uključujući i prosinac. Kako je siječanj već dobrim dijelom prošao, želimo predvidjeti potencijalne korisnike proizvoda u mjesecu veljači 2001. Zbog toga se javlja mjesec pauze označen sa "x" na slici 4.4. U izradi modela će se koristiti najnoviji podaci koji su na raspolaganju, tako da će se pomoću podataka od svibnja do listopada predviđati stanje u prosincu. Mjesec studeni se izostavlja kako bi se uključio mjesec pauze (mjesec u kojem se izrađuje model). Takav model se lagano translatira kroz vrijeme. 4.3. Izdvajanje značajki Transformacijama podataka iz transakcijske aplikacije 1 dobiveno je 16 značajki koje obuhvaćaju geografske značajke i značajke svojstvene poduzećima kao npr. šifra djelatnosti. Iz aplikacije 5, transformacijama je dobiveno 26 značajki proizvoda za svaki mjesec, odnosno ukupno 156 stupaca. Iz aplikacije 2, dobiveno je 52 značajke proizvoda za svaki mjesec, odnosno 312 stupaca. Pažljivim promatranjem moguće je primjetiti da veći dio značajki čine značajke proizvoda, a tek jedan mali dio se odnosi na geografsku lokaciju i opis poduzeća. Tablici je na kraju dodana ciljna značajka koja određuje da li je klijent korisnik grupe proizvoda ili ne, u prosincu 2000. Proizvod se vodi u aplikaciji 2, iz koje je svakom klijentu dodana binarna značajka s vrijednošću 1 ili 0, ovisno o tome da li je klijent koristio 57 grupu proizvoda ili nije. Vrijednost te značajke će se upotrebom metoda raspoznavanja uzoraka određivati pomoću preostalih 484 značajki koje čine ulaz u model. Pored ulaznih značajki i jedne ciljne, tablici su dodane još 3 značajke: matični broj, podbroj i naziv klijenta radi lakše kontrole rezultata. Tako je, u trenutku kada će se pojaviti podaci za veljaču, moguće provjeriti točnost predviđanja modela. 4.4. Implementacija metoda raspoznavanja uzoraka Za pripremu podataka korišten je Sas System softver verzija 8.1e, odnosno modul Sas/Base (dalje Sas), a prediktivni modeli su implementirani upotrebom modula Sas Enterprise Miner verzije 4.0 (dalje Sas EM). Sas je razvio vlastitu metodologiju izrade prediktivnih modela (tzv. SEMMA) koja se sastoji od sljedećih šest koraka: • Uzorkovanje (engl. Sample) – ovaj korak obuhvaća proces odabira ulaznih značajki, odabir manjeg uzorka, ukoliko je potrebno i podjelu ulazne tablice. Ulaznu tablicu se preporučuje podijeliti na tablicu s podacima pomoću kojih će se trenirati model (engl. training data set), tablicu s podacima koji će se koristiti za odabir najboljeg modela (engl. validation data set) i tablicu s podacima za provjeru ponašanja modela na neviđenim podacima (engl. test data set, hold-out). • Istraživanje podataka (engl. Explore) – istraživanje podataka statističkim i grafičkim metodama (istraživanje podataka uz pomoć grafova, statističkom analizom, odabir važnih značajki). • Promjena podataka (engl. Modify) – priprema podataka za analizu (kreiranje novih izvedenih značajki i transformacija postojećih, pronalaženje i otklanjanje velikih vrijednosnih odstupanja, rješavanje problema s vrijednostima koje nedostaju, analiza značajki segmentacijom i upotrebom SOM ili Kohonen mreža) • Izrada modela (engl. Model) – izrada prediktivnog modela, tj. predviđanje vrijednosti ciljne značajke korištenjem neke od poznatih metoda raspoznavanja uzoraka (npr. razne regresijske metode, metode stabla odluke, neuronske mreže ili impelemntacijom vlastite metode) • Procjena modela (engl. Assess) – usporedba izrađenih modela i odabir najboljeg, usporedbom rezultata tabelarno i grafički 4.4.1. Definiranje ulaznih značajki Prvi korak u procesu izrade prediktivnog modela je definiranje ulazne tablice (engl. input data source). Osim definiranja ulazne tablice, potrebno je definirati i koje će se značajke koristiti kao ulazne, a koja kao ciljna (engl. target). 58 Istovremeno je potrebno neke od značajki izostaviti iz izrade modela kao npr. matični broj i naziv (vidi sliku 4.5). Slika 4.5 Definiranje uloga i tipova značajki Potrebno je definirati i tipove značajki (engl. measurement). Mogući tipovi značajki su: • binarne vrijednosti (engl. binary), • realni brojevi (engl. interval), • diskretne vrijednosti kod kojih je važan redoslijed (engl. ordinal) i • diskretne vrijednosti bez redoslijeda (engl. nominal). Ponuđena je i mogućnost da alat sam odredi tip značajke, ali na kraju je ipak potrebno provjeriti rezultat i po potrebi napraviti ručne korekcije. Za svaku od značajki tipa realni broj, tabelarno su prikazani osnovni statistički podaci na temelju kojih je moguće dobiti brzu predodžbu o raspodjeli vrijednosti. U našem slučaju provjereno je da li postoje značajke u kojima nedostaju vrijednosti (engl. missing values). U pripremi ulazne tablice nepostojeće vrijednosti su već bile korigirane prema specifikaciji za svaku značajku posebno. U izradi specifikacije, vrlo korisne su bile sugestije poslovnih stručnjaka. Zbog dobre prethodne pripreme podataka, nedostajuće vrijednosti nisu primijećene niti u jednoj značajki. Neke metode raspoznavanja uzoraka, zbog nemogućnosti rada s nedostajućim vrijednostima, odbacuju retke u kojima se iste pojavljuju. To može biti uzrok značajnih odstupanja uzorka na kojem se trenira model od cjelokupne populacije te zbog toga uzorak više ne mora biti reprezentativan predstavnik populacije. Zato se u slučaju postojanja nedostajućih vrijednosti preporučuje njihova zamjena. Sas EM omogućava zamjenu nedostajućih vrijednosti mnogobrojnim metodama (engl. imputation methods) za svaku značajku posebno. U sljedećem koraku promotrene su distribucije vrijednosti svih značajki upotrebom histograma (vidi sliku 4.6). Neke metode raspoznavanja uzorka su osjetljive na distribuciju vrijednosti značajki. Tako npr. metoda stabla odluke tipa 59 C4.5 zahtijeva normalnu distribuciju vrijednosti značajki. Sas EM omogućava jednostavne linearne transformacije, kao npr. logaritmiranje vrijednosti, eksponenciranje i neke nelinearne transformacije, kao npr. podjela vrijednosti u raspone jednakih visina, kojima je moguće popraviti distribuciju vrijednosti. Nekim značajkama nije bilo moguće popraviti distribuciju vrijednosti niti upotrebom transformacija vrijednosti pa su ostavljene u originalnom obliku. Od linearnih transformacija najčešće je korišteno logaritmiranje, a od nelinearnih podjela vrijednosti u raspone jednakih visina. Histogram na slici 4.6 prikazuje eksponencijalno padajuću raspodjelu vrijednosti značajke A02. Raspodjelu je moguće popraviti upotrebom logaritamske transformacije. Slika 4.6 Histogram na kojem je vidljiva eksponencijalno padajuća raspodjela vrijednosti značajke A02 4.4.2. Uzorkovanje Upotrebom metoda raspoznavanja uzoraka napravit će se prediktivni modeli kojima će se predviđati vrijednost ciljne značajke da li je klijent korisnik grupe proizvoda 1 ili nije. Ukupni broj klijenata u populaciji je 65,023 klijenata od kojih je 5,443 korisnika proizvoda, tj. samo 8.37%. Kako se radi o dovoljno velikom broju klijenata korisnika proizvoda, za uzimanje uzorka s većim udjelom korisnika proizvoda koristit ćemo stratificirano uzorkovanje. Tako je napravljen uzorak veličine 10% populacije, odnosno veličine 6,502 klijenata od kojih je 1,300 klijenata korisnika proizvoda (20% uzorka) i 5,202 klijenta koji nisu korisnici (80% uzorka). Slika 4.7 pokazuje proporcije klijenata korisnika proizvoda i klijenata koji ne koriste proizvod unutar cijele populacije i dobivenog uzorka. Slika 4.7 Proporcije unutar populacije i uzorka 60 Kako se stratificiranim uzorkovanjem ne dobiva reprezentativni uzorak populacije, prediktivni model koji će biti napravljen korištenjem tog uzorka imat će veće ocjene za klijente korisnike proizvoda, nego što bi imao korištenjem populacije. Zbog toga će na kraju biti potrebno napraviti korekciju ocjena. 4.4.3. Podjela podataka Kako raspolažemo dovoljno velikim brojem slučajeva (redaka, klijenata) koje ćemo koristiti za izradu modela, podijelit ćemo ih u tri tablice: tablicu s podacima pomoću kojih se uči model (training), tablicu s podacima koji će se koristiti za odabir najboljeg modela (validation) i tablicu s podacima za usporedbu modela i ocjenu njihove kvalitete u razvrstavanju neviđenih podataka (test). Na taj način ćemo biti u mogućnosti spriječiti efekt memoriranja podataka pomoću kojih se uči model i izabrati onaj koji najbolje razvrstava neviđene podatke. Pored toga, imat ćemo na raspolaganju i dodatne neviđene podatke na kojima ćemo napraviti usporedbu različitih metoda i tehnika raspoznavanja uzoraka. U našem slučaju podijelili smo ulaznu tablicu na tri opisane tablice sa sljedećim proporcijama: training 40%, validation 30% i test 30%. Prepuručuju se i drugi omjeri, npr. neki autori preporučuju i koriste drugi omjer 60-30-10 (training-validation-test) [16]. Moguće su razne tehnike podjele podataka u te tri tablice no odlučili smo se za metodu slučajnog uzorka. Dobivene tablice imaju sljedeći broj redaka: training 2,601, validation 1,951 i test 1,950. 4.4.4. Implementacija metode regresije Metoda logičke regresije, opisana u 3. poglavlju biti će implementirana upotrebom Sas EM alata Regression. Na slici 4.8 prikazani su prozori alata Decision tree koji se koriste za podešavanje parametara procesa učenja modela. Značenje i utjecaj parametara je teoretski opisan u 3. poglavlju. a) b) 61 c) Slika 4.8 Parametri učenja U prvom prozoru moguće je odabrati linearnu ili logičku regresiju. Odabrana je logička regresija, jer se tom tehnikom predviđa vjerojatnost da klijent kupi proizvod (rezultat je u rasponu od 0 do 1), za razliku od linearne regresije kod koje je rezultat u rasponu od -∞ do +∞. Spojna funkcija (engl. link function) je funkcija koja se koristi za transformaciju rezultata standardne linearne regresije u željeni raspon. U našem slučaju odlučili smo se za logit funkciju (vidi 3. poglavlje). Za način na koji će se kodirati ulazne značajke, koje nisu pravi brojevi, odabrana je deviation tehnika. Parametar o kojem jako ovisi dobiveni model je tehnika odabira značajki koje ulaze u model. Ponuđene su tri tehnike (forward, backward i stepwise). Sve tri tehnike smo implementirali u tri odvojena modela da možemo napraviti usporedbu rezultata. U istom prozoru je moguće odabrati kriterij prema kojemu će se mjeriti kvaliteta modela (funkcija pogreške). Kako nam je važno da model što točnije raspoređuje klijente na korisnike proizvoda i one koji to nisu odlučili smo se za kriterij pogreška razvrstavanja neviđenih podataka (engl. validation misclassification). Ostatak parametara na slici 4.8 b) je važno pravilno podesiti ukoliko koristimo više ulaznih značajki istog značenja koje se razlikuju samo po nivou grupiranja (tzv. hijerarhije). Zbog njihove nepoželjne koreliranosti korisniku je ponuđena mogućnost odabira tehnike odabira značajki iz hijerarhije. Na trećem ekranu moguće je odabrati tehniku učenja regresijskog modela i parametre zaustavljanja procesa učenja. O tim parametrima najviše ovisi trajanje procesa učenja. Postoje preporuke koje metode učenja koristiti za učenje modela određenih složenosti (broja parametara). Kako su te preporuke već implementirane u samom alatu, odlučili smo da alat sam odredi koju će metodu učenja koristiti. Vrijeme učenja nismo ograničavali. Proces učenja je trajao u prosijeku oko 10 minuta po modelu. Na grafikonima 4.9 a) i b) prikazana je veličina utjecaja ulaznih značajki na izlaznu. Na grafikonu 4.9 a) prikazan je efektivni utjecaj značajki, dok je na slici 4.9 b) prikazana vrijednost parametra uz svaku od značajki. Efektivna vrijednost t statistike predstavlja vrijednost parametra podijeljenu s njegovom standardnom pogreškom, što je jedna od mjera koliko dobro ulazna značajka opisuje promjenu vrijednosti 62 izlazne značajke. Na grafikonu je prikazano samo nekoliko najutjecajnijih značajki koje su uključene u model. Može se primjetiti da je najutjecajnija ulazna značajka A03 (značajka A03 je effect kodiranjem podijeljena u 58 izvedenih značajki). a) b) Slika 4.9 Utjecaj značajki Na isti način implementirane su i ostale regresijske tehnike. Dijagram toka korišten za usporedbu performansi je prikazan na slici 4.10. Četvrti čvor - Test se koristio za utvrđivanje utjecaja parametara, koje je moguće podešavati, na kvalitetu dobivenog modela. Slika 4.10 Dijagram toka koršten za usporedbu regresijskih modela Kvaliteta dobivenih modela je ocjenjivana prema više kriterija. Usporedba prema postotku krivo raspoređenih klijenata je prikazana u tablici 4.11. U tablici su postotci krivo raspoređenih klijenata posebno za tablicu pomoću koje je model treniran, zatim za tablicu pomoću koje je odabran najbolji model i na kraju za tablicu sa testnim podacima. Može se primjetiti da se stepwise i forward tehnikom odabira ulaznih značajki dobiva model iste kvallitete. Treći model, dobiven backward tehnikom ima nešto bolje rezultate u radu s podacima kojima je model treniran, ali je istovremeno nešto lošijih karakteristika na neviđenim podacima. Prva dva modela imaju bolje performanse na validacijskoj tablici, nego na testnim podacima, što upućuje na nestabilnost modela. Model bi trebao imati nešto lošije performanse na neviđenim podacima od onih na podacima za odabir najboljeg modela. 63 Metoda odabira značajki Stepwise Postotak krivo raspoređenih klijenata Training data set Validation data set 0.1945405613 Test data set 0.2050230651 0.2020512821 Forward 0.1945405613 0.2050230651 0.2020512821 Backward 0.1795463283 0.1968221425 0.2046153846 Tablica 4.11 Postotak krivo raspoređenih klijenata Prije spomenutu nestabilnost modela je moguće primijetiti i kao odstupanje od monotono rastuće krivulje na grafu 4.12, odnosno odstupanje od monotono padajuće krivulje na grafu 4.13. Iz sva tri grafikona je vidljivo da su rezultati modela vrlo daleko od savršenog (engl. exact). Slika 4.12 Grafovi odziva Slika 4.13 Grafovi dobitka Slika 4.14 ROC graf U okviru testiranja, eksperimentirano je s podešavanjem parametara kako bi se poboljšali modeli. Rezultati prikazani u tablici 4.11 su najbolji postignuti za navedene tehnike odabira ulaznih značajki. Ukupno, model koji postiže najbolje rezultate imao je sljedeće karakteristike: • logička regresija • logit spojna funkcija • effect kodiranje ulaznih značajki koje nisu pravi brojevi • stepwise tehnika odabira ulaznih značajki koje će biti uključene u model • minimalna potrebna p-vrijednost F statistike da bi značajka bila uključena u model: 0.05 • minimalna potrebna p-vrijednost F statistike da značajka ne bi bila isključena iz modela: 0.05 • upotreba točnosti raspoređivanja klijenata na neviđenim podacima (validacijska tablica) kao kriterija odabira najboljeg modela iz skupa radnih modela Točnost najboljeg regresijskog modela je izdvojena u tablicu 4.15. Dobitak modela na uzorku veličine 10% populacije je 2.2 što je prilično daleko od 4.9 koliki 64 je dobitak savršenog modela. Ako se još uzme u obzir da model nije stabilan, može se zaključiti da je i najbolji regresijski model, još uvijek, loših karakteristika. Metoda odabira značajki Stepwise Postotak krivo raspoređenih klijenata Training data set Validation data set 0.1945405613 0.2050230651 Test data set 0.2020512821 Tablica 4.15 Performanse najboljeg regresijskog modela 4.4.5. Implementacija metode stabla odluke U 3. poglavlju je bilo detaljno, teoretski opisano nekoliko poznatih tehnika stabala odluke koje će biti implementirane upotrebom Sas EM alata Decision tree. Na slici 4.16 prikazana su dva prozora alata Decision tree koji se koriste za podešavanje parametara procesa učenja modela. Parametri na slici su podešeni za implementaciju CHAID tehnike, prema teoretskom opisu u 3. poglavlju. Slika 4.16 Dio parametara za podešavanje CHAID tehnike stabla odluke Proces učenja stabla odluke je trajao značajno kraće od procesa učenja regresijske metode. Prozor na slici 4.17 prikazuje statističke karakteristike dobivenog modela. Prozor je sastavljen od četiri dijela. Grafikon u donjem desnom kutu pokazuje rast postotka točno razvrstanih klijenata s porastom složenosti modela (povećanjem broja grana). Plava linija pokazuje točnost modela kod razvrstavanja klijenata iz tablice korištene za učenje (training data set), a crvena linija točnost na tablici za odabir najboljeg modela (validation data set). Okomita bijela linija na grafu pokazuje na model najmanje složenosti koji postiže najbolju točnost na tablici za odabir modela. To je u našem slučaju model s pet krajnjih grana. U donjem lijevom uglu prozora su podaci na temelju kojih je nacrtan opisani graf, tj. točnost modela na dvije tablice u ovisnosti o broju završnih grana stabla odluke. Zacrnjeni redak prikazuje podatke o odabranom konačnom modelu. 65 Slika 4.17 Detalji o prediktivnom modelu dobivenom upotrebom metode stabla odluke, CHAID tehnika Tako je npr. vidljivo da je točnost konačnog modela, tj. postotak točno razvrstanih klijenata 80.85% na tablici pomoću koje je treniran model, odnosno nešto manji (79.70%) na tablici za odabir modela. Vidljivo je da je dobiveni model stabilan, jer nema prevelikog odstupanja performansi na neviđenim podacima u odnosu na one pomoću kojih je model treniran. Točnost od 80% je zadovoljavajuća, ali će se daljnjim podešavanjima i upotrebama drugih metoda raspoznavanja uzoraka pokušati postići i bolji rezultati. Slika 4.18 prikazuje dijagram dobivenog stabla. Stablo je sastavljeno od obojanih pravokutnika koji predstavljaju grane stabla. Gornji pravokutnik se zove korijen (engl. root). Boja označava gustoću potencijalnih korisnika u grani. Što je grana crvenija, u njoj je manji postotak potencijalnih korisnika grupe proizvoda. U zelenim granama je velik postotak potencijalnih korisnika, dok je u žutim granama podjednak postotak potencijalnih korisnika i ostalih klijenata. U pravokutnik je smještena tablica sa tri stupca i pet redaka. U prvom i trećem retku je postotak, odnosno broj potencijalnih korisnika u grani, dok su u drugom i četvrtom retku isti podaci za ostale klijente u grani. Zadnji redak pokazuje koliko je ukupno klijenata u grani. U drugom stupcu su podaci za tablicu pomoću koje je model treniran (training data set), a u trećem su stupcu podaci za tablicu za odabir modela (validation data set). 66 Slika 4.18 Stablo dobiveno CHAID tehnikom Ispod korijena se nalazi pravokutnik s imenom značajke korištene za podjelu grane na dvije ispod nje, a u svakoj od grana nalazi se pravokutnik u kojem piše pravilo na temelju kojeg je podjela napravljena. Tako se npr. desna grana na trećem nivou, upotrebom značajke A68, dijeli na granu u kojoj je A68<5.00 i granu u kojoj je A68≥5.00. Preporučljivo je provjeriti pomoću kojih su značajki napravljene podjele grana, osobito onih na početku stabla, bliže korijenu. Tako je model ocijenio da su najvažnije značajke A03 i A23. Napravljena je diskusija rezultata dobivenog modela s poslovnim stručnjacima. Kroz diskusiju, nije u potpunosti razjašnjeno zašto bi klijenti tih karakteristika bili više, odnosno manje zainteresirani za grupu proizvoda 1. Zbog toga smo u kasnijim iteracijama izrade modela izbacili te dvije varijable i promatrali ponašanje modela. Na isti način implementirane su i ostale dvije tehnike stabla doluke. Korištena topologija za usporedbu performansi CHAID, BFOS i C4.5 tehnika je prikazana na slici 4.19. Četvrti čvor (Test) je korišten za utvrđivanje utjecaja parametara, koje je moguće podešavati, na kvalitetu dobivenog modela. 67 Slika 4.19 Dijagram toka koršten za usporedbu CHAID, BFOS i C4.5 tehnika Kvaliteta dobivenih modela je ocijenjena prema više kriterija. Usporedba prema postotku krivo razvrstanih klijenata prikazana je u tablici 4.20. U tablici su postotci krivo raspoređenih jedinki posebno za tablicu pomoću koje je model učen, zatim za tablicu pomoću koje je odabran najbolji model i na kraju za tablicu sa testnim podacima. Uočljivo je da na podacima na kojima su modeli učeni najbolje rezultate ima CHAID tehnika, dok na neviđenim podacima (treći stupac, testni podaci) najbolje rezultate ima BFOS tehnika. Istovremeno važno je primijetiti da se svi modeli ponašaju stabilno, tj. ne pokazuju veliko odstupanje karakteristika na neviđenim podacima. Tehnika stabla odluke Postotak krivo razvrstanih klijenata Training data set Validation data set Test data set BFOS 0.1760861207 0.1957970272 0.1969230769 CHAID 0.1745482507 0.1906714505 0.201025641 C4.5 0.1876201461 0.1922091235 0.2041025641 Test 0.1914648212 0.2029728344 0.2041025641 Tablica 4.20 Performanse najboljeg regresijskog modela Isto je vidljivo i na grafovima 4.21, 4.22 i 4.23. Na grafu 4.21 moguće je u gornjem desnom uglu primijetiti malu nestabilnost algoritma C4.5 gdje je graf konveksnog oblika (isto se može primjetiti i na ostala dva grafa). U tom slučaju preporučuje se odstranjivanje podjele koja je uzrokovala nestabilnost. 68 Slika 4.21 Grafovi odziva Slika 4.22 Grafovi dobitka Slika 4.23 ROC graf U okviru testa eksperimentirano je s podešavanjem parametara da bi se poboljšala kvaliteta modela. Rezultati prikazani u tablici 4.20 su najbolji postignuti rezultati za implementirane tehnike stabla odluke. Ukupno, model koji postiže najbolje rezultate imao je sljedeće karakteristike: • Gini kriterij podjele, • minimalan broj klijenata u grani nakon podjele: 1, • minimalan broj klijenata u grani koju se dijeli: 26, • podjela na dvije grane, • maksimalan broj nivoa stabla: 6, • pamćenje 5 zamjenskih značajki na kojima je moguće napraviti podjelu. Podjela na zamjenskim značajkama se koristi u procesu ocjenjivanja neviđenih podataka, kada originalna značajka ima null vrijednost, • zabrana korištenja null vrijednosti kao dodatne vrijednosti značajke koju se dijeli. U procesu učenja se odbacuje klijent koji ima null vrijednost u značajki na kojoj se traži podjela, • kriterij odabira najboljeg modela: ukupna nečistoća grane (Gini index) • odabire se model koji ima najbolje performanse, prema prethodnom kriteriju, na neviđenim podacima (validation data set) Točnost najboljeg modela stabla odluke je izdvojena u tablicu 4.24. Dobitak modela na uzorku veličine 10% populacije je 2.4, što je prilično daleko od 4.9, koliki je dobitak savršenog modela. Važna pozitivna karakteristika ovog modela je njegova stablilnost. Tehnika stabla odluke BFOS Postotak krivo razvrstanih klijenata Training data set Validation data set 0.1760861207 0.1957970272 Test data set 0.1969230769 Tablica 4.24 Performanse najboljeg modela stabla odluke 69 4.4.6. Implementacija metode umjetnih neuronskih mreža Upotrebom Sas EM-a alata Neural Netvork, implementirane su neuronske mreže tipa MLP, ORBF i NRBF. Alat omogućava da se kroz grafičko sučelje definiraju parametri mreža. Tako je na slici 4.25 prikazana implementacija modela arhitekture MLP s tri skrivena nivoa. Alat ima predefinirane ulazne nivoe za svaku od tri vrste ulaznih značajki, koje nije moguće podešavati. Isto tako postoji predefinirani izlazni nivo koji također nije moguće podešavati. Korisniku je dana mogućnost dodavanja skrivenih nivoa, koje je moguće povezati međusobno i s ulaznim i izlaznim nivoima. Slika 4.25 Implementacija modela umjetne neuronske mreže Za svaki od skrivenih nivoa moguće je odvojeno podesiti parametre neurona na tom nivou (vidi sliku 4.26). Tako je npr. moguće podesiti broj skrivenih neurona i odabrati aktivacijsku i kombinacijsku funkciju. Kod MLP arhitekture standardna kombinacijska funkcija je linearna kombinacija ulaza pomnoženih težinskim faktorom, a kao aktivacijska funkcija se koristi hiperbolni tangens. Kod ORBF arhitekture uobičajeno je koristiti eksponencijalnu aktivacijsku funkciju, dok je kod NRBF arhitekture uobičajena softmax aktivacijska funkcija. Kod obje RBF arhitekture koristi se radijalna kombinacijska funkcija, kojoj parametri ovise o zadanim ograničenjima, npr. ista visina, ista širina. Slika 4.26 Podešavanje parametara skrivenih nivoa 70 U procesu učenja implementiranih modela korišteni su isti ulazni podaci kao i za druge dvije metode raspoznavanja uzoraka. Tako je na kraju moguće napraviti usporedbu performansi svih triju metoda raspoznavanja uzoraka. Za početak je implementirano 9 različitih topologija umjetnih neuronskih mreža arhitekture MLP s jednim skrivenim nivoom. Modeli su se razlikovali po broju neurona u skrivenom nivou. Korišten dijagram toka je prikazan na slici 4.27. Slika 4.27 Dijagram toka - MLP s jednim skrivenim nivoom Na slici 4.28 prikazan je grafikon učenja za jedan od modela. Vrijednosti na osi x predstavljaju broj iteracije, dok je na osi y pogreška razvrstavanja. Plava linija predstavlja pogrešku modela na tablici pomoću koje model uči, a crvenom linijom je prikazana pogreška modela na neviđenim podacima. Iz grafa je vidljivo da se u svakoj sljedećoj iteraciji pogreška modela na tablici iz koje uči monotono smanjuje. Pogreška na neviđenim podacima (validacijska tablica) također ima trend smanjenja do trenutka kada se model počinje prilagođavati pogreškama u tablici iz koje uči. Na grafu je crnom linijom označena iteracija kod koje se po prvi puta pojaljuje najmanja pogreška na neviđenim podacima. Konačni model će imati upravo te parametre. Slika 4.28 Smanjenje pogreške u procesu učenja 71 Performanse modela su prikazane u tablici 4.29. Rezultati su sortirani prema točnosti modela na neviđenim podacima (test data set). Svi modeli imaju podjednake performanse, točnije razlika je u nijansama. Postotak krivo razvrstanih klijenata Broj neurona Training data set Validation data set Test data set 8 0.185313341 0.1963095848 0.1994871795 6 0.184544406 0.1855458739 0.2 5 0.1745482507 0.1947719118 0.2020512821 4 0.1818531334 0.1886212199 0.2020512821 3 0.1810841984 0.1860584316 0.2030769231 9 0.1818531334 0.1942593542 0.2041025641 2 0.1891580161 0.1891337775 0.2056410256 1 0.186082276 0.1968221425 0.2056410256 7 0.1791618608 0.1870835469 0.2061538462 Tablica 4.29 Postotak krivo razvrstanih klijenata - MLP s jednim skrivenim nivoom Iz rezultata je vidljivo da svi modeli imaju podjednake performanse na sve tri tablice (train, validation i test) iz čega se može zaključiti da svi modeli imaju stabilne performanse. Pored modela čiji su rezultati prikazani u tablici eksperimentirano je i s još većim brojevima neurona u skrivenom nivou. Modeli s više skrivenih neurona zahtijevali su više vremena za učenje, dok su performanse modela bile sve lošije kako je složenost modela rasla. Na slikama 4.30 i 4.31 su zbog preglednosti, grafički prikazane performanse samo dvaju najboljih modela na testnim podacima. Slika 4.30 Grafovi dobitka Slika 4.31 ROC grafovi Graf dobitaka na slici 4.30 prikazuje koliko bi puta više klijenata korisnika proizvoda bilo odabrano upotrebom modela od odabira slučajnim uzorkom. Na slici je vidljivo da oba modela imaju podjednake karakteristike, koje su na sredini između 72 savršenog modela (exact) i odabira slučajnim uzorkom (baseline). Dobitak modela na uzorku veličine 10% populacije je oko 2.3 što je prilično daleko od dobitka savršenog modela koji iznosi 4.9. Promatrajući žutu liniju moguće je primijetiti mali ravni dio karakteristike na uzorku veličine 80-90%, što upućuje na malu nestabilnost modela. Ona se pojavljuje najvjerojatnije zbog toga što je model prevelike složenosti. Model je zbog toga memorirao i dio grešaka iz tablice korištene za učenje, zbog čega se nešto lošije razvrstava neviđene podatke. Na grafu 4.31 isto tako je vidljivo da su modeli sličnih karakteristika. Graf dobrog modela treba prolaziti što bliže gornjem lijevom uglu grafikona, dok bi graf odabira slučajnim uzorkom predstavljao ravnu liniju pod kutem od 45° od donjeg lijevog ugla do gornjeg desnog. Tako se i iz ovog grafa može zaključiti da su performanse modela prilično loše i da ima još puno prostora za poboljšanje. Bolje rezultate smo pokušali dobiti dodavanjem dodatnog skrivenog nivoa. Testirano je 9 različitih arhitektura. Rezultati mjerenja prikazani su u tablici 4.32 Broj neurona Postotak krivo razvrstanih klijenata 1. skriveni nivo 2. skriveni nivo Training data set Validation data set Test data set 7 5 0.1806997309 0.1886212199 0.2005128205 9 3 0.1806997309 0.1881086622 0.2020512821 3 2 0.1795463283 0.1942593542 0.2035897436 3 1 0.1826220684 0.1875961046 0.2046153846 5 2 0.1830065359 0.1881086622 0.2046153846 7 3 0.1918492887 0.2034853921 0.2056410256 3 3 0.1856978085 0.1855458739 0.2071794872 5 3 0.1872356786 0.1870835469 0.2087179487 9 5 0.1880046136 0.1901588929 0.2087179487 Tablica 4.32 Postotak krivo razvrstanih klijenata - MLP sa dva skrivena nivoa Rezultati su također sortirani prema točnosti modela na neviđenim podacima (test data set). Rezultati svih modela su također slični i nije vidljiv nikakav dobitak zbog dodavanja dodatnog skrivenog nivoa. Svi modeli imaju ujednačene performanse na sve tri tablice iz čega se može zaključiti da su modeli stabilni. Treniranje svih modela je trajalo cca. 30% duže nego modela s jednim skrivenim nivoom. Najbolji model ima 7 neurona u prvom skrivenom nivou i 5 u drugom. Njegove performanse su neznatno lošije od najboljeg modela s jednim skrivenim nivoom. Na slikama 4.33 i 4.34 prikazani su grafikoni samo dva najbolja modela. Na grafu dobitka moguće je primijetiti malo odstupanje od monotono padajuće krivulje, što je rezultat memoriranja grešaka iz tablice pomoću koje je model učen. Mala razlika performansi dva najbolja modela, vidljiva na grafu 4.33 još je manje izražena 73 na grafu 4.34. Na slici 4.34 isto je vidljivo da su karakteristike modela još uvijek daleko od gornjeg lijevog kuta grafa. Slika 4.33 Grafovi dobitka Slika 4.34 ROC grafovi Eksperimentirano je s dodavanjem i 3. skrivenog nivoa. Rezultati se nisu značajnije promijenili (vidi tablicu 4.35). Testirano je 7 različitih arhitektura sa tri skrivena nivoa. Broj neurona Postotak krivo razvrstanih klijenata 1. skriveni nivo 2. skriveni nivo 3. skriveni nivo Training data set Validation data set Test data set 9 7 5 0.1945405613 0.2050230651 0.2020512821 9 9 5 0.1826220684 0.1870835469 0.2041025641 9 9 3 0.183775471 0.1881086622 0.2051282051 9 7 3 0.1830065359 0.1875961046 0.2071794872 5 3 2 0.1806997309 0.1870835469 0.2071794872 5 3 1 0.1822376009 0.1860584316 0.2071794872 7 5 3 0.1795463283 0.1881086622 0.2082051282 Tablica 4.35 Postotak krivo razvrstanih klijenata - MLP sa tri skrivena nivoa Rezultati su također sortirani prema točnosti modela na neviđenim podacima (test data set). Modeli su podjednakih performansi koje su dodatno pogoršane u usporedbi s arhitekturom s dva skrivena nivoa. Najbolji model sa tri skrivena niovoa ima 9 neurona u 1. skrivenom nivou, 7 u drugom i 5 neurona u 3. skrivenom nivou. U usporedbi s modelima s manjim brojem skrivenih nivoa, ova arhitektura daje najlošije rezultate. Performanse svih modela su ujednačene i pokazuju stabilnost (nema velikog odstupanja performansi na neviđenim podacima). Na slikama 4.36 i 4.37 prikazani su grafikoni dva najbolja modela arhitekture s tri skrivena nivoa iz kojih se vide osrednje performanse dobivenih modela. Na grafu dobitka moguće je primijetiti malo odstupanje od monotono padajuće krivulje što je 74 rezultat memoriranja tablice pomoću koje je model učen. Mala razlika performansi dva najbolja modela, vidljiva je i na grafovima 4.36 i 4.37. Slika 4.36 Grafovi dobitka Slika 4.37 ROC grafovi Usporedbom do sada dobivenih rezultata zaključeno je da se najbolji rezultati dobivaju korištenjem arhitekture MLP s jednim skrivenim nivoom i da se performanse modela pogoršavaju dodavanjem dodatnih skrivenih nivoa. Sljedećim ekseprimentom pokušano je utvrditi koliki je utjecaj promjene aktivacijske funkcije na performanse modela (vidi tablicu 4.38). U testiranju je korištena arhitektura koja je u dosadašnjim testiranjima imala najbolje rezultate, tj. MLP s jednim skrivenim nivoom sa 8 neurona. Postotak krivo razvrstanih klijenata Aktivacijska funkcija Training data set Validation data set Test data set Cos 0.1791618608 0.1973347002 0.1984615385 Gauss 0.1818531334 0.1963095848 0.198974359 Tanh 0.185313341 0.1963095848 0.1994871795 Softmax 0.184544406 0.1875961046 0.2020512821 Exponential 0.1945405613 0.2050230651 0.2020512821 Logistic 0.1945405613 0.2050230651 0.2020512821 Square 0.1795463283 0.1957970272 0.2020512821 Sin 0.1787773933 0.1927216812 0.2025641026 Arc Tan 0.1826220684 0.1881086622 0.2030769231 Elliott 0.1833910035 0.1865709892 0.2035897436 Tablica 4.38 Utjecaj aktivacijske funkcije na kvalitetu modela Rezultati su sortirani prema točnosti modela na neviđenim podacima (test data set). Rezultati svih modela su slični iz čega zaključujemo da nije moguće dobiti značajno poboljšanje kvalitete modela promjenom aktivacijske funkcije. Razlike performansi su minimalne. Originalno korištena aktivacijska funkcija hiperbolni 75 tangens (Tanh) ima neznatno lošije rezultate od kosinusa koji je u ovom slučaju najbolja aktivacijska funkcija. Do sada su bile testirane arhitekture tipa MLP. U zadnjem testu, koji je izveden za potrebe izrade ovog magistarskog rada, implementirane su dvije verzije ORBF arhitekture i pet verzija NRBF arhitektura. Rezultati testa su prikazani u tablici 4.39. Postotak krivo razvrstanih klijenata Arhitektura Training data set Validation data set Test data set NRBF equal heights 0.183775471 0.1901588929 0.2 NRBF equal volumes 0.1806997309 0.1881086622 0.201025641 ORBF equal widths 0.1826220684 0.1906714505 0.2020512821 ORBF unequal widths 0.1799307958 0.1957970272 0.2030769231 NRBF general 0.1810841984 0.1881086622 0.2041025641 NRBF equal widths and heights 0.1810841984 0.1881086622 0.2046153846 NRBF equal widths 0.1768550557 0.1886212199 0.2056410256 Tablica 4.39 Postotak krivo razvrstanih klijenata upotrebom neuronskih mreža tipa ORBF i NRBF Modeli čije su karakteristike prikazane u tablici su imali po 8 neurona u skrivenom nivou. Naknadnim eksperimentiranjem s promjenom broja neurona rezultati se nisu značajno razlikovali od prikazanih, zbog čega nisu tabelarno prikazani. Karakteristike RBF neuronskih mreža su nešto lošije od MLP neuronskih mreža. Vrijeme potrebno za treniranje modela je približno isto. Karakteristike dvaju najboljih modela su grafički prikazane na slikama 4.40 i 4.41. Na grafu dobitka se može primijetiti malo odstupanje od monotono padajuće krivulje što je rezultat memoriranja grešaka iz tablice pomoću koje je model učen. Mala razlika performansi dva najbolja modela, vidljiva na grafu dobitka još je manje izražena na ROC grafu. Na grafu dobitka je vidljivo da je dobitak modela od 2.3 prilično daleko od dobitka savršenog modela. 76 Slika 4.40 Grafovi dobitka Slika 4.41 ROC grafovi Od svih testiranih tipova neuronskih mreža najbolji je model sljedećih karakteristika: • arhitektura MLP • 1 skriveni nivo • 8 neurona • linearna kombinacijska funkcija • kosinusna aktivacijska funkcija Dobitak modela od 2.3 je prilično daleko od 4.9, koliki je dobitak savršenog modela, iz čega se može zaključiti da je i ovaj, najbolji model neuronske mreže, prilično loših karakteristika. Nedostatak modela je i mala nestabilnost koju je moguće uočiti na grafu dobitka kao malo odstupanje od monotono padajuće krivulje. Postotak krivo razvrstanih klijenata Model MLP, 1 skriveni nivo, 8 neurona Training data set 0.1791618608 Validation data set 0.1973347002 Test data set 0.1984615385 Tablica 4.42 Performanse najboljeg modela neuronske mreže 77 4.5. Diskusija eksperimentalnih rezultata U okviru testiranja implementiran je velik broj prediktivnih modela upotrebom raznih metoda raspoznavanja uzoraka. Usporedbom prema vremenu potrebnom za učenje modela, najmanje vremena je potrebno kod upotrebe metoda stabla odluke, a najviše vremena za učenje neuronskih mreža. Vrijeme potrebno za učenje neuronskih mreža jako ovisi o odabranoj topologiji mreže, jer je proporcionalno broju parametara (težinskih faktora) koje je potrebno računati u svakoj od iteracija. Drugi kriterij usporedbe je kvaliteta dobivenih modela. Svim metodama raspoznavanja uzoraka dobiveni su modeli vrlo sličnih performansi. Modeli izrađeni upotrebom regresijskih metoda najlošije razvrstavaju neviđene podatke, a neuronske mreže osrednje. Najbolji rezultati dobiveni su upotrebom metode stabla odluke. Model dobiven upotrebom metode stabla odluke (BFOS tehnika) najbolje razvrstava neviđene podatke. Iako smo se za svaku tehniku trudili dodatno fino podesiti parametre, kako bi se dobili modeli što boljih karakteristika, i taj najbolji rezultat (dobitak od 2.4) je daleko od rezultata koji bi se dobio upotrebom savršenog modela (dobitak 4.9). Postotak krivo razvrstanih klijenata od 20% također govori da se radi o relativno lošem modelu. Najbolje rezultate postižemo upotrebom metode stabla odluke, a najlošije upotrebom regresijskih metoda, iz čega se može zaključiti da je zakonitost koju pokušavamo modelirati izrazito nelinearna. Zbog toga što sve metode daju modele podjednakih performansi, zaključujemo da su ti rezultati najbolje što je moguće postići upotrebom ulaznih značajki koje su na raspolaganju, jer one nedovoljno dobro opisuju zakonitosti prema kojima se razlikuju klijenti korisnici grupe proizvoda od onih koji to nisu. Na slici 4.43 se može vidjeti da model dobro odabire klijente koji nisu korisnici proizvoda, ali ima problema s odabirom klijenata korisnika proizvoda. Na grafu je vidljivo da model razvrstava velik broj klijenata kao korisnike proizvoda, koji to ustvari nisu (gornji desni stupić). 78 Slika 4.43 Broj krivo razvrstanih klijenata Usporedbom modela prema stabilnosti, najstabilniji modeli dobiveni su upotrebom metoda stabla odluke što je još jedna njihova prednost. Regresijskim metodama i metodama neuronskih mreža dobiveni su nešto nestabilniji modeli. Kvalitetnije modele je moguće dobiti jedino kreiranjem i dodavanjem novih ulaznih značajki, jer ove do sada korištene nedovoljno dobro opisuju zakonitosti prema kojima se klijent korisnik grupe proizvoda razlikuje od klijenta koji to nije, što je učinjeno i opisano u sljedećem poglavlju. 79 5. Poboljšanje modela U prethodnom poglavlju je bolje modele pokušavano dobiti implementacijama različitih tehnika izrade prediktivnih modela. Na kraju je zaključeno da su iskorištene sve mogućnosti poboljšanja performansi promjenama parametara modela i da je jedini mogući način daljnjeg poboljšanja performansi kreiranje i dodavanje novih ulaznih značajki klijenata. Promotrimo još jednom podatke koji su nam na raspolaganju. Slika 5.1 Raspoloživi podaci U prethodnom poglavlju su podaci bili organizirani tako da se upotrebom zadnjih šest mjeseci povijesti predviđala vrijednost izlazne značajke mjesec dana unaprijed uz jedan mjesec pauze za izradu modela (vidi sliku 5.2). Slika 5.2 Organizacija podataka korištenih u izradi modela u prethodnom poglavlju U slučaju da ne raspolažemo dovoljnim brojem redaka (klijenata) za kvalitetno treniranje modela neki autori preporučuju upotrebu više takvih vremenskih okvira međusobno pomaknutih kroz vrijeme koje je potrebno dodati jedan iza drugoga [16]. Kako smo posumnjali da možda uzorak klijenata korisnika proizvoda nije dovoljno reprezentativan, ovakvom metodom mogao bi se povećati njihov broj i time poboljšati kvaliteta modela. Zbog toga je kreirana ulazna tablica u kojoj su spojena 3 takva vremenska okvira jedan za drugim (vidi sliku 5.3). Time je dobivena 80 ulazna tablica s istim brojem značajki (487) i 195,178 redaka, od kojih je 15,452 klijenata korisnika grupe proizvoda 1. Slika 5.3 Upotreba više vremenskih okvira podataka Nakon pripreme ulaznih podataka pristupilo se izradi prediktivnog modela. Prije same izrade ponovno je upotrebom stratificiranog uzorkovanja napravljen uzorak s umjetno povećanom koncentracijom klijenata korisnika proizvoda veličine 10,000 klijenata (2,000 korisnika grupe proizvoda 1 i 8,000 ostalih). U izradi modela korišteno je nekoliko različitih metoda raspoznavanja uzoraka. Performanse dobivenih modela su bile ujednačene, ali nedovoljno bolje od onih u prethodnom poglavlju. U sljedećem eksperimentu smo za proces učenja upotrijebili veći uzorak. Upotrebom stratificiranog uzorkovanja napravljen je uzorak koji je uključivao sve klijente korisnike proizvoda što je činilo 20% uzorka, dok je ostatak popunjen slučajnim uzorkom ostalih klijenata. Proces učenja modela upotrebom tako velikog uzorka je u prosjeku trajao 40 minuta, zbog čega je napravljeno samo nekoliko modela. Dobiveni modeli su bili zanemarivo boljih performansi od onih dobivenih učenjem na manjem uzorku. Time smo iscrpili sve ideje kako transformacijama podataka poboljšati prediktivni model. Zbog toga smo odlučili napraviti analizu dobivenih modela. Na sugestiju poslovnih stručnjaka, analizirali smo koje značajke klijenata prediktivni modeli preferiraju za donošenje odluke da li je klijent korisnik proizvoda ili nije. Kod metode stabla odluke su to značajke koje su bliže korijenu stabla. Kod regresijskih metoda važnije značajke imaju veću efektivnu vrijednost t statistike (vidi sliku 4.9a), a kod neuronskih mreža nije direktno moguće dobiti uvid u važnost pojedinih ulaznih značajki (efekt svake od ulaznih značajki je raspršen između ulaza i prvog skrivenog nivoa). Analizom je ustanovljeno koje se značajke pojavljuju češće od drugih. Kroz diskusiju s poslovnim stručnjacima otkriven je razlog zašto su neke od tih značajki važne za donošenje odluke da li će netko koristiti proizvod ili ne. Primjećena je i pojava da se tim istim preferiranim značajkama opisuje stanje na kraju prethodna dva kvartala. Daljnjom analizom otkrili smo da se vrijednost tih 81 ulaznih značajki malo mijenja kroz vrijeme pa je to možda jedan od razloga zašto model više preferira vremenski udaljene značajke. Za vrijeme posjeta jednoj konferenciji, kroz razgovor s kolegama, smo dobili ideju da pokušamo prediktivnim modelom opisati klijenta u trenutku prije nego kupi proizvod. Na istoj konferenciji je pažljivim promatranjem prezentacija, dobiveno još nekoliko ideja koje bi ulazne značajke mogle biti važne, a do sada ih nismo koristili. Značajke su prodiskutirane i definirane na sastanku s poslovnim stručnjacima, a zatim su prikupljeni dodatni podaci, izračunate su značajke i dodane u ulaznu tablicu. Zbog male promjene većine značajki klijenata kroz vrijeme, odlučili smo povećati vremenske razmake između podataka unutar vremenskih okvira. Tako je osnovna vremenska jedinica analize povečana s jednog mjeseca na jedan kvartal. Duljina vremenskog okvira je istovremeno smanjena sa 6 vremenskih jedinica na 4 (četiri kvartala) uz istovremeno dvostruko povečanje stvarno obuhvaćenog vremenskog razmaka (prije 6 mjeseci, a sada godina dana). Kako je skladište podataka, koje je naš glavni izvor podataka, relativno novo i nema dovoljno veliku povijest, neke od značajki klijenata će zbog povećanja osnovne vremenske jedinice analize morati biti izostavljene iz analize. Napravljena je analiza njihove važnosti za kvalitetu dosada napravljenih modela koja je pokazala da značajke nisu presudne za kvalitetu modela. Kod implementacije ideje da se modelom opiše klijent u trenutku prije nego što postane korisnik proizvoda, prvi korak je utvrditi koji su klijenti postali korisnici proizvoda u kvartalu za koji se predviđa (kvartal označen slovom P na slici 5.4). Svi ti klijenti su označeni s oznakom "Korisnik" u izlaznoj značajki, a ostali s "Nije korisnik". Zatim su za sve klijente izračunate značajke iz podataka za posljednja četiri kvartala. Slika 5.4 Nova organizacija podataka 82 Može se primijetiti da vremenski okvir ne sadrži kvartal pauzu kao dosadašnji modeli. Pauza je izostavljena zbog dovoljno velikog vremenskog razmaka (3 mjeseca) unutar kojeg je zanemarivo vrijeme potrebno da se prikupe i pripreme ulazni podaci i napravi analiza metodama raspoznavanja uzoraka. Drugi razlog je da bi se uz upotrebu pauze, modelom predviđala puno dalja budućnost (6 mjeseci unaprijed) što u model unosi dodatnu dozu nesigurnosti. U sljedećem koraku ponovno su promotreni podaci koji su nam na raspolaganju i odabrane su značajke koje će biti uključene u ulaznu tablicu. Istovremeno su definirane i izračunete dodatne izvedene značajke koje do sada nisu bile predmet analize. Radi se o značajkama kojima se opisuju trendovi upotrebe proizvoda, prosječna godišnja stanja i dr. Analizom dobivenog vremenskog okvira utvrđeno je da u jednom kvartalu vrlo mali broj klijenata postane korisnik te grupe proizvoda. Zbog toga će biti upotrijebljena ranije korištena metoda upotrebe više pomaknutih vremenskih okvira. U ovom konkretnom slučaju na raspolaganju nam je ukupno 11 vremenskih okvira koji su, jedan iza drugoga, spojeni u konačnu ulaznu tablicu. Konačna tablica ima 34,854 retka i sadrži 226 značajki klijenata. Tablica sadrži puno manji broj redaka, nego je do sada bio slučaj, iako je u nju uključeno puno više vremenskih okvira (11). Do toga je došlo zbog nemogućnosti korištenja podataka iz Aplikacije 5 (vidi sliku 5.4) koja sadrži značajke za vrlo popularne i raširene proizvode koje koriste klijenti izostavljeni iz analize. Iz istog razloga je iz analize izostavljen velik broj značajki. Tablica sadrži 2,388 slučajeva da je klijent postao korisnik proizvoda što u postotku iznosi 6.85% populacije. Ocijenili smo da je i u ovom slučaju potrebno umjetno povećati postotak korisnika proizvoda u ulaznoj tablici. To je kao i do sada učinjeno metodom stratificiranog uzorkovanja kojim je napravljen uzorak od 10,000 klijenata. Uzorak je sadržao 2,000 klijenata korisnika proizvoda (20% uzorka) i 8,000 klijenata koji to nisu (80% uzorka). Uzorak je na kraju još podijeljen na tri dijela: training data set (40%), validation data set (30%) i test data set (30%). Napravljena je analiza distribucije vrijednosti značajki s pravim brojevima i po potrebi su napravljene korekcije distribucija upotrebom Sas EM Transformation alata (vidi dijagram toka na slici 5.5). Najčešće se dešavalo da su distribucije vrijednosti izrazito eksponencijalno padajuće zbog čega je korištena logaritamska transfomacija u cilju poboljšavanja tako iskrivljene distribucije. 83 Slika 5.5 Dijagram toka Ulazna tablica sadrži veliki broj značajki klijenata (226). Kod nekih metoda raspoznavanja uzoraka je vrijeme potrebno za učenje modela proporcionalno kvadratu broja ulaznih značajki. Zbog toga smo odlučili upotrijebiti SAS Variable selection alat kojim smo iz daljnje obrade odbacili dio ulaznih značajki koje nisu u odnosu s ciljnom značajkom. Upotrijebljena je metoda R2 metoda odabira ulaznih značajki kojom su iz daljnje analize odbačene sve značajke koje su imale R2≤0.005 [21]. Nakon odabira važnih ulaznih značajki, ulazna tablica je sadržala 57 ulaznih značajki. Uslijedila je izrada prediktivnih modela. Prvi napravljeni model je puno bolje prepoznavao klijente korisnike proizvoda od svih do sada izrađenih modela. Kako bismo se uvjerili da to nije slučajnost, napravljeni su dodatni modeli upotrebom drugih metoda raspoznavanja uzoraka. Nakon finog podešavanja parametara, dobiveni modeli su imali podjednake performanse. Ipak najbolje performanse imao je model napravljen upotrebom metode stabla odluke, točnije BFOS tehnikom. Konačni model je razvrstao klijente s točnošću 85%. Graf na slici 5.6 prikazuje raspodjelu točno i krivo razvrstanih klijenata upotrebom tog modela. Slika 5.6 Broj krivo razvrstanih klijenata Slika 5.7 prikazuje dijagram stabla na kojemu je moguće primijetiti da su važnije ulazne značajke A21, A42 i A09. U suradnji sa stručnjacima analiziran je cijeli dijagram, odnosno pravila sadržana u njemu. Zaključili smo da za dio pravila iz 84 dijagrama stvarno postoje primjeri iz prakse, a uspješnost ostalih pravila biti će izmjerena nakon implementacije rezultata modela. Slika 5.7 Stablo odluke dobiveno BFOS tehnikom U tablici 5.8 su dane točnosti modela na sve tri ulazne tablice. Iz tablice se može primjetiti da se model ponaša stabilno, tj. ne pokazuju veliko odstupanje karakteristika na neviđenim podacima. Tehnika stabla odluke BFOS Postotak krivo razvrstanih klijenata Training data set Validation data set 0.14925 0.1536666667 Test data set 0.1596666667 Tablica 5.8 Točnost modela Nestabilnost modela nije moguće primjetiti niti na grafovima 5.9, 5.10 i 5.11. Graf odziva ovog modela je bliže karakteristici savršenog modela u usporedbi karakteristikama modela iz prošlog poglavlja. Na drugom grafu je moguće očitati da je dobitak modela na uzorku veličine 10% populacije 3.4. Drugim riječima, upotrebom modela biti će odabrano 3.4 puta više klijenata, korisnika grupe proizvoda, nego bi ih bilo u slučajnom uzorku. Na ROC grafu, karakteristika modela prolazi puno bliže gornjem lijevom uglu grafa iz čega je također vidljiva veća kvaliteta modela u usporedbi s onima iz prethodnog poglavlja. 85 Slika 5.9 Graf odziva Slika 5.10 Graf dobitka Slika 5.11 ROC graf Sada kada je napravljen model zadovoljavajućih karakteristika, sljedeći korak je njegova implementacija u poslovni proces. U sljedećem poglavlju će biti opisan proces ocjenjivanja klijenata i implementacije rezultata u aplikaciju u kojoj se bilježe kontakti djelatnika financijske institucije s klijentima. 86 6. Implementacija rezultata analize u poslovni proces U ovom poglavlju biti će opisan proces ocjenjivanja klijenata upotrebom modela iz prethodnog poglavlja i implementacija rezultata u aplikaciju u kojoj se bilježe kontakti djelatnika financijske institucije s klijentima. 6.1. Ocjenjivanje klijenata Kada ocijenimo da imamo dovoljno kvalitetan model, potrebno je njime ocijeniti sve klijente potencijalne korisnike grupe proizvoda. Ocjenjivanje klijenata smo napravili direktno u Sas EM-u upotrebom Score alata. Proces ocjenjivanja može biti dugotrajan, zbog čega postoji i mogućnost isporučivanja programskog koda koji je moguće pokrenuti npr. u toku noćne obrade podataka na mainframe računalu. Zbog umjetnog povećanja broja klijenata u ulaznoj tablici pomoću koje je treniran model (stratificirano uzorkovanje), direktnom aplikacijom modela dobili bi ocjene veće od stvarnih. Zbog toga je nakon apliciranja modela potrebno napraviti korekciju ocjena [16]. U Sas EM-u, korekciju je moguće napraviti specifikacijom stvarnog udjela korisnika proizvoda u originalnoj populaciji upotrebom Target profiler-a i odabirom opcije "Use prior probability ..." u Decision tree alatu. Nakon ocjenjivanja, izlazna tablica je sadržala sve značajke klijenata iz ulazne tablice, značajku u kojoj je bila vjerojatnost da klijent postane korisnik proizvoda, binarnu značajku da li će klijent biti korisnik proizvoda ili ne i druge značajke koje nisu važne u ovom kontekstu. Kao što je u prethodnom poglavlju najavljeno, ocjenu je još potrebno korigirati na način da se svim klijentima koji već jesu korisnici poizvoda da ocijena 0. Tako se klijentima neće uzalud nuditi proizvod koji već ionako imaju. Istom metodom je postignuto da je ocjena za ostale klijente proporcionalna općoj popularnosti proizvoda. Korekcija je napravljena upotrebom jednostavnog programskog koda. Na kraju su iz tablice izdvojeni samo stupci matični broj klijenta i ocjena (vjerojatnost da klijent kupi proizvod). 87 Kao domena klijenata, potencijalnih korisnika grupe proizvoda 1, korišten je podskup svih klijenata. Financijski proizvodi iz te grupe proizvoda se ne nude rizičnim klijentima koji su zbog toga izostavljeni iz analize. Iz tog razloga je nakon spajanja tablice iz prethodnog odjeljka s tablicom matičnih brojeva svih klijenata ostao dio klijenata kojima nisu pridijeljene ocijene. Kako se niti njima neće nuditi proizvod, programski im je dodijeljena ocijena 0. Postupke izrade modela i ocjenjivanja klijenata, opisane u prethodnom i ovom poglavlju, potrebno je ponoviti i za ostalih 14 grupa proizvoda. Rezultat je tablica sa 16 stupaca od kojih je prva matični broj klijenta, a ostale su ocijene za 15 grupa proizvoda (tablica 6.1) . Matični broj GP1 GP2 GP3 GP4 GP5 ... GP15 01111111 0.01231 0.56468 0.65465 0.54654 0.46498 ... 0.56468 02222222 0.98751 0.64667 0.56565 0.49894 0.94944 ... 0.37388 03333333 0.76698 0.78365 0.58752 0.75888 0.57858 ... 0.38785 04444444 0.23789 0.86832 0.58758 0.87766 0 ... 0.12348 05555555 0.87698 0.12450 0.35430 0.03543 0.00636 ... 0.88789 06666666 0.0123 0.5646 0.65454 0.54654 0.46498 ... 0.5646 08888888 0.74104 0.10459 0.21378 0.37869 0.37379 ... 0.68764 Tablica 6.1 Konačna tablica proizvoda Iz te tablice je na kraju za svakog klijenta potrebno izdvojiti šifre 5 grupa proizvoda koje će najvjerojatnije kupiti (za koje ima najveću ocijenu). Opisani postupak je teško izvediv upotrebom SQL-a, zbog čega je program napisan u Sas-u. Time dobivamo konačan rezultat analize. Matični broj Proizvod 1 Proizvod 2 Proizvod 3 Proizvod 4 Proizvod 5 01111111 04 02 05 03 13 02222222 04 05 02 14 08 03333333 02 05 03 13 04444444 12 04 02 05555555 02 05 03 11 06666666 12 12 12 12 08888888 04 01 02 01 Tablica 6.2 Konačna tablica proizvoda 88 10 12 6.2. Implementacija rezultata analize u poslovni proces Rezultati analize upotrebom metoda raspoznavanja uzoraka, sami po sebi nemaju neku vrijednost ukoliko se dobivene informacije ne iskoriste u poslovanju. U našem konkretnom slučaju, financijska institucija već koristi aplikaciju u kojoj djelatnici bilježe sve kontakte s klijentima, koji su bili predmet ove analize. Aplikacija je razvijena unutar institucije, zbog čega će rezultate analize biti moguće implementirati u relativno kratkom vremenu. Modificirat će se prozor aplikacije u kojem djelatnik gleda koje je proizvode nudio klijentu, koje nije i kakav je bio odziv klijenta na ponuđene proizvode. U prozor će biti dodana gornja tablica prozvoda kao preporuka koje proizvode nuditi klijentu. Opisana anliza metodama raspoznavanja uzoraka je dio cikličkog procesa upravljanja odnosom s klijentom (CRM) [1]. Proces započinje sa uočavanjem problema, njegovom definicijom i odabirom metode rješavanja. Drugi korak je izrada analize metodama raspoznavanja uzoraka, kojom se određuju pravi klijenti, proizvodi, mjesto i vrijeme nastupa prema klijentu. Treći korak je implementacija rješenja u poslovni proces. Važno je da implementacija bude što efikasnija. Posljednji korak zatvorenog ciklusa je mjerenje rezultata s ciljem povećanja znanja o klijentu i njegovim navikama, koje će kasnije biti ponovno upotrijebljeno u analizama. Takav način upravljanja odnosom s klijentom omogućuje njegov daljnji razvoj. U našem slučaju cijeli ciklus traje 3 mjeseca. Ciklus započinje prikupljanjem podataka o odzivu klijenata na ponuđene proizvode u prošlom ciklusu koji se pored dosada opisanih značajki koristite kao ulazne značajke analize. Nakon analize metodama raspoznavanja uzoraka, popis od 5 proizvoda se ponovno dodaje u CRM aplikaciju. Aplikacija se istovremeno koristi i za mjerenje odaziva klijenata na ponuđene proizvode. Nakon razdoblja od 3 mjeseca ciklus se ponavlja. 6.3. Daljnji rad U trenutku izrade ove radnje financijska institucija koja nam je ustupila svoje podatke na analizu metodama raspoznavanja uzoraka je bila u procesu implementacije elektorničkog poslovanja sa svojim klijentima putem još jednog kanala prodaje - Interneta. Radi se o elektornskom kanalu prodaje koji se značajno razlikuje od konvencionalnih, jer se pored podataka o transakcijama prikupljaju i podaci serverskim log datotekama koje su izvor informacija o klijenata. Iz log datoteka je moguće dobiti informacije o potrebama, navikama i preferencijama klijenata. Time je moguće stvoriti dodatnu dimenziju analize - psihografski profil klijenta. 89 Popularnost pružanja financijskih usluga preko Interneta kod nas još nije poprimila svjetske razmjere gdje prema jednoj anketi 24% krajnjih korisnika Interneta dnevno pristupa financijskim informacijama. Sve veća popularnost jeftinih kanala prodaje i komunikacije, koji obiluju podacima o korisnicima dobra su poslovna vijest. Današnje elektronsko poslovanje se značajno razlikuje od ostalih kanala prodaje financijskih proizvoda. Ako se vođenju poslovanja ne pristupi strateški, tada je sve u rukama korisnika koji zna da je konkurencija udaljena samo jedan klik miša. Zbog toga je potrebno skupljati i čuvati sve podatke o kontaktima s klijentima. Mogućnosti analize log datoteka metodama raspoznavanja uzoraka su neograničene. Tako je npr. moguća upotreba metoda za otkrivanje mrežnih napada. Trenutno je u svijetu izazov otkriti zašto 2/3 korisnika koji su započeli transakciju, istu ne provede do kraja, jer trenutno samo 5.75% svih korisnika Interneta čini populaciju koja je ikada pokušala provesti neku financijsku transakciju. 90 7. Zaključak Upotrebom metoda raspoznavanja uzoraka uspješno je riješen jedan problem specifičan financijskim institucijama. Radi se o cross selling problemu, tj. povećanju vrijednosti klijenata kroz prodaju dodatnih, više vrijednih proizvoda. U okviru ovog rada opisan je postupak analize klijenata izradom prediktivnih modela upotrebom metoda raspoznavanja uzoraka. Samoj analizi prethodile su predradnje prikupljanja podataka, njihove transformacije u oblik pogodan za analizu i izdvajanje značajki klijenata. Analiza je provedena izradom prediktivnih modela upotrebom triju metoda raspoznavanja uzoraka: statističkim regresijskim metodama, metodama stabla odluke i upotrebom umjetnih neuronskih mreža. Napravljena je usporedba izrađenih prediktivnih modela i komentirane su prednosti i mane pojedinih metoda i tehnika. Performanse modela dobivenih na uobičajen način su bile dobre. Pokušali smo ih dodatno poboljšati reorganizacijom podataka i dodavanjem izvedenih značajki klijenata u ulaznu tablicu za koje smo mislili da bi mogle pomoći u razlikovanju klijenata korisnika proizvoda i onih koji to nisu. Opisanim metodama uspjeli smo povećati točnost modela sa 80 na 85% što je razlika od 5%. Poboljšanje od 5% se možda ne čini veliko, no poslovni stručnjaci će ovu brojku itekako znati ciejniti i pretvoriti u novčanu uštedu od x kuna godišnje. Nakon implementacije rezultata provedene analize, financijska institucija će uštedjeti na ljudskim resursima uz istovremeno povećanje zadovoljstva vlastitih klijenata. Ušteda na ljudskim resursima je moguća jer djelatnici više neće klijentu nuditi proizvode za koje oni s velikom vjerojatnošću nisu zainteresirani. Iz istog razloga povećava se i zadovoljstvo klijenata, jer ih se više ne zamara njima neprimjerenim ponudama. Opisani način rješavanja cross selling problema nije jedini. Najjednostavniji i najskuplji način je da se kao do sada svim klijentima nude svi proizvodi prema poslovnim pravilima. Drugi način je da se analizom klijenata odrede njima primjereni proizvodi koji im se tada nude. Analizu je moguće provesti na više načina. Jedna vrsta analize uključuje izradu prediktivnih modela, kao što je slučaj u ovom 91 radu. Postoje još analize raznim načinima grupiranja, npr. segmentacija i analiza košarice. Metodom segmentacije klijenti bi se, prema sličnosti, grupirali u određen broj grupa. Napravila bi se analiza proizvoda specifičnih za dobivene grupe, nakon čega bi se klijentima nudili proizvodi specifični za grupu kojoj pripadaju, a koje još ne koriste. Metodom analize košarice traže se proizvodi koji se najčešće prodaju zajedno i zatim se klijentima koji imaju samo dio tih proizvoda nude i ostali. Metode raspoznavanja uzoraka se u današnje vrijeme sve više upotrebljavaju za rješavanje problema koji nisu čisto tehničke prirode, već one prodiru i u poslovnu sferu [34]. Poslovni stručnjaci su do sada bili orjentirani na upotrebu statističkih metoda analize zbog kompliciranosti upotrebe metoda raspoznavanja uzoraka. U današnje vrijeme na tržištu se nudi sve veći broj programskih paketa kojima se rješavaju pojedini, specifični problemi. Jedan od njih je programski paket za rano otkrivanje klijenata koji će prekinuti poslovni odnos u telekomunikacijama. Postoje i drugi programski paketi kao npr. određivanje cijena vrijednosnih papira, otkrivanje napada na kompjutorske servere i mreže, određivanje ključnih riječi članaka i sl. Sve su to alati koji se u osnovi zasigurno koriste nekom od metoda raspoznavanja uzoraka. Osim ovih usko specijaliziranih rješenja pojavljuju se i alati koji omogućuju analize podataka upotrebom mnogobrojnih metoda raspoznavanja uzoraka. Danas poznate metode raspoznavanja uzoraka su razvijali znanstvenici iz više znanstvenih područja. Statističke metode se svrstavaju u primjenjenu matematiku, dok su stabla odluke i umjetne neuronske mreže nastale prvenstveno za potrebe stvaranja umjetne inteligencije. Nije zanemariv niti doprinos informatičara koji su raznim implementacijama i optimizacijama skratili vrijeme analize. Velik korak prema popularizaciji metoda raspoznavanja uzoraka su svakako programski alati koji omogućavaju poslovnom korisniku da bez detaljnog poznavanja metoda raspoznavanja uzoraka može samostalno raditi analize poslovnih podataka. Danas postoji nekoliko takvih programskih paketa koji se međusobno razlikuju prema broju i kvaliteti implementiranih metoda raspoznavanja uzoraka, prema mogućnostima podešavanja parametara i složenosti upotrebe. Autor ovog magistarskog rada imao je priliku vidjeti i usporediti nekoliko takvih programskih paketa. Trenutno je Sas Enterprise Miner alat u kojem je jednostavno i brzo moguće implementirati velik broj raznih tehnika. Zbog velikog broja dobro dokumentiranih mogućnosti, uz istovremenu jednostavnost upotrebe alat se jednako preporučuje poslovnim korisnicima bez detaljnog poznavanja metoda raspoznavanja uzoraka i analitičarima s njihovim dobrim poznavanjem. Iz istih razloga alat je korišten i za izradu ovog magistarskog rada. 92 8. Literatura [1] [2] [3] [4] [5] [6] [7] [8] [9] Adrian Reynolds, "Customer Relationship Management", prezentacija u okviru seminara "Bringing Customer Intelligence to your CRM projects", SAS Institute, Ljubljana, Slovenija, 15.06.2000. Alberto Saccardi i Guido Cuzzocrea, "Database Marketing applications in the Italian Banking Sector", SEUGI 16 Proceedings CD-ROM, SAS Institute European Headquarters, Heidelberg, Njemačka, 1998. Andrew H. Karp, "Getting Started with PROC LOGISTIC", Statistics, Data Analysis, and Data Mining, članak 248-26, URL: www.emerald-library.com Anil K. Jain, Jianchang Mao i K.M. Mohiuddin, "Artificial Neural Networks: A Tutorial", Computer, IEEE, Vol. 29, No. 3, ožujak 1996, stranice 31-44 Bryan D. Nelson, "Variable Reduction for Modeling using PROC VARCLUS", Statistics, Data Analysis, and Data Mining, članak 261-26, URL: www.emerald-library.com Claudio Marcus, "A practical yet meaningful approach to customer segmentation", Journal of consumer marketing, MCB Univerity Press, vol.15, no.5, 1998, stranice 494-504, URL: www.emerald-library.com Davor Hebel, "Data mining & knowledge discovery – gaining competitive advantage with examples in area of finance", URL: http://www.andrew.cmu.edu/~dhebel/telecom/paper/dataminingpaper.html, 1998. Denise D. Schoenbachler, Geoffrey L. Gordon, Dawn Foley i Linda Spellman, "Understanding consumer database marketing", Journal of consumer marketing, MCB Univerity Press, vol. 14, no. 1, 1997, stranice 5-19, URL: www.emerald-library.com Doug Wielenga, Bob Lucas i Jim Georges, Enterprise Miner: Applying Data Mining Techniques Course Notes, SAS Institute Inc., Cary, NC, SAD, 1999. 93 [10] Elisabete Silva, "Improving knowledge about customers using data mining tehniques", SEUGI 18 Proceedings CD-ROM, SAS Institute EMEA, Heidelberg, Njemačka, 2000. [11] Elisabete Silva, Henrique Nicola, "Data Mining as a Decision Making Support System for the Banking Sector", SEUGI 18 Proceedings CD-ROM, SAS Institute EMEA, Heidelberg, Njemačka, 2000. [12] Flavio Addolorato i Luca Bodio, "Behavioural analysis of retail customers at Banca Commerciale Italiana", SEUGI 15 Proceedings CD-ROM, SAS Institute European Headquarters, Heidelberg, Njemačka, 1997. [13] "Focus on the customer – Customer relationship management in banking", propagandni letak, Cap Gemini, London, Velika Britanija, 2000. [14] George Damianov, "Application of statistics in banking: Market segmentation and behavioral scoring", SEUGI 17 Proceedings CD-ROM, SAS Institute EMEA, Heidelberg, Njemačka, 1999. [15] George H. John, Enhancements to the data mining process, doktorska disertacija, Stanford university, SAD, 1997. [16] Gordon Linoff i Michael J. A. Berry, Customer Relationship Management Through Data Mining Course Notes, Data Miners Inc., MA, SAD, 2000. [17] Gordon Linoff i Michael J. A. Berry, Mastering Data Mining – The Art and Science of Customer Relationship Management, John Wiley & Sons, Inc., NY, SAD, 2000. [18] Harper W. Boyd, Orville C. Walker, Marketing management – A strategic approach, Irwin, SAD, 1990. [19] Huw Davis, "Using Lifestyle Data to Improve Customer Segmentation", SEUGI 96 Proceedings CD-ROM, SAS Institute, Heidelberg, Njemačka, 1996. [20] Ian Thornhill, "Comparison of various statistical tehniques to support market retention and aquisition programs", SEUGI 17 Proceedings CD-ROM, SAS Institute EMEA, Heidelberg, Njemačka, 1999. [21] Ivan Šošić i Vladimir Serdar, Uvod u statistiku, Školska knjiga, Zagreb, 1992. [22] Ivo Pavlić, Statistička teorija i primjena, Tehnička knjiga, Zagreb, 1988. [23] John Herz, Anders Krogh i Richard G. Palmer, Introduction to the theory of neural computation, Addison-Wesley Publishing Company, Redwood City, CA, SAD, 1994. [24] Karen A. Forcht i Kevin Cochran, "Using data mining and datawarehousing techniques", Industrial Management & Data Systems, MCB University Press, broj 1999/5, stranice 189-196, URL: www.emerald-library.com 94 [25] Luc Devroye, Laszlo Gyorfi i Gabor Lugosi, A probabilistic theory of pattern recognition, Springer-Verlag New York, Inc., NY, SAD, 1996. [26] Michael L. Gargano i Bel G. Raggad, "Data mining - a powerful information creating tool", OCLC Systems & Services, MCB University Press, vol. 15, no. 2, 1999, stranice 81-90, URL: www.emerald-library.com [27] Nikola Sarapa, Teorija vjerojatnosti, Školska knjiga, Zagreb, 1992. [28] Paul Marovich, Mike Patetta i Sue Walsh, Statistics I: Introduction to ANOVA, Regression, and Logistic Regression Course Notes, SAS Institute Inc., Cary, NC, SAD, 1995. [29] Philip Kotler, Upravljanje marketingom 1 i 2, Informator, Zagreb, 1988. [30] Ralf Finger, "Credit scoring at Vorwerk: the profit maximum is not the only goal", SEUGI 96 Proceedings CD-ROM, SAS Institute, Heidelberg, Njemačka, 1996. [31] Richard Germain, "Were banks marketing themselves well from a segmentation perspective before the emergence of scientific inquiry on services marketing?", Journal of services marketing, MCB University Press, vol. 14, 2000/1, stranice 44-62, URL: www.emerald-library.com [32] Rui Alexandre Henriques Goncalves, "Neural networks application: A case study", SEUGI 96 Proceedings CD-ROM, SAS Institute, Heidelberg, Njemačka, 1996. [33] Sarle W.S., Neural Network FAQ, 1997., URL: ftp://ftp.sas.com/pub/neural/FAQ.html, [34] Sean B. Eom, "Decision support systems research: current state and trends", Industrial Management & Data Systems, MCB Univerity Press, broj 1999/5, stranice 213-220, URL: www.emerald-library.com [35] SAS Institute Inc., SAS/INSIGHT User's Guide, SAS Institute Inc., Cary, NC, SAD, 1995. [36] SAS Institute Inc., SAS/STAT User's Guide, SAS Institute Inc., Cary, NC, SAD, 1989. [37] Stacie Maxey, "Data Mining - an interactive approach to customer database segmentation using a recency-frequency-value model", SEUGI 18 Proceedings CD-ROM, SAS Institute EMEA, Heidelberg, Njemačka, 2000. [38] Stella Cacoullis, "Selecting credit-worthy customers", SEUGI 96 Proceedings CD-ROM, SAS Institute, Heidelberg, Njemačka, 1996. [39] Sten Sture, "Treedisc – A method for identifying household segments", SEUGI 96 Proceedings CD-ROM, SAS Institute, Heidelberg, Njemačka, 1996. 95 [40] Tania Nochisaki, "Creating the customer comfort zone", Inform – CRM in financial services, SAS Institute EMEA, Heidelberg, Njemačka, broj 29, ožujak 2000, stranice 4-9 [41] V. Cherkassky, J. H. Friedman i H. Wechsler (eds.), From Statistics to Neural Networks: Theory and Pattern Recognition Applications, Springer-Verlag, SAD, 1994. [42] Vlatko Čerić, Mladen Varga, Hugo Birolla, et al., Poslovno računarstvo, Znak, Zagreb, 1998. [43] William F.Schoell, Joseph P. Guiltinan, Marketing – contemporary concepts and practices, Allyn and Bacon, SAD, 1987, [44] William J.E. Potts, Decision Tree Modeling Course Notes, SAS Institute Inc., Cary, NC, SAD, 1999. [45] William J.E. Potts, Neural Network Modeling Course Notes, SAS Institute Inc., Cary, NC, SAD, 2000. Objavljeni radovi vezani uz magistarski rad: [46] Ivan Vrančić, "Principles of data warehousing in Zagrebačka banka", SEUGI 17 Proceedings CD-ROM, SAS Institute EMEA, Heidelberg, Njemačka, 1999. [47] Ivan Vrančić, "Pattern Recognition Approach to Customer Analysis", Proceedings of the 2nd International Symposium on Image and Signal Processing and Analysis, University Computing Center, Zagreb, 2001, stranice 325-329 96 9. Dodatak A: Sažetak Postoji jedan cross-selling problem, specifičan financijskim institucijama, koji je u okviru ovog magistarskog rada rješavan analizom klijenata upotrebom metoda raspoznavanja uzoraka. U radu je detaljno razrađena zaokružena cjelina koja se sastoji od procesa prikupljanja podataka o klijentima, procesa transformacije istih s ciljem izdvajanja značajki, procesa analize značajki klijenata izradom prediktivnih modela metodama raspoznavanja uzoraka i na kraju procesa implementacije rezultata analize u poslovni proces. Prediktivni modeli su napravljeni upotrebom više tehnika triju metoda raspoznavanja uzoraka - regresijske metode, metode stabla odluke i metode umjetnih neuronskih mreža. Opisani su načini mjerenja kvalitete prediktivnih modela na temelju kojih su napravljene usporedbe. Opisano je i kako je reorganizacijom podataka i izdvajanjem dodatnih značajki klijenata poboljšana kvaliteta prediktivnih modela. Poslovni stručnjaci su vrlo pozitivno ocijenili rezultate analize. U trenutku završetka izrade rada, intenzivno se radilo na implementaciji analize u poslovni proces. Ključne riječi: analiza klijenata, izdvajanje značajki, raspoznavanje uzoraka, prediktivni model, financije 97 10. Dodatak B: Summary Title: Pattern recognition methods for business financial data analysis Basic problem this work is dealing with is customer analysis using pattern recognition methods to solve a cross-selling problem, specific to financial institutions. The work describes the whole process cycle that consists of data collection and transformation, features extraction, analysis using predictive model development, and implementation of analysis results into business process. Predictive models are made using many techniques of three pattern recognition methods - regression, decision tree and artificial neural network. Several quality measurement methods are described and used to compare obtained models. Results are even improved by data reorganisation and extraction of extra features. Business experts are very pleased with analysis results. In work completion time, the complete analysis process has been implemented in business process. Keywords: client analysis, features extraction, pattern recognition, predictive model, finance 98 11. Dodatak C: Životopis Rodio sam se 24. travnja 1974. godine u Zagrebu, Republika Hrvatska, gdje sam proveo djetinjstvo i cijelo dosadašnje školovanje. U osnovnoj i srednjoj školi sam sudjelovao na mnogobrojnim natjecanjima iz matematike (2 sudjelovanja na republičkim natjecanjima). Završio sam srednju Tehničku školu Ruđera Boškovića, smjer Opća elektronika, gdje sam bio demonstrator iz većine predmeta. Fakultet elektrotehnike i računarstva u Zagrebu upisao sam 1993. godine. Za vrijeme studija, također sam bio demonstrator iz većine predmeta. Kao nagradu za izvanredan uspjeh, na kraju studija sam dobio Brončanu plaketu Josipa Lončara. Diplomirao sam 1997. godine na smjeru Industrijska elektronika, s odličnim uspjehom. Godine 1998. upisujem poslijediplomski znanstveni studij na fakultetu elektrotehnike i računarstva u Zagrebu, smjer Opća elektronika, pri Zavodu za elektroničke sustave i obradbu informacija. Istovremeno sam se zaposlio u jednoj od najvećih hrvatskih financijskih institucija kao specijalist za poslovne izvještajne sustave (MIS). Vodio sam projekt izrade skladišta podataka, više projekata internog i eksternog izvještavanja, izvještavanje putem intraneta i trenutno vodim projekt analize klijenata upotrebom metoda raspoznavanja uzoraka. U projektima smo implementirali najnovije svjetske informatičke tehnologije. Većina projekata je prezentirana na međunarodnim konferencijama, na kojima smo već nekoliko godina nagrađivani najvišim nagradama. 99
© Copyright 2024 Paperzz