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
Oefeninstructies
- Slice
dataom de rijen te hersampelen die worden aangegeven doorindicesen ken het resultaat toe aandata_boot. - Imputeer de bootstrap-steekproef
data_bootmet kNN-imputatie met 5 buren en ken het resultaat toe aandata_imp. - Fit een lineair regressiemodel op
data_impdatearningsverklaart metsub_sex,sub_typeenyear.
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)
}