IniziaInizia gratis

Rilevare la convergenza

Ottimo lavoro nell'iterare sulle variabili nell'esercizio precedente! Ma quante iterazioni servono? Quando i valori imputati non cambiano con la nuova iterazione, possiamo fermarci.

Ora estenderai il tuo codice per calcolare le differenze tra le variabili imputate nelle iterazioni successive. Per farlo userai la funzione Mean Absolute Percentage Change, definita per te così:

mapc <- function(a, b) {
  mean(abs(b - a) / a, na.rm = TRUE)
}

mapc() restituisce un unico numero che indica di quanto b differisce da a. Lo userai per verificare quanto cambiano le variabili imputate tra un'iterazione e l'altra. In base a questo, deciderai quante iterazioni sono necessarie!

Sono disponibili per te le maschere booleane missing_air_temp e missing_humidity, così come l'insieme di dati tao_imp inizializzato con hot deck.

Questo esercizio fa parte del corso

Gestione dei dati mancanti con imputazioni in R

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)

  
  
}
Modifica ed esegui il codice