ovdje - eSTUDENT

Download Report

Transcript ovdje - eSTUDENT

Logistička regresija – praktična primjena u R-u
Mozgalo 2015
Travanj 2015.
Proces modeliranja
 Definicija poslovnog/istraživačkog problema
 Definicija ciljnog događaja
 Priprema i čišćenje podataka
 Izrada baze za modeliranje
 Preliminarna analiza
 Odabir metodologije
 Izrada modela
 Primjena modela
 Ocjena i validacija modela
 Mjerenje uspješnosti
 Kalibracija ili novi proces modeliranja
Str. 2
Logistička regresija
 Matematički model koji se koristi za analizu kategorijskih podataka
 Pripada klasi generaliziranih linearnih modela (GLM)
 Temeljna pretpostavka da postoji linearna veza između očekivanja odziva i kovarijata (funkcija
poveznica daje vezu između linearnog prediktora i sredine odziva)
 Slučajna komponenta odziva mora imati razdiobu iz neke od eksponencijalnih familija
 Koristi se za predviđanje kategorijskih izlaza, bez obzira na tip ulaznih varijabli
Str. 3
Primjeri problema u financijskoj industriji
Modeliranje bilo kojeg problema kod kojeg se ciljni događaj može prevesti u
kategorijsku varijablu.
Primjeri problema:
 kupnja proizvoda (da/ne),
 aktivacija usluge (da/ne),
 smanjenje transakcijske aktivnosti (da/ne),
 nemogućnost otplate kredita (da/ne),
 ostvarenje osiguranog događaja (da/ne)
 vrsta reakcije na proaktivni kontakt (pozitivna/neutralna/negativna)
 razina korištenja usluge/proizvoda (izgledno povećanje / izgledno
smanjenje / zadržavanje iste razine / prestanak korištenja)
 potreba za proizvodom na horizontu T (da/ne) i slično.
Str. 4
R paketi za današnju radionicu
http://cran.r-project.org/
SQLdf
http://cran.r-project.org/web/packages/sqldf/index.html
Hmisc
http://cran.r-project.org/web/packages/Hmisc/index.html
Str. 5
Paket SQLdf
 Upotreba: jednostavnija manipulacija sa data frame podacima
 Nije nužan za rad, koristimo ga zbog praktičnosti
Primjer korištenja
>library(sqldf)
>sqldf("select
campaign_id ,
answer_id,
count (datetime) as cnt
from md
group by campaign_id,answer_id
order by campaign_id, answer_id")
Str. 6
Paket Hmisc
 Upotreba: jednostavniji izračun i prikaz korelacija i p vrijednosti
 Osnovna funkcija rcorr()
Primjer korištenja
>library(Hmisc)
>nums <- sapply(var1, is.numeric)
>stat_regnumvar<-rcorr(as.matrix(var1[,nums]))
Str. 7
Priprema i čišćenje podataka
Podaci su dobre kvalitete ako su
 cjeloviti,
 konzistentni,
 vremenski označeni i
 odgovaraju standardima industrije
a ako još zadovoljavaju i posebnu poslovnu potrebu, onda su vrhunske
kvalitete.
Iako logički standardiziran, proces pripreme je uvijek uvjetovan konkretnim
problemom i ciljnim događajem.
Str. 8
Priprema i čišćenje podataka
Priprema podataka za modeliranje:
 Čišćenje podataka
• redoviti dio procesa modeliranja, da se spriječe kritične greške
 Tretman nedostajućih vrijednosti
• dva pristupa: eliminacija ili zamjena (nekom mjerom)
 Tretman netipičnih vrijednosti i zapisa (outlier-a)
• otkrivaju se univarijatnom i multivarijatnom analizom
• parametarske i neparametarske metode
 Preliminarni odabir varijabli
• uvijek prije ulaska u fazu modeliranja, osobito kod velikog broja varijabli i
njihovih izvedenica / inačica!
Uvijek dobro upoznajte podatke!
Str. 9
Učitavanje podataka za Mozgalo 2015
Koji je format podataka (.txt, .csv, ...)?
R Studio ima jednostavnu opciju učitavanja .txt podataka
Str.
10
Inicijalni pregled i čišćenje učitanih podataka
 Brzi
pregled učitanih podataka
 Koje tipove podataka imamo
 Ima li baza jedinstveni identifikator za svaki redak?
 Što smatramo da bi mogao biti jedinstveni identifikator zapisa (observacije u
modeliranju)?
 Klijent?
 Transakcija?
 ...
 Postoje
3 različite kampanje (CAMPAIGN_ID)
 Koji su periodi trajanja?
 Da li se periodi međusobno preklapaju?
 Što možemo zaključiti iz toga?
Str.
11
Tretiranje nedostajućih vrijednosti
Problem nedostajućih vrijednosti u bazi: ako bilo kojem zapisu nedostaje
podatak na barem jednoj varijabli ili ako bilo kojoj varijabli nedostaje podatak za
barem jednu observaciju
Problem se najlakše otkriva analizom statistika!
Tretman nedostajućih vrijednosti ovisi o:
Str.
12

tome da li podaci nedostaju potpuno slučajno (eliminacija) ili neslučajno
(zamjena)

veličini inicijalne baze

minimalnom broju observacija za validnu analizu/modeliranje problema

tipu varijable (numeric, character)

smislu varijable (stanje na tekućem računu, broj logiranja...)

može li varijabla imati negativne / nedostajuće / pozitivne vrijednosti

da li se nedostajuća vrijednost može smatrati vrijednošću nula

i slično.
Tretiranje nedostajućih vrijednosti – primjeri
Primjeri

LOCATION_ID - ne želimo da nam model broj pošte razmatra kao numeric,
mora biti klasifikacijska varijabla?

WARNING_NUM – ima jednu negativnu vrijednost, vjerovatno pitanje kvalitete
podataka?

DEPOSIT – ima i negativnih vrijednosti, kako to tumačimo?
Eliminacija: eliminira se cijela observacija (neke metode to same rade!)
Zamjena:
 mjere centralne tendencije (aritmetička sredina, medijan, mode...),
 zamjena prema distribuciji varijable (predviđanje nedostajuće vrijednosti
pomoću stabla, regresije itd.),
 višestruka zamjena.
Str.
13
Određivanje ciljnog događaja
Ciljni događaj mora biti jasno i nedvojbeno definiran i ne mora biti
reprezentiran nekom od postojećih varijabli u bazi.
Ovisi o tome kako definiramo poslovni problem kojeg rješavamo pomoću
prediktivnog modela.
Koji su mogući ishodi?
U primjeru ciljni događaj smo definirali kao 1 ako je ANSWER_ID=1, inače je
ciljni događaj 0 i spremili ga u target varijablu TARGET.
Ciljnom događaju mjenjamo klasu u factor!
Str.
14
Udio ciljnog događaja
Postoji li problem nejednakosti klasa (eng. class imbalance)?
Udio ciljnog događaja u bazi je iznimno mali ili su proprocije klasa u ciljnoj
varijabli značajno neravnomjerne.
Moguće rješenje: oversampling, undersampling, kreiranje uzorka kako bi se
postigao željeni omjer klasa
Preporuke kod binarnog izlaza:
30:70
40:60
50:50
ovisno što rezultira boljim modelom (ne vodi premalo ili previše prilagođenom
modelu).
Str.
15
Dodavanje izvedenih varijabli
Prediktivna moć modela može se povećati kreiranjem izvedenih varijabli
 varijabla koja nema prediktivnu snagu sama za sebe može pružiti više
informacija ako se kombinira s dugom varijablom
 izvedene varijable kreiraju se primjenom matematičkih funkcija
(kompleksne ili jednostavne) koje opisuju veze među podacima
Primjeri:
 Grupiranje podataka (npr sumiramo dvije ili više kolona)
 Logaritmiranje
 Normalizacija
Str.
16
Analiza korelacija – R built-in funkcije
 sa target varijablom
 međusobno
Str.
17
Analiza korelacija pomoću Hmisc
 Izlaz je sortiran po apsolutnoj vrijednosti koef. korelacije uz uvjet da je p<0.05
 kako tumačimo korelaciju target varijable s ANSWER_ID i CHANNEL_ID
varijablom?
 je li nam varijabla rownumber značajnija za model od varijabli campaign_id ili
loan_balance?
Str.
18
Particioniranje ulazne baze
Polazna
baza
Udio target 5%
Particioniranje
(stratificirano)
Udio target 5%
Udio target 5%
Validation
30%
Train
50%
Test 20%
Udio target 5%
Str.
19
Undersampling
(udio target 30%)
Model
Particioniranje ulazne baze
Pročišćenu i pripremljenu ulaznu bazu dalje particioniramo na
 Skup podataka za učenje (eng. training set)
50%
 Skup podataka za validaciju (eng. validation set)
30%
 skup podataka za test (eng. test set)
20%
Metoda podjele skupa
 Slučajni odabir
 Stratificirani odabir
 Odabir postojeće ili kreiranje nove varijable za STRATA varijablu
Važno je da svaka particija predstavlja stvarnu populaciju!
Str.
20
Stratificirano particioniranje
Kreiranje STRATA varijable
Odabir STRATA varijable je iznimno bitan za kvalitetu dobivenog
modela!
Str.
21
Kreiranje particija u R kodu
Str.
22
Oversampling i undersampling
Kako bismo unaprijedili model i dobili zadovoljavajući udio ciljnog događaja
koristimo sljedeće metode:
 Undersampling – ne-heuristička metoda kojom se postiže izbalansirani
uzorak smanjenjem udjela ne-ciljnog događaja.
 Nedostatak je odbacivanje potencijalno korisnih podataka, posebice kod
stabla odlučivanja.
 Oversampling - ne-heuristička metoda kojom se postiže izbalansirani uzorak
repliciranjem ciljnog događaja.
 Nedostatak je overfitting (model previše prilagođen podacima iz skupa za
učenje).
Str.
23
Kreiranje uzorka i undersampling
 Udio TARGET događaja je
4,3%, a želimo da udio target
događaju bude 30%
 Undersampling
 Zadržavamo sve TARGET
događaje
 Nadopunjujemo sa slučajnim
uzorkom preostalih događaja
 Ako je potrebno radimo
stratificirani uzorak
Str.
24
Kreiranje uzorka – R kod
Str.
25
Moguće metode izbora varijabli u LR (1/2)
Proces odabira varijabli/kombinacija varijabli u modelu ima za cilj:
 smanjiti mogućnost ‘overfittanja’
 smanjiti redundantnost varijabli-snažno korelirane varijable obično su
redundantne
 unaprijediti točnost predviđanja - ako znamo koje su varijable relevantne
ulazimo u bit postavljenog problema
Moguće metode izbora varijabli u modelu:
 klasične (forward, backward, stepwise regresija)
 Bayes-ova metoda odabira varijabli
 na temelju informacijskih kriterija (AIC, BIC i drugi)
 korištenjem stabla odlučivanja i metode glavnih komponenti.
Str.
26
Moguće metode izbora varijabli u LR (2/2)
Za poslovne svrhe varijable u modelu zadržavaju se na temelju:
 korelacija varijable s target varijablom i međusobnih korelacija - problem
multikolinearnosti
 analize deskriptivne statistike i distribucije varijabli
 poslovnog značenja i vjerodostojnosti varijable
 popunjenosti varijable na što većem broju observacija.
Str.
27
Klasične metode u regresiji (1/2)
Forward
 Polazi od modela koji nema nijednu varijablu.
 U svakom koraku dodaje se po jedan varijabla i to najznačajnija po odabranom
kriteriju značajnosti (p-value, AIC, BIC).
 Zaustavlja se kada nema više niti jedne varijable koja bi bila potencijalno značajna
za model.
 Preporuča se korištenje u slučaju velikog uzorka.
Backward
 Polazi od svih varijabli u modelu.
 Odbacuje jednu po jednu varijablu koja nije značajna prema odabranom kriteriju
(p-value, AIC, BIC)
 Zaustavlja se kada su sve preostale varijable u modelu značajne.
 Preporuča se korištenje u slučaju malog uzorka.
Str.
28
Klasične metode u regresiji (2/2)
Stepwise
 Kombinira Backward metodu i Forward metodu.
 U svakom koraku varijabla može biti dodana ili izbačena iz modela.
 Korisna je kod velikog broja varijabli.
Str.
29
Prednosti klasičnih metoda
Jednostavne za korištenje.
Prednost korištenja backward metode u odnosu na forward i stepwise
je to što bolje prepoznaje optimalnu kombinaciju prediktivnih varijabli.
Str.
30
Nedostaci klasičnih metoda:
 U stepwise metodi se u svakom koraku dodaje i odbacuje po jedna varijabla,
čime se može propustiti optimalna kombinacija varijabli
 Forward metoda neće uključiti varijable koje individualno nisu prediktivne, a bile
bi u kombinaciji s drugim varijablama, dok ih backward neće izbaciti
 Ukoliko postoji multikolinearnost, stepwise će odbaciti gotovo sve varijable,
posebice ako se koristi nizak prag kriterijske vrijednosti
Kod svih metoda vrijedi:
 Odbacivanje manje prediktivne varijable precjenjuje prediktivnost preostalih
 Potreban je oprez kod varijabli sa puno nedostajućih vrijednosti
Uz primjenu određene metode potrebna je i vlastita prosudba!
Str.
31
Primjena glm funkcije u R-u
Inicijalni model (baseline)
Postavke:
 TARGET varijabla
 Zavisne varijable
 Distribucija - binomial
Str.
32
GLM inicijalni model - summary
Str.
33
GLM Backward metoda - poziv
Str.
34
GLM Backward metoda - iteracija
Str.
35
Skoriranje baze
 Nakon što je model dovršen primjenjujemo ga na sve tri particije: podacima na
kojima je algoritam učio i ocjenjivao parametre, te na podacima koje algoritam nije
“vidio”
 Izlaz primjene modela je tzv. score koji poprima vrijednosti između 0 i 1
Str.
36
Rezultati modela
Na grafikonu prikazana je distribucija izlaza predict() funkcije (SCORE)
Izlaz je u intervalu između 0 i 1, ne predstavlja stvarnu vjerojatnost
Najvjerojatniji su oni sa najvišim score-om.
Str.
37
Mjere za ocjenu GLM modela (1/4)
Mjere za ocjenu modela koriste se kako bi se utvrdila kvaliteta modela te kako bi
se iz skupa primijenjenih modela mogli odabrati oni najprihvatljiviji.
1. NAGELKERKE PSEUDO R2
 U logističkoj regresiji ne postoji ekvivalent R2 kao u linearnoj regresiji (udio
varijance zavisne varijable koji se može objasniti nezavisnim varijablama)
 Koriste se različiti pseudo R2 (Cox i Snell-ov, McFadden-ov, Efron-ov,
Nagelkerke)
 Nagelkerke pseudo R2 poprima vrijednosti unutar [0, 1], te se može
interpretirati kao mjera koliko je model bolji od modela samo s konstantnim
članom (eng. intercept).
 Ako model savršeno predviđa događaj, pseudo R2 =1 (bliže 1 je bolje).
Str.
38
Mjere za ocjenu GLM modela (2/4)
2. AKAIKE INFORMACIJSKI KRITERIJ (AIC)
 AIC je relativna mjera, koja se temelji na ocjeni kompleksnosti modela.
 Najbolji model je onaj s najnižom vrijednošću AIC, a može se koristiti i kao
mjera overfitanja modela.
3. SCHWARZOV KRITERIJ (SBIC)
 SBIC je relativna mjera, koja kao i AIC kažnjava model s većim brojem
parametara, jer povećanje parametara može dovesti do overfitanja
 Bolji je onaj model koji ima nižu vrijednost SBIC.
Str.
39
Mjere za ocjenu GLM modela (3/4)
4. PERFORMANCE MATRIX
 U performance matrici prikazan je odnos stvarnih
događaja i događaja predviđenih modelom.
 Ukoliko je riječ o modelu s binarnom target
varijablom, matrica ima 4 moguće kombinacije:
true positive, true negative, false positive, false
negative.
 Overal Accuracy prikazuje udio opservacija za koje je model točno predvidio
događaje u ukupnom broju opservacija:
 Misclassification Rate prikazuje udio opservacija za koje model nije točno
predvidio događaje u ukupnom broju opservacija:
Str.
40
Mjere za ocjenu GLM modela (4/4)
5. ROC KRIVULJA
 Optimalan položaj ROC krivulje je gornji
lijevi kut gdje je niži omjer false positive
pogrešaka, a viši omjer true positive pa je
ocjena modela bolja.
 ROC indeks mjeri površinu ispod ROC
krivulje.
 Što je veći, veća je mogućnost da će
stvarnim pozitivnim slučajevima biti
dodijeljena veća vjerojatnost pozitivnog
događaja.
 Receiver Operating Curve (ROC) je
grafički prikaz odnosa TPR mjere i FPR
mjere.
Str.
41
Interpretacija parametara
Attribute
Coefficient
Standard Error Wald Chi-Square
Pr>Chi-Square
Exp (Coefficient)
Konstanta
-2,1879
2,0158
1,1779
0,2778
0,1122
Dob
-1,8163
0,1539
139,2204
0,0000
0,1626
Redoviti priljev
0,0932
0,0178
27,3105
0,0000
1,0977
Broj transakcija u poslovnici
0,4747
0,0818
33,6909
0,0000
1,6076
 Exp(coeff)=Exp(-1,8163)=0,1626 → Zbog negativnog predznaka koeficijenta →
1-0,1626 = 0,8374
 Za svako povećanje broja godina klijenta za 1 jedinicu, uz uvjet da su ostale varijable
nepromijenjene, očekivani pad omjera vjerojatnosti (p/1-p) kupnje proizvoda “A” biti će 84%.
 Exp(coeff)=Exp(0,0932) = 1,0977
 Za svako povećanje redovitog priljeva za 1 jedinicu, uz uvjet da su ostale varijable
nepromijenjene, očekivani rast omjera vjerojatnosti kupnje proizvoda “A” biti će 9,8%.
 Exp(coeff)=Exp (0,4747) = 1,6076
Str.
42
 Za svako povećanje broja transakcija u poslovnici za 1 jedinicu, uz uvjet da su ostale varijable
nepromijenjene, očekivani rast omjera vjerojatnosti kupnje proizvoda “A” biti će 61%.
Određivanje značajnosti varijabli
Attribute
Coefficient
Standard Error Wald Chi-Square
Pr>Chi-Square
Exp (Coefficient)
Konstanta
-2,1879
2,0158
1,1779
0,2778
0,1122
Dob
-1,8163
0,1539
139,2204
0,0000
0,1626
Redoviti priljev
0,0932
0,0178
27,3105
0,0000
1,0977
Broj transakcija u poslovnici
0,4747
0,0818
33,6909
0,0000
1,6076
Ukoliko je p-vrijednost manja od 0,05 odbacujemo nultu hipotezu, što znači
da parametar nije jednak nuli, odnosno da je varijabla značajna.
 Wald-ov test se koristi za određivanje značajnosti svakog pojedinog procijenjenog
regresijskog koeficijenta u modelu - testira se nulta hipoteza da je pojedini parametar
jednak nuli.
 Računa se kao z-omjer
distribuciju.
Str.
43
, koji se zatim kvadrira kako bismo dobili Hi-kvadrat