El objetivo de esta tarea identificar qué variables se pueden modelar usando regresión logística y de Poisson. La base de datos que se usará es Créditos.
library("readxl")
creditos <- read_excel(file.choose(), sheet = 1)
Escogemos como variable dependiente DEFAULT ya que clasifica a un usuario del banco como buen cliente o no (en términos de cumplimiento de pago en sus créditos). Para elegir las covariables ajustamos el modelo en primer lugar usando el resto de variables de la base de datos y encontramos que la única significativa es DIAS_MORA. Posteriormente, ajustamos un modelo de regresión logistica usando sólo esta variable como independiente.
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
##
## Call:
## glm(formula = DEFAULT ~ ., family = "binomial", data = creditos)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.4146 -0.2987 -0.2588 -0.1967 3.0141
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.973e+00 1.208e+00 -2.460 0.0139 *
## DIAS_MORA 8.313e-02 1.621e-02 5.127 2.95e-07 ***
## ANTIUEDAD -3.252e-02 2.667e-02 -1.219 0.2228
## EDAD 5.979e-03 2.232e-02 0.268 0.7888
## CUOTA_TOTAL 8.177e-07 6.323e-07 1.293 0.1959
## INGRESOS -1.394e-07 1.598e-07 -0.872 0.3832
## CARTERA_TOTAL -2.991e-09 8.096e-09 -0.369 0.7118
## COMPROMISO -7.326e-03 3.215e-02 -0.228 0.8198
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 309.68 on 779 degrees of freedom
## Residual deviance: 238.70 on 772 degrees of freedom
## AIC: 254.7
##
## Number of Fisher Scoring iterations: 7
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
##
## Call:
## glm(formula = DEFAULT ~ DIAS_MORA, family = "binomial", data = creditos)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.9160 -0.2616 -0.2616 -0.2616 2.6047
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -3.35794 0.20042 -16.754 < 2e-16 ***
## DIAS_MORA 0.09022 0.01532 5.888 3.91e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 309.68 on 779 degrees of freedom
## Residual deviance: 245.35 on 778 degrees of freedom
## AIC: 249.35
##
## Number of Fisher Scoring iterations: 7
Para identificar la variable que sigue una distribución Poisson se determina en primer lugar cuáles son las variables discretas y por tal razón postulamos como posible variable DIAS_MORA e INGRESOS.
Vamos a comparar el histograma de la variable DIAS_MORA con el histograma de una distribución Poisson cuya media sea la media de DIAS_MORA. Análogamente procedemos con la variable INGRESOS.
pi<-rpois(1000,mean(creditos$INGRESOS))
hist(pi, main = "Histograma Poisson", xlab = "")
hist(creditos$INGRESOS, main = "Histograma variable Ingresos", xlab="Ingresos")
pd<-rpois(1000,mean(creditos$DIAS_MORA))
hist(pd, main = "Histograma Poisson", xlab = "")
hist(creditos$DIAS_MORA, main = "Histograma variable Días de mora",xlab="Dias_mora")
De lo anterior, podemos concluimos que la variable útil para la regresión Poisson es Ingresos. Una vez identificamos la variable ajustamos el modelo de regresión
MOD1<-glm(INGRESOS~.,family="poisson",data=creditos)
summary(MOD1)
##
## Call:
## glm(formula = INGRESOS ~ ., family = "poisson", data = creditos)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -4650.5 -390.5 -9.0 321.2 4644.0
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.525e+01 9.609e-05 158686 <2e-16 ***
## DEFAULT -1.449e-02 8.093e-05 -179 <2e-16 ***
## DIAS_MORA 9.976e-04 6.093e-07 1637 <2e-16 ***
## ANTIUEDAD 9.014e-03 2.060e-06 4377 <2e-16 ***
## EDAD 2.899e-03 1.985e-06 1461 <2e-16 ***
## CUOTA_TOTAL 4.382e-07 3.287e-11 13332 <2e-16 ***
## CARTERA_TOTAL 2.135e-09 6.531e-13 3269 <2e-16 ***
## COMPROMISO -3.481e-02 2.106e-06 -16524 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 941064377 on 779 degrees of freedom
## Residual deviance: 364679253 on 772 degrees of freedom
## AIC: 364692695
##
## Number of Fisher Scoring iterations: 5