Imputasi mean

Menangani Data Hilang dengan Imputasi di R

Michal Oleszak

Machine Learning Engineer

Kosakata imputasi

Imputasi = menebak terinformasi untuk nilai hilang

  • Imputasi berbasis donor - nilai hilang diisi dari observasi lain yang lengkap.
  • Imputasi berbasis model - nilai hilang diprediksi dengan model statistik atau machine learning.

Bab ini fokus pada metode berbasis donor:

  • Imputasi mean
  • Imputasi hot-deck
  • Imputasi kNN
Menangani Data Hilang dengan Imputasi di R

Imputasi mean

Tabel dua kolom: data mentah dengan satu nilai hilang, dan data terimputasi dengan nilai hilang diisi mean.

Imputasi mean cocok untuk deret waktu yang berfluktuasi acak di sekitar rata-rata jangka panjang.

Untuk data penampang, imputasi mean sering buruk:

  • Merusak hubungan antarvariabel.
  • Nilai terimputasi tidak memiliki varians.
Menangani Data Hilang dengan Imputasi di R

Imputasi mean dalam praktik

Tugas: imputasi mean Height dan Weight pada data NHANES.

  • Buat indikator biner apakah nilai awalnya hilang.
nhanes <- nhanes %>% 
  mutate(Height_imp = ifelse(is.na(Height), TRUE, FALSE)) %>% 
  mutate(Weight_imp = ifelse(is.na(Weight), TRUE, FALSE))
  • Ganti nilai hilang di Height dan Weight dengan mean masing-masing.
nhanes_imp <- nhanes %>% 
  mutate(Height = ifelse(is.na(Height), mean(Height, na.rm = TRUE), Height)) %>% 
  mutate(Weight = ifelse(is.na(Weight), mean(Weight, na.rm = TRUE), Weight))
Menangani Data Hilang dengan Imputasi di R

Data NHANES setelah imputasi mean

nhanes_imp %>%
    select(Weight, Height, Height_imp, Weight_imp) %>%
    head()
     Weight   Height Height_imp Weight_imp
1  73.20000 166.2499       TRUE      FALSE
2  72.30000 166.2499       TRUE      FALSE
3  57.70000 158.9000      FALSE      FALSE
4  88.90000 183.3000      FALSE      FALSE
5  45.10000 157.6000      FALSE      FALSE
6  66.77065 158.4000      FALSE       TRUE
Menangani Data Hilang dengan Imputasi di R

Menilai kualitas imputasi: margin plot

nhanes_imp %>% select(Weight, Height, Height_imp, Weight_imp) %>% marginplot(delimiter="imp")

Plot margin: scatter "Height" vs "Weight"; nilai yang diimputasi pada salah satu variabel ditandai warna berbeda.

Menangani Data Hilang dengan Imputasi di R

Masalah dengan imputasi mean

Merusak hubungan antarvariabel:

  • Setelah imputasi mean pada Height dan Weight, korelasi positifnya melemah.
  • Model yang memprediksi satu dari yang lain akan tertipu oleh nilai imputasi ekstrem dan menghasilkan bias.

Tidak ada variasi pada data imputasi:

  • Dengan varians lebih kecil, semua standard error akan terestimasi terlalu rendah. Ini menghambat uji hipotesis dan perhitungan interval kepercayaan yang andal.
Menangani Data Hilang dengan Imputasi di R

Imputasi median dan modus

  • Alih-alih mean, kita bisa imputasi dengan median atau modus.
  • Imputasi median lebih baik saat ada outlier.
  • Untuk variabel kategorikal, mean/median tidak bisa dihitung, jadi gunakan modus.
  • Imputasi median dan modus memiliki kelemahan yang sama seperti mean.

Plot margin: scatter "Height" vs "Weight"; nilai yang diimputasi pada salah satu variabel ditandai warna berbeda.

Menangani Data Hilang dengan Imputasi di R

Ayo berlatih!

Menangani Data Hilang dengan Imputasi di R

Preparing Video For Download...