Sunteți pe pagina 1din 34

ANALIZA

DE
DATE
PENTRU
AFACERI

CURS 9 – 8 decembrie 2020


Modele de regresie logistică
Regresia logistică

Regresia logistică este un model probabilistic de analiză statistică a legăturii dintre


2 sau mai multe fenomene, pe baza anumitor caracteristici, rezultatul fiind o
variabilă categorială.
În cazul acestui tip de regresie se pune problema predicției probabilității ca
variabila rezultat să înregistreze una dintre categoriile de răspuns posibile.
Tipuri de regresie logistică:
– Binomială – variabila dependentă ia 2 categorii de răspuns;
– Multinomială – variabila dependentă ia mai multe categorii de răspuns.
Regresia logistică

Regresia logistică binomială simplă:

– Variabila y ia 2 valori: 0 și 1 (eșec și succes)

– O singură variabilă independentă x


Regresia logistică

– În cazul regresiei logistice facem diferența dintre probabilitate (p) și


șansă (odds).
Odds = p/(1 – p)

Exemple:
– Dacă p = 0,6 atunci 1 – p = 0,4 și odds = 0,6/0,4 = 1,5. Probabilitatea de succes
(p) este de 1,5 ori mai mare decât probabilitatea de eșec (1 – p).
– Dacă p = 0,99, atunci 1 – p = 0,01 iar odds = 0,99/0,01 = 99. Probabilitatea de
succes este de 99 de ori mai mare decât probabilitatea de eșec.
Regresia logistică

Avem 3 situații pentru valoarea șansei:

– Odds > 1 evenimentul este mai probabil să înregistreze un success decât un


eșec;

– Odds < 1 evenimentul este mai probabil să înregistreze un eșec decât un


succes;

– Odds = 1 există șanse egale ca evenimentul să se întâmple sau nu.


Regresia logistică

– Formula modelului de regresie logistică binomială simplă este următoarea:


𝑝
𝑙𝑛 = 𝛽0 + 𝛽1 ∗ 𝑥 sau 𝑙𝑜𝑔𝑖𝑡 𝑝 = 𝛽0 + 𝛽1 ∗ 𝑥
1−𝑝

𝑝
– Dacă logaritmăm obținem: 𝛽 +𝛽 1 ∗𝑥 sau 𝑜𝑑𝑑 = 𝑒 𝛽 0 +𝛽 1 ∗𝑥
1−𝑝 = 𝑒 0

– Din formula precedentă scoatem valoarea probabilității succes 𝑝 = 𝑒 𝛽 0 +𝛽 1 ∗𝑥


1− 𝑒 𝛽 0 +𝛽 1 ∗𝑥
Exemplu

Se consideră un set de date ce se referă la scorurile ipotetice obținute la evaluarea


a 1000 de dosare care solicită credit (x).

Variabila dependentă (y) arată decizia băncii și este modelată printr-o variabilă de
tip dummy astfel: 0 = dosarul a fost respins; 1 = dosarul a fost acceptat.

Avem: 688 dosare respinse și 312 dosare acceptate.


Exemplu

– Graficul corespunzător datelor problemei (celor două variabile) este următorul:


Exemplu

Acest grafic pune în evidență următoarele:


– Variabila dependenta ia numai 2 valori (0 și 1) deci nu putem construi dreapta de
regresie;
– Se observă o plajă mare de scoruri pentru care banca poate accepta sau respinge
dosarul; avem deci de-a face cu un model probabilist și nu cu unul determinist;
– Dacă variabila dependentă se exprimă sub formă de probabilitate, valorile acesteia
sunt obligate să rămână în intervalul [0, 1]. Un astfel model de regresie în general
poate conduce la orice valori pentru variabila dependentă astfel că pentru a o face
să se încadreze în intervalul [0, 1] este nevoie de restricții suplimentare.
Conform celor menționate, se pare că nu putem folosi niciun model de regresie studiat
anterior ci modelul de regresie logistică binomială simplă.
Exemplu

0 1
688 312

– Analizând acest model de decizie determinăm că orice dosar va fi


respins pentru că cea mai frecventă categorie este cea a respingerii dosarului.
– Totuși, un model care spune că orice dosar va fi respins are dreptate în doar
68,8% din cazuri și greșește în 31,2% din cazuri.
Exemplu

Modelul de regresie logistică

– Avem următoarea ecuație a modelului:


Logit(p) = -12,444559 + 0,018394*Scor sau
ln(p/(1-p)) = -12,444559 + 0,018394*Scor.

Deci, 𝑝 = 𝑒 −12,444559 + 0,018394∗Scor


1− 𝑒 −12,444559 + 0,018394∗Scor
Exemplu

Concluzie:
– Am determinat așadar probabilitatea ca un dosar să fie acceptat.
– Dând valori scorului putem stabili pentru fiecare scor în parte dacă este mai
probabil ca dosarul să fie acceptat sau să fie respins.
– Se poate observa o îmbunătățire semnificativă a acestui rezultat față de cel din
modelul de decizie precedent.
– Spre deosebire de acel model, în acest caz știm dacă dosarul este acceptat sau
nu în funcție de scorul acestuia pe când în modelul precedent spuneam că este
mai probabil ca dosarul să fie respins decât acceptat.
Ce îmbunătățire a șanselor aduce o creștere cu 1
punct a scorului?

– Considerăm de exemplu scorurile 800 și 801. Vom calcula pentru fiecare


probabilitățile și șansele ca dosarul să fie acceptat:
p(800) = 0,9064162 și odds(800) = 9,685607.
p(801) = 0.9079648 și odds(801) = 9.865413.
– Pentru a vedea ce îmbunătățire a șanselor aduce o creștere cu 1 punct al
scorului vom calcula raportul șanselor. Vom avea: odds(801)/odds(800) =
1.018564
– Așadar, atunci când scorul crește cu 1 punct, șansele de a obține creditul cresc
cu un factor de 1,018564 la 1 sau 1,8564%.
Dar o creștere cu 90 de puncte?

– Considerăm de exemplu scorurile 660 și 750. Vom calcula pentru


probabilitățilefiecare
și șansele ca dosarul să fie acceptat:
p(660) = 0.4244531 și odds(660) = 0.737478
p(750) = 0.7942834 și odds(750) = 3.861057
– Pentru a vedea ce îmbunătățire a șanselor aduce o creștere cu 90 puncte al scorului
vom calcula raportul șanselor. Vom avea: odds(750)/odds(660) = 5.235488
– Atunci când scorul crește cu 90 de puncte, șansele de a obține creditul cresc cu un
factor de 5,235488.
– Observație: pentru orice creștere cu 90 de puncte a scorului unui dosar, șansele de a
obține creditul cresc cu un factor de 5,235488.
Care este scorul la care banca este indiferentă dacă
acordă creditul sau nu?

– În acest caz punem condiția ca p = 1 – p = 0,5.


– Deci ln(p/(1-p)) = ln(1) = 0 și b0 + b1*x = 0, deci x = -b0/b1.
– În acest caz scorul va fi 12,444559/ 0,018394 = 676,5553 ~ 677.
– Așadar în cazul unui dosar ce are scorul egal cu 677 puncta, băncii îi este
indiferent dacă acordă sau nu creditul.
Ce scor trebuie să atingeți pentru a avea 75%
șanse de a obține creditul?

– În acest caz vom avea p = 0,75 și deci 1 – p = 0,25.


– Deci odds = 3 și ln(3) = - 12,444559 + 0,018394*Scor.
– Deci scorul va fi (ln(3) + 12,444559)/ 0,018394 = 736,282 adică 737.
– Așadar un dosar cu scorul de 737 puncte va avea 75% șanse de a obține
creditul.
Modele de regresie logistică binomială multiplă
Aplicatie

Se consideră setul de date ”data1_curs9”.


Datele se refera la 4000 de răspunsuri care presupun alegeri inter-temporale: o
sumă de bani acum sau o sumă de bani peste un număr de zile.
– Modelul logistic încearcă să explice contribuția unor variabile în decizia de a
accepta o sumă de bani pe loc sau de a aștepta pentru o sumă mai mare, mai
târziu.
– Variabila dependentă: decizia = 0 preferă banii pe loc; 1 amână recompensa
– Variabilele independente: suma oferită pe loc, suma oferită mai târziu, timpul
de așteptare, nivelul de venit în care se încadrează persoana, nivelul sumelor
oferite, genul.
Aplicatie

– Modelul de bază:
0 1
0.63925 0.36075
– Din acest model determinăm că evenimentul cu cea mai mare probabilitate este
cel de a accepta suma pe loc. Totuși, acest model greșește în aproape 36% din
cazuri, atunci când oamenii au preferat să amâne recompensa. Așadar
acuratețea modelului este de numai 64%.
– Modelul de bază pune în evidență doar rezultatul sau ceea ce observăm ca și
comportament final dar nu ne ajută să înțelegem care sunt factorii care
influențează o decizie sau alta.
Aplicatie

Modelul logistic de regresie bazat pe variabilele independente pe care le-am


menționat mai devreme ne ajută să înțelegem ce stă la baza acceptării sau
amânării recompensei.
Pentru a construi modelul de regresie logistic, setul iniția de date va fi împărțit în 2
părți, astfel:
– Train (80% din totalul valorilor) – sub-set care ne ajută să construim modelul de
regresie
– Test (20% din totalul valorilor) – sub-set care ne ajută să verificăm modelul de
regresie
Aplicatie

– Modelul de regresie logistică binomială multiplă (output):


Call:
glm(formula = Decizie ~ Imediata + Amanata + Timp + Gen + Venit +
Nivel.suma, family = "binomial", data = train)

Deviance Residuals:
Min 1Q Median 3Q Max
-2.3930 -0.7040 -0.3194 0.6712 2.8014
Aplicatie

– Coefficients: – (Dispersion parameter for binomial family taken to be 1)


– Estimate Std. Error z value Pr(>|z|)
– (Intercept) -3.838269 0.901504 -4.258 2.07e-05 *** – Null deviance: 4184.2 on 3199 degrees of freedom
– Imediata -0.020067 0.002090 -9.600 < 2e-16 *** – Residual deviance: 2860.3 on 3187 degrees of freedom
– Amanata 0.026974 0.003127 8.626 < 2e-16 *** – AIC: 2886.3
– Timp -0.013566 0.001823 -7.443 9.88e-14 ***
– Gen1 -0.041264 0.117788 -0.350 0.726094 – Number of Fisher Scoring
iterations: 5
– Venit1 -0.149642 0.115860 -1.292 0.196504
– Venit2 0.188146 0.143215 1.314 0.188938
– Venit3 -0.098017 0.203970 -0.481 0.630838
– Venit4 0.028620 0.265309 0.108 0.914096
– Venit5 1.531962 0.402188 3.809 0.000139 ***
– Venit6 0.244086 0.207073 1.179 0.238500
– Nivel.sumaMediu 1.214980 0.304269 3.993 6.52e-05 ***
– Nivel.sumaMic 2.472509 0.574463 4.304 1.68e-05 ***
– Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Aplicatie

Concluzii ale modelului:


– Suma pe care o primește imediat o persoană este în relație inversă cu disponibilitatea
persoanei de a aștepta pentru recompensa amânată;
– Cu cât crește suma pe care o primește mai târziu, cu atât crește și disponibilitatea persoanei să
aștepte;
– Durata așteptării are un impact negativ asupra disponibilității de amânare a recompensei;
– Deși apar diferențe în disponibilitatea de a aștepta la fete, respectiv la băieți, variabila gen nu
este statistic semnificativă deci nu ne putem baza pe faptul că în realitate coeficientul ei este
nenul, deci că are într-adevăr vreo influență;
– Din toate categoriile de venit doar categoria 5 este puternic semnificativă (nu știm de ce); este
posibil să fie o falsă semnificație;
– Nivelul recompensei este puternic semnificativ.
Aplicatie

– Folosind sub-setul de date ”Test” efectuăm estimări ale probabilității de a


amâna recompensa sau nu. Vom construi apoi ”Confusion matrix”, un tabel/ o
matrice ce conține valorile observate și cele estimate. Vom avea o matrice de
forma:
Valori estimate

0 1

Valori observate 0 Adevărat, negativ Fals, pozitiv

1 Fals, negativ Adevărat, pozitiv


Aplicatie

– Pentru problema noastră obținem următoarea ”confusion


matrix”: FALSE TRUE
0 423 88
1 93 196

– Interpretarea valorilor din ”confusion matrix”:


• 423 persoane sunt de tipul 0 (imediat), modelul spune că este fals că
ar amâna
• 93 persoane sunt de tipul 1 (amână), modelul spune că este fals că ar
amâna
• 88 persoane sunt de tipul 0 (imediat), modelul spune că este adevărat
că ar amâna
• 196 persoane sunt de tipul 1 (amână), modelul spune că este
adevărat că ar amâna
– Deci,
Aplicatie

– True positive: Am prezis pozitiv si


este adevarat
– True negative: Am prezis negativ
si
este adevarat
– False Positive (Eroarea de tip 1):
Am prezis pozitiv si este fals
– False Negative (Eroarea de tip 2):
Am prezis negativ si este fals
Aplicatie 
Aplicatie

–Acuratețea modelului
0.77375

– Acuratețea modelului este de 77,375%, mai bună decât a modelului de bază


care a fost de numai 64%.
Aplicatie

– În cazul modelelor binomiale, putem calcula următoarele lucruri pe baza


elementelor ”confusion matrix”:
 Acuratețea modelului: Corectitudinea clasifcării per-ansamblu
 (TP+TN)/total = (196 + 423)/800 = 0.77375
 Rata erorilor modelului: Eroarea clasificării per-ansamblu
 (FP+FN)/total = (88 + 93)/800 = 0.22625
 Echivalent = 1 – Acuratețe
 True Positive Rate: Când observăm că amână, în câte cazuri estimăm că așa
este
 TP/cazurile când amână observate = 196/289 = 0.6782
 Cunoscută și ca "Sensibilitate"
Aplicatie

 False Positive Rate: când observăm că acceptă suma pe loc, cât de des estimăm că amână
 FP/actual no = 88/511 = 0.172211
 True Negative Rate: când observăm că acceptă suma pe loc, în câte cazuri estimăm că așa este
 TN/actual no = 423/511 = 0.8278
 Echivalent = 1 – False Positive Rate
 Cunoscută ca "Specificitate"
 Precizia: Când estimăm că amână, în câte cazuri este și corect?
 TP/”amână”, valori estimate = 196/284 = 0.69014
 Relevanța: Cât de des apare în eșantion răspunsul că amână recompensa?
 ”amână”, valori observate/total = 289/800 = 0.36125
Aplicatie

– Ca un ultim pas al analizei, vom construi curba ROC și vom calcula AUC (area
under the curve) elemente ce reprezintă măsuri ale performanței modelului
binomial.
– Curba ROC va fi obținută prin reprezentarea ”true positive rate” în funcție de
”false positive rate” iar AUC reprezintă aria de sub curba ROC.
– Ca o regulă general, modelul cu o predictibilitate bună ar trebui să aibă AUC
mai
apropiat de 1 decât de 0,5.
Aplicatie

– Valoarea AUC – valoare apropiată de 1, modelul este bun!


0.8310728
Va multumesc!

S-ar putea să vă placă și