43
Logistička regresija – praktična primjena u R-u Travanj 2015. Mozgalo 2015

Logistička regresija

  • Upload
    donhi

  • View
    248

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Logistička regresija

Logistička regresija – praktična primjena u R-u

Travanj 2015.

 

Mozgalo 2015

Page 2: Logistička regresija

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

Page 3: Logistička regresija

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

Page 4: Logistička regresija

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

Page 5: Logistička regresija

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

Page 6: Logistička regresija

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

Page 7: Logistička regresija

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

Page 8: Logistička regresija

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

Page 9: Logistička regresija

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

Page 10: Logistička regresija

Učitavanje podataka za Mozgalo 2015

Koji je format podataka (.txt, .csv, ...)?

R Studio ima jednostavnu opciju učitavanja .txt podataka

Str. 10

Page 11: Logistička regresija

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?

Page 12: Logistička regresija

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.

Page 13: Logistička regresija

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.

Page 14: Logistička regresija

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!

Page 15: Logistička regresija

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).

Page 16: Logistička regresija

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

Page 17: Logistička regresija

Analiza korelacija – R built-in funkcije

Str. 17

sa target varijablom

međusobno

Page 18: Logistička regresija

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?

Page 19: Logistička regresija

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%

Page 20: Logistička regresija

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!

Page 21: Logistička regresija

Stratificirano particioniranje

Str. 21

Kreiranje STRATA varijable

Odabir STRATA varijable je iznimno bitan za kvalitetu dobivenog modela!

Page 22: Logistička regresija

Kreiranje particija u R kodu

Str. 22

Page 23: Logistička regresija

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).

Page 24: Logistička regresija

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

Page 25: Logistička regresija

Kreiranje uzorka – R kod

Str. 25

Page 26: Logistička regresija

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

Page 27: Logistička regresija

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

Page 28: Logistička regresija

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

Page 29: Logistička regresija

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.

Page 30: Logistička regresija

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

Page 31: Logistička regresija

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

Page 32: Logistička regresija

Primjena glm funkcije u R-u

Str. 32

Inicijalni model (baseline)

Postavke:

TARGET varijabla

Zavisne varijable

Distribucija - binomial

Page 33: Logistička regresija

GLM inicijalni model - summary

Str. 33

Page 34: Logistička regresija

GLM Backward metoda - poziv

Str. 34

Page 35: Logistička regresija

GLM Backward metoda - iteracija

Str. 35

Page 36: Logistička regresija

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

Page 37: Logistička regresija

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.

Page 38: Logistička regresija

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

Page 39: Logistička regresija

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

Page 40: Logistička regresija

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

Page 41: Logistička regresija

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

Page 42: Logistička regresija

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

Page 43: Logistička regresija

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