La mia domanda è rivolta alle tecniche per gestire dati incompleti durante la classificazione / l'addestramento / l'adattamento del modello.
Ad esempio, in un set di dati con poche centinaia di righe, ogni riga con cinque dimensioni e un'etichetta di classe come ultimo elemento, la maggior parte dei punti di dati sarà simile a questa:
[0.74, 0.39, 0.14, 0.33, 0.34, 0]
Alcuni potrebbero assomigliare a questo:
[0.21, 0.68,?, 0.82, 0.58, 1]
Quindi sono questi tipi di punti dati che sono al centro di questa domanda.
La mia ragione iniziale per porre questa domanda era un problema che avevo di fronte; tuttavia, prima di pubblicare la mia domanda, ho pensato che sarebbe stato più utile se l'avessi riformulato in modo che le risposte sarebbero state utili a una parte più ampia della Comunità.
Come semplice euristica, dividiamo queste tecniche di gestione dei dati in base a quando durante il flusso di elaborazione vengono utilizzate - prima dell'input nel classificatore o durante (ovvero, la tecnica è all'interno del classificatore).
Il miglior esempio a cui riesco a pensare per quest'ultimo è la tecnica intelligente di "ramificazione a tre vie" utilizzata negli alberi decisionali.
Senza dubbio, la prima categoria è molto più ampia. Le tecniche di cui sono a conoscenza rientrano in uno dei gruppi seguenti.
Durante la revisione recente delle mie note personali sulla "gestione dei dati mancanti" ho notato che avevo un elenco piuttosto impressionante di tecniche. Conservo semplicemente queste note per la massima tranquillità e nel caso in cui un collega junior mi chieda come gestire i dati mancanti. In pratica, in realtà non ne uso nessuno, tranne l'ultimo.
Imputation : un'ampia rubrica di una serie di tecniche che il cui comune denominatore (credo) è che i dati mancanti sono forniti direttamente dallo stesso set di dati: sostituzione anziché stima / previsione.
Ricostruzione : stimare i punti dati mancanti usando una rete autoassociativa (solo una rete neurale in cui le dimensioni dei livelli di input e output sono uguali - in altre parole, l'output ha la stessa dimensione dell'input); l'idea qui è quella di addestrare questa rete su dati completi, quindi alimentarla con schemi incompleti e leggere i valori mancanti dai nodi di output.
Bootstrap : (non è necessario alcun riepilogo, non dovrei pensare, dato che è usato altrove nell'analisi statistica).
Negazione : rimuovi silenziosamente i punti dati con elementi mancanti / corrotti dal tuo set di allenamento e fai finta che non siano mai esistiti.
modern
tecniche? Grazie
mice
ha un bel documento introduttivo su JSS: jstatsoft.org/article/view/v045i03 . (Dovresti trovare l'introduzione utile, anche se non usi R.) E il pacchetto R Amelia
ha una bella vignetta inclusa nel pacchetto. Questi due pacchetti differiscono nei loro dettagli, ma entrambi usano l'imputazione multipla.