Metode raspoznavanja uzoraka za analizu

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