Začněte nyníZačněte zdarma

Výběr z podmíněného rozdělení

Pouhé volání predict() na modelu vždy vrátí stejnou hodnotu pro stejné hodnoty prediktorů. To vede k nízké variabilitě imputovaných dat. Aby imputace lépe odrážela variabilitu původních dat, můžeme hodnoty odebírat z podmíněného rozdělení. Namísto toho, abychom vždy předpovídali 1, kdykoli model vrátí pravděpodobnost větší než 0,5, můžeme předpověď odebrat z binomického rozdělení popsaného pravděpodobností vrácenou modelem.

Budeš pracovat s kódem z předchozího cvičení. Byl z něj odstraněn následující řádek:

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

Tvým úkolem je nahradit ho výběrem z binomického rozdělení. Stačí jediný řádek kódu!

Toto cvičení je součástí kurzu

Práce s chybějícími daty pomocí imputace v R

Zobrazit kurz

Pokyny k cvičení

  • Přepiš preds výběrem vzorků z binomického rozdělení.
  • Předej délku preds jako první argument.
  • Nastav size na 1.
  • Nastav prob na pravděpodobnosti vrácené modelem.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

 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)
}
Upravit a spustit kód