Usa un modelo de regresión logística para predecir la probabilidad de caer en impago (default) al controlar por ingresos (income) y el saldo (balance) en el conjunto de datos Default. En particular, calcula las estimaciones para los errores estándar de los coeficientes de regresión logística de ingresos y saldo de dos maneras diferentes: 1. Usando el bootstrap. 2. Usando la fórmula estándar para calcular los errores estándar en la función glm().
No olvide establecer una semilla aleatoria antes de comenzar su análisis. Utilice una semilla de 1.
El modelo a estimar es:
\[ default = income + balance \]
Carga la base de datos:
library(ISLR)
library(boot)
Default <- Default
Muestra los primeros registros de la base de datos para ver que información contiene:
head(Default)
modelo_glm <- glm(default ~ income + balance, data = Default, family = binomial)
summary(modelo_glm)
##
## Call:
## glm(formula = default ~ income + balance, family = binomial,
## data = Default)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.154e+01 4.348e-01 -26.545 < 2e-16 ***
## income 2.081e-05 4.985e-06 4.174 2.99e-05 ***
## balance 5.647e-03 2.274e-04 24.836 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 2920.6 on 9999 degrees of freedom
## Residual deviance: 1579.0 on 9997 degrees of freedom
## AIC: 1585
##
## Number of Fisher Scoring iterations: 8
miFuncionBootLogistica <- function(data, indices) {
d <- data[indices, ]
fit <- glm(default ~ income + balance, data = d, family = binomial)
return(coef(fit))
}
miFuncionBootLogistica
## function(data, indices) {
## d <- data[indices, ]
## fit <- glm(default ~ income + balance, data = d, family = binomial)
## return(coef(fit))
## }
resultado_boot <- boot(data = Default, statistic = miFuncionBootLogistica, R = 100)
print(resultado_boot)
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = Default, statistic = miFuncionBootLogistica, R = 100)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* -1.154047e+01 -4.447938e-02 4.434211e-01
## t2* 2.080898e-05 1.200064e-07 4.499609e-06
## t3* 5.647103e-03 2.804635e-05 2.440033e-04
En este caso, el bootstrap es util para calcular variaciones en coeficientes y como distribuirlos, por otro lado, cuando usamos glm, nos da una idea de la varianza de coeficientes incluyendo sus errores.En este ejercicio, entre más alto sea ek error que nos indique la función de bootstrap, significa que los datos son muy variables,podemos ver que en este ejercicio los valores que nos da el bootstrap son mayores a los otros, por ende los datos varian y hay un error variable mas grande.