Vai al contenuto principale Passa a contenuto complementare

Imputazione di valori nulli

Troppi valori mancanti potrebbero avere un impatto negativo sulla qualità del modello di machine learning. L'imputazione è la pratica di riempire i valori mancanti, noti come valori nulli. I dati mancanti possono essere dovuti a diversi motivi, come ad esempio un errore del database, un utente che non compila una parte del modulo o forse si iniziano a raccogliere nuovi dati e i record più vecchi del set di dati non contengono il nuovo punto dati.

Durante la preelaborazione automatica dei dati, i valori nulli vengono gestiti escludendo le colonne a cui manca più del 50% dei valori e imputando i valori mancanti. I valori categoriali sono imputati con la modalità e i valori numerici con la media.

È importante comprendere gli effetti che l'imputazione potrebbe avere sui dati. L'imputazione mantiene il potere di previsione della riga o della colonna, ma ha anche il potenziale di creare modelli che non esistevano in precedenza o di aggiungere rumore a un modello esistente. Ciò riduce la validità dei dati.

Si potrebbe voler rivedere le proprie pratiche di raccolta dei dati per assicurarne il completamento e per implementare nuovi processi, se necessario. Se si vuole mantenere la rappresentazione di un valore vuoto, è possibile riempire i nulli con un valore come "altro" o "sconosciuto".

Come funziona l'imputazione

I metodi seguenti sono pratiche comuni per l'imputazione dei valori nulli.

Valori numerici

Una buona soluzione predefinita è quella di imputare il valore medio. Se i valori mancanti sono distribuiti normalmente, è come aggiungere peso al centro di un'altalena: non influisce sul peso di entrambi i lati. Tuttavia, è necessario considerare sempre ciò che il valore sta cercando di rappresentare. Ad esempio, se alcuni valori del prezzo di vendita sono nulli nei dati di vendita, si tratta di un errore del database o l'acquirente ha utilizzato un coupon come pagamento? Uno 0, o un altro valore diverso dalla media, avrebbe più senso?

Valori categoriali

Una buona soluzione predefinita per i valori categoriali è quella di aggiungere un'altra categoria e chiamarla "Altro", "Sconosciuto" o anche "Mancante". Questa categoria può contenere la varianza aggiuntiva se i valori mancanti sono distribuiti in modo casuale, oppure aumentare l'importanza della caratteristica se esiste una relazione significativa tra la mancanza di quel valore e il valore target.

Un ripiego è quello di imputare la media sotto forma di modalità. Come per i valori numerici, è sempre importante considerare sia ciò che il valore sta effettivamente cercando di rappresentare sia il motivo per cui il valore potrebbe essere mancante. Sapendo che la maggior parte dei valori mancanti è probabilmente composta dalla modalità, è possibile imputarla. Se non è nota o c'è incertezza, è possibile imputare il valore categoriale con un testo di riempimento che rappresenta un nuovo valore unico per il set di dati.

Effetti dell'imputazione di valori numerici

L'imputazione numerica 1 mostra un grafico a dispersione con una linea di best fit. Abbiamo un valore numerico lungo l'asse delle categorie (x) e un valore target lungo l'asse dei valori (y). Sembra essere un buon adattamento, ma prende in considerazione solo i punti dei dati in cui x è noto.

Imputazione numerica 1: grafico dei valori noti con una linea di best fit

Grafico con linea di best fit.

Nell'imputazione numerica 2, abbiamo imputato il valore medio. Tuttavia, i valori mancanti non sembrano essere casuali. Ciò finisce per distorcere la linea di best fit e aggiunge rumore, riducendo così l'accuratezza complessiva del modello.

Imputazione numerica 2: grafico dei valori noti e dei valori medi imputati. I valori imputati non sono distribuiti in modo casuale e c'è una nuova linea di best fit.

Grafico con valori imputati che distorcono la linea di best fit.

Il grafico in Imputazione numerica 3 mostra come apparirebbe l'imputazione della media quando i valori mancanti sono distribuiti in modo casuale. In altre parole, quando non c'è alcuna conoscenza aggiuntiva da acquisire sapendo se il valore era presente o mancante. Quando i valori mancanti sono distribuiti in modo casuale, la linea di best fit non cambia. Se avessimo imputato 0 al posto del valore medio, avremmo modificato la linea di best fit in modo simile a quanto visto per l'imputazione numerica 2.

Imputazione numerica 3: grafico dei valori noti e dei valori imputati distribuiti in modo casuale. La linea di best fit non è cambiata.

Grafico con valori imputati che non distorcono la linea di best fit.

Esempio: qualificazione del prestito

Un esempio del mondo reale sarebbe se x fosse il reddito annuale e y l'importo per il quale una persona potrebbe ottenere un prestito. Ci aspetteremmo una relazione in cui più soldi si guadagnano, più soldi si possono prendere in prestito. Lo schema sarebbe simile a quello dell'imputazione numerica 1 di cui sopra.

Immaginare che le persone che guadagnano meno siano meno propense a fornire il loro reddito annuale. In questo caso, il valore x manca per un motivo specifico. L'imputazione della media per questi valori distorcerebbe i risultati del modello. Il risultato sarebbe simile all'Imputazione numerica 2.

Si consideri ora che alcuni record del database sono stati eliminati in modo casuale. I registri contenevano dati sulla quantità di denaro guadagnato da alcune persone, ma non i dati relativi alla persona. Quindi il valore x è casualmente nullo. Questo effetto è illustrato nell'Imputazione numerica 3 ed è un caso in cui possiamo imputare con sicurezza il valore mancante.

Un altro aspetto da considerare è: cosa succederebbe se al posto della media venisse imputato 0? Nell'esempio di qualificazione del prestito, probabilmente non è una rappresentazione accurata dire che qualcuno guadagna 0 dollari all'anno. Questo modello subirebbe una distorsione simile a quella dell'imputazione numerica 2.

Effetti dell'imputazione dei valori categoriali

Nel caso numerico precedente, abbiamo utilizzato la media per imputare i valori mancanti. Un metodo semplice per i valori categoriali è quello di prendere la modalità, ovvero il valore più frequente. Alcune delle sfide presenti nell'imputazione della modalità sono le stesse dell'imputazione della media per un valore numerico.

Nel grafico qui sotto, i valori mancanti in Missing_1 sono distribuiti in modo casuale rispetto al target, mentre Missing_2 è distribuito in modo casuale. Questo è possibile perché Missing_2 corrisponde al valore target medio complessivo. Missing_1 è simile all'imputazione numerica 2 e Missing_2 è simile all'imputazione numerica 3.

Imputazione categoriale: Le colonne Missing_1 e Missing_2 sono esempi di valori mancanti con e senza schema.

Grafico che mostra la distribuzione delle classi A, B e C insieme alla media complessiva e all'imputazione categoriale dei valori mancanti.

La differenza rispetto all'esempio numerico è che in questo caso Missing_1 e Missing_2 distorcono entrambi il riconoscimento del modello. La distorsione si verifica solo per un sottoinsieme di dati, la categoria B, che sarebbe il valore imputato se l'imputazione avvenisse con la modalità, perché è la categoria più grande.

La distorsione della relazione tra un singolo valore e il valore target non è l'unico rischio dell'imputazione, ma è tra i più comuni e più facili da valutare. Altri rischi tendono semplicemente ad aggiungere rumore e a ridurre l'accuratezza. Fortunatamente, il rischio di distorsione può essere notevolmente attenuato eliminando le dimensioni con sparsità relativa. Spesso si discute su quali siano i livelli di sparsità da consentire in una colonna o in una riga, ma meno spesso si discute sul fatto che l'imputazione dei valori può potenzialmente distorcere i dati, in modo da renderli non più rappresentativi di ciò che i dati cercano di descrivere.

Ulteriori informazioni

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!