Hot-deck imputace

Práce s chybějícími daty pomocí imputace v R

Michal Oleszak

Machine Learning Engineer

Historie hot-deck

  • Pochází z 50. let 20. století, kdy byla data uložena na děrných štítcích.
  • Procházení dat tam a zpět bylo velmi pomalé.
  • Úřad pro sčítání lidu USA navrhl metodu vyžadující pouze jeden průchod daty.

Fotografie starého děrného štítku používaného k programování počítačů.

1 Image source: https://en.wikipedia.org/wiki/Punched_card#/media/File:Used_Punchcard_(5151286161).jpg
Práce s chybějícími daty pomocí imputace v R

Hot-deck imputace

  • Každá chybějící hodnota proměnné se nahradí poslední pozorovanou hodnotou.
  • Hot-deck odkazuje na balík děrných štítků, který je právě zpracováván.

Nevýhody

  • Vyžaduje, aby data byla MCAR.
  • Základní hot-deck může narušit vztahy mezi proměnnými.

Výhody

  • Rychlý (pouze jeden průchod daty).
  • Imputovaná data nejsou konstantní.
  • Jednoduchými triky lze zabránit narušení vztahů.
Práce s chybějícími daty pomocí imputace v R

Hot-deck imputace v praxi

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
Práce s chybějícími daty pomocí imputace v R

Imputace v rámci domén

Tabulka se dvěma sloupci: PhysActive a Váha. Chybí jedna hodnota Váhy. Protože řádky jsou v náhodném pořadí, řádek s PhysActive=FALSE předchází řádku s PhysActive=TRUE a chybějící Váhou. Toto ukazuje, jak hot-deck přenese hodnotu váhy neaktivní osoby na aktivní osobu.

Tabulka se dvěma sloupci: PhysActive a Váha. Chybí jedna hodnota Váhy. Protože data jsou seskupena podle PhysActive, hot-deck přenese hodnotu aktivní osoby na jinou aktivní osobu.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight", 
    domain_var = "PhysActive"
)
Práce s chybějícími daty pomocí imputace v R

Řazení podle korelovaných proměnných

Tabulka se dvěma proměnnými: Výška a Váha. Chybí jedna hodnota Váhy. Protože řádky jsou v náhodném pořadí, řádek s velkou výškou předchází řádku s malou výškou a chybějící váhou. Toto ukazuje, jak hot-deck přenese hodnotu váhy vysoké osoby na nízkou osobu.

Tabulka se dvěma proměnnými: Výška a Váha. Chybí jedna hodnota Váhy. Protože řádky jsou seřazeny podle Výšky, hot-deck přenese hodnotu váhy nízké osoby na jinou nízkou osobu.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight"
    ord_var = "Height"
)
Práce s chybějícími daty pomocí imputace v R

Procvičte hot-deck imputaci!

Práce s chybějícími daty pomocí imputace v R

Preparing Video For Download...