Download presentation
Presentation is loading. Please wait.
1
Logistička regresija – praktična primjena u R-u
Mozgalo 2015 Travanj 2015.
2
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
3
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
4
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.
5
R paketi za današnju radionicu
SQLdf Hmisc
6
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")
7
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]))
8
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.
9
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!
10
Učitavanje podataka za Mozgalo 2015
Koji je format podataka (.txt, .csv, ...)? R Studio ima jednostavnu opciju učitavanja .txt podataka
11
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?
12
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: 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.
13
Tretiranje nedostajućih vrijednosti – 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.
14
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!
15
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).
16
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
17
Analiza korelacija – R built-in funkcije
sa target varijablom međusobno
18
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?
19
Particioniranje ulazne baze
20
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!
21
Stratificirano particioniranje
Kreiranje STRATA varijable Odabir STRATA varijable je iznimno bitan za kvalitetu dobivenog modela!
22
Kreiranje particija u R kodu
23
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).
24
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
25
Kreiranje uzorka – R kod
26
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.
27
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.
28
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.
29
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.
30
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.
31
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!
32
Primjena glm funkcije u R-u
Inicijalni model (baseline) Postavke: TARGET varijabla Zavisne varijable Distribucija - binomial
33
GLM inicijalni model - summary
34
GLM Backward metoda - poziv
35
GLM Backward metoda - iteracija
36
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
37
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.
38
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).
39
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.
40
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:
41
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.
42
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 1,0977 Broj transakcija u poslovnici 0,4747 0,0818 33,6909 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%.
43
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 1,0977 Broj transakcija u poslovnici 0,4747 0,0818 33,6909 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 , koji se zatim kvadrira kako bismo dobili Hi-kvadrat distribuciju.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.