Unità 2 / 11

Pulizia e preparazione dei dati: dati mancanti, valori anomali e codifica

Guadagni:

  • Capacità di riconoscere tipi di dati mancanti (MCAR/MAR/MNAR), valori anomali ed errori di codifica e di utilizzare l'intelligenza artificiale con i dati corretti per produrre codice di pulizia e diagnostica
  • Possibilità di vedere come ogni fase di pulizia (cancellazione, assegnazione, trasformazione) suggerita dall'intelligenza artificiale influenzerà il risultato dell'analisi e stabilirà un flusso di lavoro reversibile e documentato
  • Sostenere che le decisioni di cleanup si basino sulla conoscenza del processo che genera i dati e che l’intelligenza artificiale sia un assistente supervisionato, non un automa cieco

Ogni analista esperto conosce una verità: la maggior parte delle volte in un progetto empirico non si tratta di modellazione, ma di pulizia dei dati (il lavoro di correggere errori, omissioni e incoerenze nei dati e renderli pronti per l'analisi). Come regola generale, circa il 70-80% del tempo è dedicato alla comprensione, pulizia e trasformazione dei dati; solo il 20-30% rimane per l'analisi vera e propria. In questa unità vedremo passo dopo passo come l’intelligenza artificiale (AI) alleggerisce questo pesante fardello, ma quali decisioni dovrebbero comunque spettare a voi e perché.

Mettiamo innanzitutto due fatti fondamentali. Innanzitutto, le decisioni di pulizia si basano sulla tua conoscenza del processo che produce i dati: solo tu sai perché manca un valore, perché un numero è troppo grande. L’intelligenza artificiale non vede i dati, non conosce il contesto; Scrive codice, non prende decisioni. In secondo luogo, ogni fase di pulizia può modificare il risultato dell'analisi. L'eliminazione di un valore anomalo può invertire il coefficiente; Riempire i dati mancanti con la media può ridurre artificialmente la varianza. Quindi la pulizia dovrebbe essere reversibile e documentata: non toccare mai i dati grezzi, eseguire ogni passaggio nel codice, registrare l'impatto di ogni passaggio.

Flusso di lavoro di pulizia passo dopo passo

1. Conoscere i dati. Per prima cosa vedi la struttura: numero di righe (osservazioni) e colonne (variabili), tipo di ciascuna variabile (numerica, categoriale, data), statistiche riassuntive, numero di mancanti. Puoi chiedere all'AI questo codice "profilo dati"; Ma leggi l'output e fai domande come "perché questa variabile è arrivata come testo?"

2. Comprendere e classificare i dati mancanti. I dati mancanti sono divisi in tre tipologie. MCAR (Missing Completely At Random): la mancanza non è dovuta a nulla, ad esempio un sensore si è guastato casualmente. MAR (Missing At Random): la mancanza dipende da altre variabili osservate, ad esempio gli anziani lasciano una domanda in bianco più spesso, ma si conosce l'età. MNAR (Missing Not At Random): la mancanza dipende dal valore non osservato stesso, ad esempio i redditi alti non dichiarano il proprio reddito. Questa distinzione è fondamentale perché determina il metodo di soluzione e l’intelligenza artificiale non può deciderlo per te.

3. Affrontare la carenza. Opzioni: cancellazione listwise, imputazione media/mediana, imputazione multipla basata su modello. L'eliminazione in MCAR è relativamente sicura ma riduce la dimensione del campione. L'assegnazione multipla è più appropriata in MAR. Nessun metodo semplice garantisce l'imparzialità in MNAR; Il meccanismo di carenza dovrebbe essere modellato o almeno dovrebbe essere eseguita un’analisi di sensibilità. Il riempimento della media è facile ma pericoloso: riduce la varianza, indebolisce le relazioni e nasconde l’incertezza.

4. Esaminare i valori anomali. Un valore anomalo è un'osservazione che si trova molto distante dalle altre. Separare le due domande: si tratta di un errore (nell'immissione dei dati è stato scritto 999 anni) o è un valore reale ma anomalo (reddito di un miliardario)? Correggere i bug; Non eliminare i veri valori anomali perché rappresentano dati. Eliminare il valore anomalo "perché ti dà fastidio" sta distorcendo i dati verso il risultato.

5. Codificazione e coerenza. Standardizza le categorie ("Maschio", "maschio", "E" tutto in un unico codice), porta le date in un unico formato, le unità in un'unica scala, rileva le righe duplicate. Questa è la fase meno rischiosa in cui l’intelligenza artificiale aiuta meglio.

6. Documentare e congelare. Registra ogni passaggio con codice e una riga di commento, mantenendo separati i dati grezzi e quelli puliti. Quindi, quando un arbitro chiede "perché queste osservazioni sono state ignorate?" hai la risposta pronta.

Attenzione: non prendere decisioni sulla pulizia in base ai risultati. Eliminare una riga che dice "Quando elimini questa riga, il coefficiente diventa significativo" è la forma più insidiosa di p-hacking, che vedremo nella prossima unità.

Tabella comparativa: metodi dati mancanti

Metodo

Quando è opportuno?

rischio

Ruolo dell'intelligenza artificiale

Elimina una riga

MCAR, basso tasso di mancanti

Il campione diventa più piccolo, distorsione in MAR/MNAR

Scrive il codice; decidi tu

Assegnazione media/mediana

Rapida analisi preliminare

Riduce la varianza, nasconde la relazione

È facile ma non lo consiglio; dovrebbe avvisare

Assegnazione multipla (MI)

MAR, variabili importanti

Se non installato correttamente sarà fuorviante

Consiglia codice e pacchetto (mouse)

Modellazione dei meccanismi

MNAR

Complesso, ad alta intensità di ipotesi

Solo bozza; è richiesto un esperto

Quattro istruzioni copiabili

1. Profilazione dei dati:

Il tuo ruolo: assistente alla pulizia dei dati. Non condivido i dati, voglio il codice R. Ho un data.frame chiamato 'digit'; variabili: id, età (numerico), reddito (numerico), istruzione (categoriale), regione (categoriale), data (data). Compito: scrivere il codice che produce tipo, numero mancante e tasso per ciascuna variabile, statistiche riassuntive per quelle numeriche e tabella di frequenza per quelle categoriali. Aggiungi riga di commento.

2. Diagnosi dei dati mancanti:

Scrivere un codice che esamini lo schema mancante per i dati "cifre" di cui sopra: - il tasso di mancanza di ciascuna variabile, - una semplice tabella/grafico che mostri la relazione tra la mancanza e le altre variabili. Guarderò l'output del codice e farò la distinzione MCAR/MAR/MNAR; Produci solo lo strumento diagnostico, NON decidere il metodo di assegnazione.

3. Ispezione dei valori anomali (non cancellazione):

Scrivi il codice per la variabile "reddito" che esamina i valori anomali SENZA ELIMINARE: boxplot, limiti basati su IQR e tabella che elenca osservazioni + valori anomali. Vedrò se questi sono errori o sono reali. Aggiungi la cancellazione automatica.

4. Standardizzazione della codifica:

Nella variabile 'istruzione' i valori sono scritti misti: "Scuola primaria","scuola elementare","PRIMARY","Scuola superiore","scuola superiore","Università","univ". Scrivere codice R che li ricodifichi in categorie coerenti; Mostra chiaramente la tabella di mappatura in modo da poter confermare ogni conversione. Imposta il valore che non riconosci su "SCONOSCIUTO".

Prompt debole / Prompt forte

Suggerimento debole:

Pulisci i dati, colma le lacune, scarta i valori anomali.

Questa richiesta è pericolosa: conferisce cieca autorità all’intelligenza artificiale. Che tipo di mancanza, che tipo di riempimento, quale verità contraddittoria: niente di tutto ciò è chiaro. Il risultato potrebbe essere un set di dati segretamente distorto.

Suggerimento potente:

Il tuo ruolo: assistente alle pulizie, non sei tu il decisore. Procedi passo dopo passo e scrivi il codice che segnala l'impatto di OGNI passaggio: 1) mostra il modello mancante (NON eliminare/riempire), 2) elenca i candidati anomali (NON eliminare), 3) correggi le incoerenze delle categorie con la tabella di mappatura. Stampa il conteggio delle righe e la statistica riepilogativa dopo ogni passaggio in modo da poter vedere e confermare la modifica. Inserimento automatico di assegnazione/cancellazione.

La differenza è chiara: una forte volontà posiziona l’IA come un assistente supervisionato, producendo passaggi reversibili e documentati.

tre mini custodie

Caso 1 – Trappola dell’assegnazione media. I dati sul reddito di un analista per 5.000 persone mancavano del 18%. Ha detto all'IA di "colmare le lacune"; L'intelligenza artificiale ha calcolato la media di tutti. Risultato: la varianza del reddito è diminuita del 22% e il coefficiente del rapporto istruzione-reddito è risultato più debole di quanto non fosse in realtà. Modo corretto: la carenza era MAR (dovuta all'istruzione), doveva essere colmata mediante assegnazione multipla (topi). Lezione: il metodo di riempimento dipende dal meccanismo.

Caso 2: la pulizia dei valori anomali inverte il risultato. Nei dati di un'azienda erano presenti 3 aziende molto grandi (0,6% dell'osservazione totale). Questi sono stati cancellati dal suggerimento di "pulizia" dell'IA; Il coefficiente delle economie di scala è passato da positivo a negativo. Tuttavia, quelle 3 società erano reali e rappresentavano una parte importante del settore. Il modo corretto era riportare con una stima completa e solida invece di eliminare. Lezione: i veri valori anomali sono dati, non rumore.

Caso 3 — Errore di codifica silenzioso. In un pannello, la variabile data era disponibile in due formati diversi ("2020-03-01" e "01/03/2020"). Quando il codice di combinazione prodotto dall’IA li ha scambiati per valori diversi, 1.400 osservazioni non corrispondevano e i tassi di crescita diventavano ridicoli. Non avrebbe importanza se l'analista non controllasse il conteggio delle righe. Lezione: il conteggio delle osservazioni e i controlli di integrità dopo ogni passaggio sono obbligatori.

Errori comuni

  • Colmare ciecamente il divario con la media. Riduce la varianza, nasconde l'incertezza e crea distorsioni in MAR/MNAR. Innanzitutto classificare il meccanismo.
  • Eliminazione del valore anomalo "perché dà fastidio". I veri valori anomali rappresentano i dati; l'eliminazione sta distorcendo il risultato. Correggi ciò che è sbagliato, mantieni ciò che è reale.
  • Toccando i dati grezzi. Non modificare mai i dati grezzi; Esegui tutta la pulizia con il codice in una copia separata in modo che possa essere ripristinato.
  • Non misurare l'impatto dei passaggi. Se il conteggio delle righe e le statistiche di riepilogo non vengono controllati dopo ogni passaggio, si accumuleranno errori silenziosi.
  • Di conseguenza la pulizia. La logica del "Quando aggiungi questa riga, il risultato diventa migliore" è p-hacking; La pulizia dovrebbe essere pianificata prima e indipendentemente dal risultato dell'analisi.
Suggerimento: mantieni una tabella “prima/dopo” che metta le stesse statistiche di base (media, mediana, numero di osservazioni, alcune correlazioni) fianco a fianco prima e dopo la pulizia. Un salto inaspettato è il miglior presagio di un errore nascosto.

In sintesi

La pulizia dei dati è la fase del lavoro empirico che richiede più tempo e decisioni. L'intelligenza artificiale è un potente generatore di codice in questo, ma non può prendere le decisioni: classifichi il tipo di dati mancanti (MCAR/MAR/MNAR), determini se il valore anomalo è un errore o reale, mantieni ogni passaggio reversibile e documentato. Invece di dare un’autorità “chiara” all’intelligenza artificiale, stabilire un flusso di lavoro passo dopo passo il cui impatto sia misurato e convalidato. Controllare il numero di osservazioni e le statistiche riassuntive dopo ogni passaggio è il miglior antidoto agli errori silenziosi.

Compito dell'applicazione

Seleziona almeno due variabili che contengono dati mancanti e valori anomali in un set di dati (i tuoi dati o un set di campioni). Richiedi un codice diagnostico all'IA tramite il messaggio "passo dopo passo, non eliminare/riempi" sopra ed eseguilo. Classifica la carenza come MCAR/MAR/MNAR e scrivi la tua giustificazione in una frase. Esamina uno per uno i candidati contraddittori e decidi quale è un errore e quale è reale. Infine, produrre una tabella "prima-dopo" prima/dopo la pulizia e segnalare eventuali cambiamenti imprevisti.

lista di controllo

  • [ ] Ho pulito i dati grezzi in una copia separata senza modificarli.
  • [ ] Ho classificato la carenza come MCAR/MAR/MNAR e ho scelto il metodo di conseguenza.
  • [ ] Ho esaminato i valori anomali uno per uno se fossero errori o reali; Non l'ho cancellato ciecamente.
  • [ ] Ho controllato il numero di osservazioni e le statistiche riassuntive dopo ogni fase di pulizia.
  • [ ] Ho documentato tutti i passaggi con codice e una riga di commento; reversibile.
  • [ ] Ho basato la pulizia sulla conoscenza del processo che produce i dati, non sul risultato dell'analisi.