5. Resuelve lo siguiente

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) 
  1. Utilizando las funciones summary() y glm(), determine los errores estándar estimados para los coeficientes asociados con el ingreso y el saldo en un modelo de regresión logística múltiple que utiliza ambos predictores.
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
  1. Escriba una función, miFuncionBootLogistica(), que tome como entrada el conjunto de datos predeterminados, así como un índice de las observaciones, y que genere las estimaciones de coeficientes para el ingreso y el equilibrio en el modelo de regresión logística múltiple.
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))
## }
  1. Use la función boot() junto con la función miFuncionBootLogistica() para estimar los errores estándar de los coeficientes de regresión logística para el ingreso y el equilibrio para 100 estimaciones bootstrap.(No olvide cargar la libería boot)
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
  1. Comente sobre los resultados obtenidos al estimar los errores estándar usando la función glm() y la función bootstrap.

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.