8. Binomna logistička regresija

Binomna logistička regresija predstavlja najčešće korišćenu statističku metodu za ocjenu rejting modela (PD modela, ali nekada je dio i LGD i EAD modela) u oblasti kreditnog rizika. Ona služi za modeliranje binomne ili dihotomne zavisne promjenljive (promjenljiva koja može uzeti samo dvije vrijednosti, npr. 0 i 1, ili dobar i loš i sl.). Funkcionalna forma modela binomne logističke regresije data je formulom:

Y=exp(βX)1+exp(βX)Y = \frac{exp(\beta X)}{1 + exp(\beta X)}

gdje YY predstavlja zavisnu promjenljivu (binarni indikator), β\beta koeficijente logističke regresije, dok XX predstavlja set nezavisnih promjenljivih.

Ocjena parametara logističke regresije vrši se maksimiziranjem tzv. funkcije vjerodostojnosti (engleski maximum likelihood), koja ima sljedeći oblik:

L(β;y,X)=i=1n(exp(βXi)1+exp(βXi))yi(11+exp(βXi))1yiL(\beta ; y, X) = \prod_{i=1}^{n}(\frac{exp(\beta X_i)}{1 + exp(\beta X_i)})^{y_i}(\frac{1}{1 + exp(\beta X_i)})^{1-y_i}

gdje nn predstavlja ukupan broj opservacija, XX set nezavisnih promjenljivih, yy modelirani binomni indikator i β\beta koeficijente logističke regresije.

Standardne greške ocijenjenih koeficijenata logističke regresije date su formulom:

se(β^)=(XWX)1se(\hat{\beta}) = (X^{'}WX)^{-1}

gdje WWpredstavlja tzv. varijansnu/kovarijansnu matricu koja je izračunata kao dijagonalna matrica varijanse ocijenjenih vrijednosti zavisne promjenljive ( Y^\hat{Y} ):

W=diagonal(Y^(1Y^))W = diagonal(\hat{Y}(1 - \hat{Y}))

Izvođenje zaključka o statističkoj značajnosti ocijenjenih koeficijenata vrši se na osnovu empirijskih zz vrijednosti i vjerovatnoća izvedenih iz zz vrijednosti. Izračunata statistika dobija se kao:

z=β^β0se(β^)z = \frac{\hat{\beta} - \beta_0}{se(\hat{\beta})}

dok se odgovarajuća p vrijednost dobija na osnovu funkcije kumulative vjerovatnoće standardizovanog normalnog rasporeda (aritmetička sredina 0 i standardna devijacija 1). Poređenjem dobijenih p vrijednosti i određenog nivoa značajnosti izvodi se zaključak o statističkoj značajnosti ocijenjenih koeficijenata.

Primjer 60: U fajlu BLR.csv dati su podaci o 1000 klijenata sa indikatorom defaulta kredita (kolona y), kao i podaci o godinama starosti klijenata (kolona age) i ročnosti odobrenog kredita (kolona maturity). Ocijeniti model logističke regresije u kome indikator defaulta predstavlja zavisnu promjenljivu, dok godine klijenata i ročnost predstavljaju nezavisne promjenljive. Pored regresionih koeficijenata, prikazati i standardne greške tih ocjena, kao i z statistiku i odgovarajuće p vrijednosti za procjenu statističke značajnosti koeficijenata.

> #import podataka
> db <- read.csv("BLR.csv", header = TRUE)
> table(db$y)

  0   1 
700 300 
> #definisanje zavisne i nezavisnih promjenljivih
> Y <- as.matrix(db[, "y"])
> X <- as.matrix(cbind(1, db[, c("maturity", "age")]))
> #definisanje funkcije vjerodostojnosti
> log.likelihood <- function(beta.coef, X, Y) {
+ opt.f <- -sum(Y * (X %*% beta.coef - log(1 + exp(X %*% beta.coef))) + 
+  (1 - Y) * (-log(1 + exp(X %*% beta.coef)))) 
+ return(opt.f)
+ }
> #optimizacija funkcije vjerodostojnosti
> beta.coef.start <- rep(0, 3)
> optim.logit <- optim(beta.coef.start, log.likelihood, X = X, Y = Y, method = "BFGS")
> #prikaz ocijenjenih koeficijenata 
> coef.e <- optim.logit$par
> coef.e
[1] -1.02285874  0.03747265 -0.01835174
> #ocijenjene vrijednosti zavisne promjenljive
> Y.hat <- exp(X %*% as.matrix(coef.e)) / (1 + exp(X %*% as.matrix(coef.e)))
> W <- diag(c(Y.hat * (1 - Y.hat)))
> #standardna greska ocjene koeficijenata
> beta.coef.se <- sqrt(diag(solve(t(X) %*% W %*% X)))
> beta.coef.se
          1    maturity         age 
0.270817988 0.005734839 0.006658958 
> #z vrijednosti
> z.val <- coef.e / beta.coef.se
> z.val
        1  maturity       age 
-3.776923  6.534210 -2.755947 
> #p vrijednosti
> p.val <- pnorm(abs(z.val), mean = 0, sd = 1, lower.tail = FALSE) * 2
> p.val
           1     maturity          age 
1.587777e-04 6.394602e-11 5.852239e-03 
> #r funkcija
> lr.e <- glm(y ~ maturity + age, data = db, family = "binomial")
> lr.s <- summary(lr.e)
> lr.s

Call:
glm(formula = y ~ maturity + age, family = "binomial", data = db)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.5484  -0.8404  -0.7092   1.2423   2.0817  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.023860   0.270812  -3.781 0.000156 ***
maturity     0.037474   0.005735   6.535 6.38e-11 ***
age         -0.018323   0.006658  -2.752 0.005925 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1221.7  on 999  degrees of freedom
Residual deviance: 1169.2  on 997  degrees of freedom
AIC: 1175.2

Number of Fisher Scoring iterations: 4

> y.hat <- predict(lr.e, data = db[, c("age", "maturity")], type = "response")
> head(y.hat)
        1         2         3         4         5         6 
0.3242934 0.2064890 0.2698074 0.2160615 0.2191812 0.1781954 
> #interpretacija koeficijenata
> lr.s$coefficients
               Estimate  Std. Error   z value     Pr(>|z|)
(Intercept) -1.02385960 0.270812091 -3.780701 1.563873e-04
maturity     0.03747397 0.005734753  6.534540 6.380536e-11
age         -0.01832296 0.006658232 -2.751926 5.924598e-03
> exp(coef(lr.s)[-1, 1])
 maturity       age 
1.0381850 0.9818439 

Interpretacija ocijenjenih koeficijenata znatno se olakšava eksponovanjem dobijenih rezultata i u tom slučaju vrši se u terminima vjerovatnoće. Konkretno, u prethodnom primjeru vrijednosti default indikatora 1 znači da je kredit u defaultu, dok vrijednost 0 znači da kredit nije u defaultu. Eksponovani ocijenjeni koeficijent za promjenljivu ročnost (maturity) iznosi 1.038, što bi značilo da se povećanjem ročnosti od 1 mjeseca, povećavaju i šanse da će klijent biti defaultni za 3.8%. Ista interpretacija se može primijeniti i za promjenljivu godine (age), pri čemu povećanje godina starosti klijenta za 1 godinu vodi ka smanjenju vjerovatnoće defaulta za 1.8%. Pored interpretacije samih koeficijenata, njihovu statističku značajnost ispitujemo poređenjem dobijenih p vrijednosti sa odabranim nivoom značajnosti (alpha).

Odabir između više statistički značajnih modela logističke regresije u praksi često se vrši poređenjem vrijednosti informacionih kriterijuma (AIC), poređenjem devijansi, proporcijom ispravno klasifikovanih vrijednosti (matrica konfuzije-engleski confusion matrix, AUC kriva-engleski area under curve) s obzirom na to da logistička regresija predstavlja tzv. klasifikacioni algoritam.

Last updated

Was this helpful?