Aan de slagGa gratis aan de slag

Imputatie en modelleren verpakken in een functie

Wanneer je analyses of modellen uitvoert op geïmputeerde data, moet je rekening houden met de onzekerheid die door de imputatie ontstaat. Een model draaien op een gegevensset die maar één keer is geïmputeerd, negeert het feit dat imputatie ontbrekende waarden met onzekerheid schat. De standaardfouten uit zo’n model zijn vaak te klein. De oplossing is multiple imputation, en een manier om dat te implementeren is via bootstrapping.

In de komende oefeningen werk je met de vertrouwde biopics-data. Het doel is om via multiple imputation met bootstrapping en lineaire regressie te onderzoeken of biografische films met vrouwelijke hoofdpersonen minder verdienen dan die over mannen, gegeven de beschikbare data.

Laten we beginnen met het schrijven van een functie die een bootstrap-steekproef maakt, die imputeert en een lineair regressiemodel fit.

Deze oefening maakt deel uit van de cursus

Omgaan met missende data met imputaties in R

Cursus bekijken

Oefeninstructies

  • Slice data om de rijen te hersampelen die worden aangegeven door indices en ken het resultaat toe aan data_boot.
  • Imputeer de bootstrap-steekproef data_boot met kNN-imputatie met 5 buren en ken het resultaat toe aan data_imp.
  • Fit een lineair regressiemodel op data_imp dat earnings verklaart met sub_sex, sub_type en year.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

calc_gender_coef <- function(data, indices) {
  # Get bootstrap sample
  data_boot <- data[___, ]
  # Impute with kNN imputation
  data_imp <- ___
  # Fit linear regression
  linear_model <- ___
  # Extract and return gender coefficient
  gender_coefficient <- coef(linear_model)[2]
  return(gender_coefficient)
}
Code bewerken en uitvoeren