Upload
donhi
View
248
Download
5
Embed Size (px)
Citation preview
Logistička regresija – praktična primjena u R-u
Travanj 2015.
Mozgalo 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
Uvijek dobro upoznajte podatke!
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!
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
Str. 11
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?
Tretiranje nedostajućih vrijednosti
Str. 12
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: 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
Str. 13
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.
Određivanje ciljnog događaja
Str. 14
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!
Udio ciljnog događaja
Str. 15
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).
Dodavanje izvedenih varijabli
Str. 16
Prediktivna moć modela može se povećati kreiranjem izvedenih varijablivarijabla 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)LogaritmiranjeNormalizacija
Analiza korelacija – R built-in funkcije
Str. 17
sa target varijablom
međusobno
Analiza korelacija pomoću Hmisc
Str. 18
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?
Particioniranje ulazne baze
Str. 19
Udio target 5%
Polazna baza
Udio target 5%
Test 20%
Train 50%
Validation 30%
Particioniranje(stratificirano)
Undersampling (udio target 30%)
Model
Udio target 5%
Udio target 5%
Particioniranje ulazne baze
Str. 20
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 skupaSlučajni odabirStratificirani odabirOdabir postojeće ili kreiranje nove varijable za STRATA varijablu
Važno je da svaka particija predstavlja stvarnu populaciju!
Stratificirano particioniranje
Str. 21
Kreiranje STRATA varijable
Odabir STRATA varijable je iznimno bitan za kvalitetu dobivenog modela!
Kreiranje particija u R kodu
Str. 22
Oversampling i undersampling
Str. 23
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).
Kreiranje uzorka i undersampling
Str. 24
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
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
redundantneunaprijediti 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 varijablina 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
multikolinearnostianalize deskriptivne statistike i distribucije varijabliposlovnog značenja i vjerodostojnosti varijable popunjenosti varijable na što većem broju observacija.
Str. 27
Klasične metode u regresiji (1/2)
Str. 28
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.
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.
Forward
Backward
Klasične metode u regresiji (2/2)
Str. 29
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. 30
Jednostavne za korištenje.
Prednost korištenja backward metode u odnosu na forward i stepwise je to što bolje prepoznaje optimalnu kombinaciju prediktivnih varijabli.
Prednosti klasičnih metoda
Uz primjenu određene metode potrebna je i vlastita prosudba!
Nedostaci klasičnih metoda:
Str. 31
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
Primjena glm funkcije u R-u
Str. 32
Inicijalni model (baseline)
Postavke:
TARGET varijabla
Zavisne varijable
Distribucija - binomial
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
Str. 37
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.
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 overfitanjaBolji je onaj model koji ima nižu vrijednost SBIC.
Str. 39
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:
Mjere za ocjenu GLM modela (3/4)
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.
4. PERFORMANCE MATRIX
Str. 40
Mjere za ocjenu GLM modela (4/4)
5. ROC KRIVULJA
Receiver Operating Curve (ROC) je grafički prikaz odnosa TPR mjere i FPR mjere.
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.
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 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%.Str. 42
Određivanje značajnosti varijabli
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 , koji se zatim kvadrira kako bismo dobili Hi-kvadrat distribuciju.
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.
Str. 43