Imputazione hot-deck

Gestione dei dati mancanti con imputazioni in R

Michal Oleszak

Machine Learning Engineer

Storia dell'hot-deck

  • Risale agli anni '50, quando i dati stavano su schede perforate.
  • Scorrere i dati avanti e indietro era molto lento.
  • Lo U.S. Census Bureau ideò un metodo che richiede un solo passaggio sui dati.

Una foto di una vecchia scheda perforata usata per programmare i computer.

1 Fonte immagine: https://en.wikipedia.org/wiki/Punched_card#/media/File:Used_Punchcard_(5151286161).jpg
Gestione dei dati mancanti con imputazioni in R

Imputazione hot-deck

  • Per ogni variabile, sostituisci ogni mancante con l'ultimo valore osservato.
  • Hot-deck si riferisce al mazzo di schede in elaborazione.

Contro

  • Richiede dati MCAR.
  • L'hot-deck base può distruggere le relazioni tra variabili.

Pro

  • Veloce (un solo passaggio sui dati).
  • I dati imputati non sono costanti.
  • Semplici accorgimenti evitano di rompere le relazioni.
Gestione dei dati mancanti con imputazioni in R

Hot-deck in pratica

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
Gestione dei dati mancanti con imputazioni in R

Imputare entro domini

Una tabella con due colonne: PhysActive e Weight. C'è un valore mancante in Weight. Poiché le righe sono in ordine casuale, una riga con PhysActive=FALSE precede quella con PhysActive=TRUE e Weight mancante. Questo mostra come l'hot-deck propaghi in avanti il peso da una persona non attiva a una attiva.

Una tabella con due colonne: PhysActive e Weight. C'è un valore mancante in Weight. Poiché i dati sono raggruppati per PhysActive, l'hot-deck propaga in avanti il valore da una persona attiva a un'altra attiva.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight", 
    domain_var = "PhysActive"
)
Gestione dei dati mancanti con imputazioni in R

Ordinare per variabili correlate

Una tabella con due variabili: Height e Weight. C'è un valore mancante in Weight. Poiché le righe sono in ordine casuale, una riga con Height alta precede quella con Height bassa e Weight mancante. Questo mostra come l'hot-deck propaghi in avanti il peso da una persona alta a una bassa.

Una tabella con due variabili: Height e Weight. C'è un valore mancante in Weight. Poiché le righe sono ordinate per Height, l'hot-deck propaga in avanti il peso da una persona bassa a un'altra bassa.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight"
    ord_var = "Height"
)
Gestione dei dati mancanti con imputazioni in R

Facciamo pratica con l'hot-deck!

Gestione dei dati mancanti con imputazioni in R

Preparing Video For Download...