ComenzarEmpieza gratis

Extraer de la distribución condicional

Si llamas a predict() sobre un modelo, siempre obtendrás el mismo valor para los mismos predictores. Esto produce poca variabilidad en los datos imputados. Para aumentarla, de modo que la imputación replique la variabilidad de los datos originales, podemos extraer de la distribución condicional. Esto significa que, en lugar de predecir siempre 1 cuando el modelo devuelve una probabilidad mayor que 0.5, podemos obtener la predicción de una distribución binomial descrita por la probabilidad que devuelve el modelo.

Vas a trabajar sobre el código que escribiste en el ejercicio anterior. Se eliminó la siguiente línea:

  preds <- ifelse(preds >= 0.5, 1, 0)

Tu tarea es reemplazarla extrayendo de una distribución binomial. ¡Es solo una línea de código!

Este ejercicio forma parte del curso

Tratamiento de datos faltantes con imputaciones en R

Ver curso

Instrucciones del ejercicio

  • Sobrescribe preds muestreando de una distribución binomial.
  • Pasa la longitud de preds como primer argumento.
  • Establece size en 1.
  • Define prob como las probabilidades devueltas por el modelo.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

 impute_logreg <- function(df, formula) {
  # Extract name of response variable
  imp_var <- as.character(formula[2])
  # Save locations where the response is missing
  missing_imp_var <- is.na(df[imp_var])
  # Fit logistic regression mode
  logreg_model <- glm(formula, data = df, family = binomial)
  # Predict the response
  preds <- predict(logreg_model, type = "response")
  # Sample the predictions from binomial distribution
  preds <- ___(___, size = ___, prob = ___)
  # Impute missing values with predictions
  df[missing_imp_var, imp_var] <- preds[missing_imp_var]
  return(df)
}
Editar y ejecutar código