Mentre l’apprendimento , la maggior parte degli scienziati dei dati e degli appassionati cerca di trattare con dataset famosi come MNIST , ImageNet , … che sono completi , puliti e ben formattati . Tuttavia , i problemi del mondo reale e set di dati sono purtroppo lontani da questa utopia accademica . In altre parole , non sono perfetti a tutti , includono il rumore , contengono un sacco di dati mancanti e, talvolta, non sono anche ben strutturati o formattati .
In questo post , andremo a parlare di uno di questi noiosi problemi che salterà fuori spesso , e senza ulteriori indugi come detto nel titolo , affronteremo il problema “dati mancanti” da una prospettiva ampia e statistica
Prima di tutto , cosa intendiamo concretamente per “dati mancanti” ?
Dati mancanti significa che una o più variabili ( caratteristiche ) valori sono mancanti generalmente codificato da -999 , nan , null . . spesso si verifica durante la raccolta dei dati in modo errato, una mancanza di dati (es: valutazione degli utenti), o errori durante l’inserimento dei dati (digitazione errata), e questo potrebbe portare a risultati drastici e conclusioni che potrebbero influenzare negativamente le decisioni!
La figura seguente illustra l’esempio eclatante di “sistemi di raccomandazione” quando il problema dei “dati mancanti” si verifica frequentemente perché una parte dei nostri dati dipende dal feedback degli utenti .
provoca anche un sacco di lotta per i ricercatori durante l’analisi e l’interpretazione dei risultati della loro ricerca per trarre conclusioni.
Ci sono tre tipi di dati mancanti:
1) Missing Completely and Random – (MCAR).
2) Missing at Random – (MAR).
3) Missing Not at Random – (MNAR).
Type I: Missing Completely at Random (MCAR)
Non c’è relazione tra il fatto che un punto di dati sia mancante e qualsiasi valore nel set di dati (mancante o osservato). I dati mancanti sono solo un sottoinsieme casuale dei dati. La mancanza non ha nulla a che fare con qualsiasi altra variabile. A proposito, i dati sono raramente MCAR.
Il seguente esempio illustra questo tipo di problema :
È relativamente facile verificare l’ipotesi che nel nostro esempio i dati manchino completamente a caso. Se si può prevedere qualsiasi motivo per i dati mancanti (ad es, usando il buon senso, la regressione, o qualche altro metodo) sia basandosi sulla variabile completa Età o sulla variabile mancante punteggio QI, allora i dati non sono MCAR !
TLDR : non influenzati né dai dati osservati né da quelli mancanti => Completamente a caso
Tipo II: Mancante a caso (MAR)
I dati mancanti qui sono influenzati solo dalle variabili complete (osservate) e non dalle caratteristiche dei dati mancanti stessi. In altre parole, per un punto di dati, essere mancante non è legato ai dati mancanti, ma è legato ad alcuni (o tutti) i dati osservati, il seguente esempio rappresenterà la situazione e la renderà più chiara :
Possiamo facilmente notare che il punteggio IQ è mancante per i giovani (età < 44 anni), e quindi i dati mancanti dipendono dai dati osservati, tuttavia non c’è dipendenza con i valori della colonna mancante stessa.
TLDR : non causato dai dati mancanti stessi ma influenzato dai dati osservati => A caso
Tipo III: Missing Not at Random (MNAR)
Non è né di tipo I né di tipo II , e i dati saranno mancanti in base alla colonna mancante stessa , per esempio il seguente esempio sottolinea il fatto che mancano i dati sul punteggio IQ con solo le persone che hanno un punteggio basso .
come potete vedere, è impossibile rilevare i casi di MNAR senza conoscere i valori mancanti!
TLDR : causato dai dati mancanti stessi => Non a caso
qui c’è una lista non esaustiva su come affrontare i problemi di dati mancanti :
Metodo 1: Cancellazione
cade sotto due diverse tecniche :
- Cancellazione a lista: in questo metodo, un intero record viene escluso dall’analisi se manca un singolo valore, e quindi abbiamo lo stesso N (numero di record) per tutte le analisi.
- Pairwise Deletion : durante la nostra analisi il numero di record presi in considerazione denotato “N” varierà a seconda della variabile studiata (colonna) , e per esempio potremmo calcolare la media per 2 caratteristiche (completa VS mancante) e mentre dividiamo per il numero di campioni , finiamo per dividere per N diversi , uno è il numero totale di righe e l’altro è il numero totale sui valori completi sulla caratteristica mancante .
Metodo 2: Metodi di imputazione singola
- Imputazione a valore singolo: sostituzione del valore mancante con un valore singolo utilizzando una strategia come : Media, Mediana, Più frequente, Persona media, … della caratteristica corrispondente.
- Similarità: cercare di trovare la riga più vicina (top-N più vicina) alla riga contenente il nostro valore mancante, e fissare una strategia tra loro per assegnare un valore al nostro valore mancante.
- Imputazione di regressione: Nell’imputazione di regressione singola il valore imputato è predetto da un’equazione di regressione, si assume che i valori mancanti siano in una linea di regressione con una pendenza non nulla con una delle caratteristiche complete (predittori)
Metodo 3: Metodi di imputazione multipla
- Algoritmo di massimizzazione dell’aspettativa: un algoritmo che potrebbe essere usato sia per l’imputazione dei dati mancanti che per il compito di clustering del machine learning (considerando il target come una caratteristica mancante), si basa su due passi :
– Primo: Aspettativa del valore mancante
– Secondo: Massimizzazione della probabilità
Consiglio vivamente Andrew NG stanford notes per capirlo molto bene, non è un algoritmo difficile, non temete le sue formule! http://cs229.stanford.edu/notes/cs229-notes8.pdf
- Metodi MI : è un metodo interessante per gestire i dati mancanti nell’analisi multivariata. L’idea dell’imputazione multipla per i dati mancanti è stata proposta per la prima volta da Rubin, consiste nel fare la media dei risultati tra più serie di dati imputati per tenerne conto. Tutti i metodi di imputazione multipla seguono tre passi :
- Imputazione – Simile all’imputazione singola, i valori mancanti sono imputati. Tuttavia, i valori imputati sono estratti m volte da una distribuzione piuttosto che solo una volta. Alla fine di questo passo, ci dovrebbero essere m set di dati completati.
- Analisi – Ciascuno dei m set di dati viene analizzato. Alla fine di questo passo ci dovrebbero essere m analisi.
- Pooling – Gli m risultati sono consolidati in un unico risultato calcolando la media, la varianza e l’intervallo di confidenza della variabile di interesse.
grazie per il tuo tempo e la tua attenzione, continua a imparare!
se vuoi contattarmi su Linkedin te ne sarei molto grato