WoE transformacije u regresionim modelima

Zadatak: Importovati woe_iv.csv fajl dat u prilogu, a zatim importovanom data frameu db dodati novu variablu maturity.g , definisanu na način da se vrijednosti varijable maturity grupišu u 3 grupe u odnosu na zadate granice 4, 11, 14 i 72. Dalje:

  1. ocijeniti model logističke regresije (zavisna varijabla bo, nezavisna maturity.g) koristeći metod: a) WoE transformacije nezavisne varijable (tzv. woe coding); b) transformacije nezavisne varijable u binarne varijable (tzv. dummy coding);

  2. ocijeniti model linearne regresije (zavisna varijabla co, nezavisna maturity.g) koristeći metod: a) WoE transformacije nezavisne varijable (tzv. woe coding); b) transformacije nezavisne varijable u binarne varijable (tzv. dummy coding).

174KB
Open
woe_iv.csv
> #naredne komande izvrsiti ukoliko paketi vec nisu instalirani
> #install.packages("Hmisc")
> #install.packages("dtplyr")
> #install.packages("dplyr")
> library(Hmisc)
> library(dtplyr)
> library(dplyr)
> 
> #importovati woe_iv.csv fajl
> db <- read.csv("woe_iv.csv", header = TRUE)
> str(db)
'data.frame':   10000 obs. of  3 variables:
 $ bo      : int  0 0 0 0 0 0 0 0 0 0 ...
 $ co      : num  0.1361 0.0941 0.0847 0.0122 0.0122 ...
 $ maturity: int  18 9 12 12 12 10 8 6 18 24 ...
> #bo - dobar (0) / los (1) indikator
> table(db$bo)

   0    1 
9500  500 
> #kreirati grupe rocnosti kredita
> db$maturity.g <- cut2(db$maturity, cuts = c(4, 11, 14))
> #kreirati data.table objekat 
> dt <- lazy_dt(db)
> dt
Source: local data table [10,000 x 4]
Call:   `_DT1`

     bo     co maturity maturity.g
  <int>  <dbl>    <int> <fct>     
1     0 0.136        18 [14,72]   
2     0 0.0941        9 [ 4,11)   
3     0 0.0847       12 [11,14)   
4     0 0.0122       12 [11,14)   
5     0 0.0122       12 [11,14)   
6     0 0.0122       10 [ 4,11)   
# ... with 9,994 more rows

# Use as.data.table()/as.data.frame()/as_tibble() to access results

Last updated

Was this helpful?