MulaiMulai sekarang secara gratis

Mendeteksi konvergensi

Kerja bagus mengiterasi variabel pada latihan sebelumnya! Namun, berapa banyak iterasi yang diperlukan? Ketika nilai imputasi tidak berubah pada iterasi baru, kita dapat berhenti.

Sekarang Anda akan memperluas kode Anda untuk menghitung perbedaan antara variabel yang diimputasi pada iterasi-iterasi berikutnya. Untuk itu, Anda akan menggunakan fungsi Mean Absolute Percentage Change yang sudah didefinisikan untuk Anda sebagai berikut:

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

mapc() menghasilkan satu angka yang memberi tahu Anda seberapa besar b berbeda dari a. Anda akan menggunakannya untuk memeriksa seberapa besar perubahan variabel hasil imputasi antariterasi. Berdasarkan hal ini, Anda akan memutuskan berapa banyak iterasi yang dibutuhkan!

Mask boolean missing_air_temp dan missing_humidity tersedia untuk Anda, begitu juga tao_imp yang sudah diinisialisasi dengan hotdeck.

Latihan ini adalah bagian dari kursus

Menangani Data Hilang dengan Imputasi di R

Lihat Kursus

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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)

  
  
}
Edit dan Jalankan Kode