Estoy leyendo un libro de Tiziano Bellini titulado IFRS 9 y CECL Credit Risk Modelling y Validation, para entender el cálculo de la probabilidad de incumplimiento (enlace: https://www.sciencedirect.com/science/article/pii/B9780128149409000104?via%3Dihub)
El autor ha proporcionado algo de código R para ilustrar el cálculo de PD. La Página-51, dice lo siguiente -
# 1. Definición de bandera de incumplimiento y preparación de datos
# 1.1. Importar datos
oneypd<- read.csv(’chap2oneypd.csv’) [,2:45]
library(dplyr)
# 1.1.1. Panorama general de datos: contenido y formato de los datos
dplyr::glimpse(oneypd)
# $ id 6670001, 9131199...
# $ vintage_year 2005, 2006...
# $ monthly_installment 746.70, 887.40...
# $ loan_balance 131304.44, 115486.51...
# $ bureau_score 541, 441...
# ...
# 1.1.2. Formato de fecha
library(vars)
oneypd <- dplyr::mutate_at(oneypd, vars(contains(’date’)),
funs(as.Date))
class(oneypd$origination_date)
# 1.1.3. Redondeo de campos de cuenta de atrasos
oneypd$max_arrears_12m<- round(oneypd$max_arrears_12m,4)
oneypd$arrears_months<- round(oneypd$arrears_months,4)
# 1.2. Definición de bandera de incumplimiento
oneypd<- dplyr::mutate(oneypd,
default_event = if_else(oneypd$arrears_event == 1 |
oneypd$term_expiry_event == 1 |
oneypd$bankrupt_event == 1, 1,0))
# 1.3. División de la base de datos en muestras de entrenamiento y prueba
# Recodificar variables de eventos de incumplimiento para un uso más conveniente
# 0-incumplimiento, 1-no incumplimiento
oneypd$default_flag<-
dplyr::if_else(oneypd$default_event == 1,0,1)
# Realizar un muestreo estratificado: 70% de entrenamiento y 30% de prueba
library(caret)
set.seed(2122)
train.index <- caret::createDataPartition(oneypd$default_event,
p = .7, list = FALSE)
train <- oneypd[ train.index,]
test <- oneypd[-train.index,]
Luego, él creó la siguiente tabla -
Sin embargo, no pude replicar la generación de las variables que empiezan con woe_
es decir woe_cc_util
etc.
¿Puedes ayudarme a crear los códigos correspondientes en R
para construir esas variables? Los datos están disponibles en el enlace - https://www.tizianobellini.com/copy-of-chapter-2-4
Realmente aprecio cualquier indicación.