Detecting convergence
¡Buen trabajo iterando sobre las variables en el ejercicio anterior! Pero, ¿cuántas iteraciones hacen falta? Cuando los valores imputados dejan de cambiar con la nueva iteración, podemos parar.
Ahora ampliarás tu código para calcular las diferencias entre las variables imputadas en iteraciones consecutivas. Para ello, usarás la función Mean Absolute Percentage Change, definida para ti así:
mapc <- function(a, b) {
mean(abs(b - a) / a, na.rm = TRUE)
}
mapc() devuelve un único número que te dice cuánto difiere b de a. Lo usarás para comprobar cuánto cambian las variables imputadas entre iteraciones. ¡Con esto decidirás cuántas iteraciones necesitas!
Tienes disponibles las máscaras booleanas missing_air_temp y missing_humidity, así como el tao_imp inicializado con hotdeck.
Este ejercicio forma parte del curso
Tratamiento de datos faltantes con imputaciones en R
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
diff_air_temp <- ___
diff_humidity <- ___
for (i in 1:5) {
# Assign the outcome of the previous iteration (or initialization) to prev_iter
prev_iter <- ___
# Impute air_temp and humidity at originally missing locations
tao_imp$air_temp[missing_air_temp] <- NA
tao_imp <- impute_lm(tao_imp, air_temp ~ year + latitude + sea_surface_temp + humidity)
tao_imp$humidity[missing_humidity] <- NA
tao_imp <- impute_lm(tao_imp, humidity ~ year + latitude + sea_surface_temp + air_temp)
}