Imputasi hot-deck

Menangani Data Hilang dengan Imputasi di R

Michal Oleszak

Machine Learning Engineer

Sejarah hot-deck

  • Berawal dari 1950-an, saat data disimpan di kartu berlubang.
  • Menelusuri data maju-mundur sangat lambat.
  • Biro Sensus AS membuat metode yang hanya perlu satu kali lintas data.

Foto kartu berlubang lama untuk pemrograman komputer.

1 Image source: https://en.wikipedia.org/wiki/Punched_card#/media/File:Used_Punchcard_(5151286161).jpg
Menangani Data Hilang dengan Imputasi di R

Imputasi hot-deck

  • Untuk tiap variabel, ganti tiap nilai hilang dengan nilai terakhir yang teramati.
  • Hot-deck merujuk pada tumpukan kartu berlubang yang sedang diproses.

Kekurangan

  • Butuh data MCAR.
  • Hot-deck standar bisa merusak relasi antarvariabel.

Kelebihan

  • Cepat (hanya sekali lintas data).
  • Nilai imputasi tidak konstan.
  • Trik sederhana dapat menjaga relasi.
Menangani Data Hilang dengan Imputasi di R

Praktik imputasi hot-deck

nhanes_imp <- hotdeck(nhanes, variable = c("Height", "Weight"))
head(nhanes_imp)
  Age Gender Weight Height Diabetes TotChol Pulse PhysActive Height_imp Weight_imp
1  16   male   73.2  172.0    FALSE    3.00    76       TRUE      FALSE      FALSE
2  17   male   72.3  176.0    FALSE    2.61    74       TRUE      FALSE      FALSE
3  12   male   57.7  158.9    FALSE    4.27    80       TRUE      FALSE      FALSE
4  16   male   88.9  183.3    FALSE    3.62    58       TRUE      FALSE      FALSE
5  13 female   45.1  157.6    FALSE    2.66    92       TRUE      FALSE      FALSE
6  16 female   48.7  180.7    FALSE    4.32    58      FALSE       TRUE      FALSE
Menangani Data Hilang dengan Imputasi di R

Imputasi dalam domain

Tabel dengan dua kolom: PhysActive dan Weight. Ada satu nilai hilang di Weight. Karena urutan baris acak, baris dengan PhysActive=FALSE berada sebelum yang PhysActive=TRUE dan Weight hilang. Ini menunjukkan bagaimana hot-deck meneruskan nilai Weight dari orang tidak aktif ke orang aktif.

Tabel dengan dua kolom: PhysActive dan Weight. Ada satu nilai hilang di Weight. Karena data dikelompokkan menurut PhysActive, hot-deck meneruskan nilai dari orang aktif ke orang aktif lainnya.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight", 
    domain_var = "PhysActive"
)
Menangani Data Hilang dengan Imputasi di R

Mengurutkan berdasarkan variabel berkorelasi

Tabel dengan dua variabel: Height dan Weight. Ada satu nilai hilang di Weight. Karena urutan baris acak, baris dengan Height besar berada sebelum yang Height kecil dan Weight hilang. Ini menunjukkan bagaimana hot-deck meneruskan nilai Weight dari orang tinggi ke orang pendek.

Tabel dengan dua variabel: Height dan Weight. Ada satu nilai hilang di Weight. Karena baris diurutkan berdasarkan Height, hot-deck meneruskan nilai Weight dari orang pendek ke orang pendek lainnya.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight"
    ord_var = "Height"
)
Menangani Data Hilang dengan Imputasi di R

Ayo berlatih hot-deck imputation!

Menangani Data Hilang dengan Imputasi di R

Preparing Video For Download...