Imputacja hot-deck

Obsługa brakujących danych z imputacją w R

Michal Oleszak

Machine Learning Engineer

Historia metody hot-deck

  • Metoda pochodzi z lat 50. XX wieku, gdy dane były przechowywane na kartach perforowanych.
  • Przeglądanie danych w przód i wstecz było bardzo powolne.
  • Urząd Statystyczny USA opracował metodę wymagającą tylko jednego przejścia przez dane.

Zdjęcie starej karty perforowanej używanej do programowania komputerów.

1 Image source: https://en.wikipedia.org/wiki/Punched_card#/media/File:Used_Punchcard_(5151286161).jpg
Obsługa brakujących danych z imputacją w R

Imputacja hot-deck

  • Dla każdej zmiennej każda brakująca wartość jest zastępowana ostatnią zaobserwowaną wartością.
  • Hot-deck odnosi się do talii kart perforowanych aktualnie przetwarzanych.

Wady

  • Wymaga danych MCAR.
  • Prosta metoda hot-deck może niszczyć relacje między zmiennymi.

Zalety

  • Szybka (tylko jedno przejście przez dane).
  • Imputowane wartości nie są stałe.
  • Proste techniki zapobiegają naruszaniu relacji.
Obsługa brakujących danych z imputacją w R

Imputacja hot-deck w praktyce

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
Obsługa brakujących danych z imputacją w R

Imputacja w domenach

Tabela z dwiema kolumnami: PhysActive i Waga. Brakuje jednej wartości w kolumnie Waga. Ponieważ wiersze są w losowej kolejności, wiersz z PhysActive=FALSE poprzedza wiersz z PhysActive=TRUE i brakującą Wagą. Pokazuje to, jak hot-deck przenosi wartość wagi osoby nieaktywnej do osoby aktywnej.

Tabela z dwiema kolumnami: PhysActive i Waga. Brakuje jednej wartości w kolumnie Waga. Ponieważ dane są pogrupowane według PhysActive, hot-deck przenosi wartość osoby aktywnej do innej osoby aktywnej.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight", 
    domain_var = "PhysActive"
)
Obsługa brakujących danych z imputacją w R

Sortowanie według skorelowanych zmiennych

Tabela z dwoma zmiennymi: Wzrost i Waga. Brakuje jednej wartości w kolumnie Waga. Ponieważ wiersze są w losowej kolejności, wiersz z dużym wzrostem poprzedza wiersz z małym wzrostem i brakującą wagą. Pokazuje to, jak hot-deck przenosi wartość wagi wysokiej osoby do niskiej osoby.

Tabela z dwoma zmiennymi: Wzrost i Waga. Brakuje jednej wartości w kolumnie Waga. Ponieważ wiersze są posortowane według wzrostu, hot-deck przenosi wartość wagi niskiej osoby do innej niskiej osoby.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight"
    ord_var = "Height"
)
Obsługa brakujących danych z imputacją w R

Czas na praktykę z imputacją hot-deck!

Obsługa brakujących danych z imputacją w R

Preparing Video For Download...