L'analisi dei dati esplorativi è importante quando si esegue la modellazione puramente predittiva?


23

Quando si costruisce un modello predittivo utilizzando tecniche di apprendimento automatico, che senso ha fare un'analisi esplorativa dei dati (EDA)? Va bene passare direttamente alla generazione delle caratteristiche e alla costruzione dei tuoi modelli? In che modo sono importanti le statistiche descrittive utilizzate in EDA?


6
Ti chiedi "analisi dei dati esplorativi", ma includi anche il [descriptive-statistics]tag e la tua domanda finale è se le statistiche descrittive sono importanti. In questo contesto intendi solo calcolare varie statistiche descrittive quando menzioni EDA o stai chiedendo informazioni sia su statistiche descrittive sia su EDA? Lo chiedo perché molte persone (incluso me) pensano all'EDA più che a semplici statistiche descrittive.
gung - Ripristina Monica

Che cos'è esattamente la "generazione di funzionalità"? Non è un processo esplorativo?
einar

5
Ultimamente, mi sono state date 224 osservazioni da 37 individui. Avevo programmato di indagare, tra gli altri, sull'influenza di genere / sesso, quando l'analisi descrittiva mi disse che c'erano 36 donne e 1 uomo. A causa di questa statistica descrittiva, ho saltato tutte le analisi relative a genere / sesso. Per me è stato importante, perché i descrittori hanno influenzato il mio processo di costruzione del modello. Maggiori informazioni su questi dati qui stats.stackexchange.com/questions/352015/…
Bernhard

Risposte:


47

Non molto tempo fa, avevo un compito di intervista per una posizione nella scienza dei dati. Mi è stato dato un set di dati e mi è stato chiesto di costruire un modello predittivo per prevedere una certa variabile binaria date le altre, con un limite di tempo di alcune ore.

Ho esaminato ciascuna delle variabili a turno, rappresentandole graficamente, calcolando statistiche riassuntive ecc. Ho anche calcolato le correlazioni tra le variabili numeriche.

Tra le cose che ho trovato c'erano:

  • Una variabile categoriale corrispondeva quasi perfettamente al bersaglio.
  • Due o tre variabili avevano oltre la metà dei loro valori mancanti.
  • Un paio di variabili avevano valori anomali estremi.
  • Due delle variabili numeriche erano perfettamente correlate.
  • eccetera.

Il mio punto è che queste erano cose che erano state inserite deliberatamente per vedere se le persone le avrebbero notate prima di provare a costruire un modello. La società li ha inseriti perché sono il genere di cose che possono accadere nella vita reale e influenzano drasticamente le prestazioni del modello.

Quindi sì, l'EDA è importante quando si fa l'apprendimento automatico!


8
Quando do compiti agli studenti, lo faccio spesso ;-).
gung - Ripristina Monica

14

Ovviamente sì.

L'analisi dei dati potrebbe portarti a molti punti che danneggerebbero il tuo modello predittivo:

Dati incompleti

Supponendo che stiamo parlando di dati quantitativi, dovrai decidere se vuoi ignorare la colonna (se mancano troppi dati) o capire quale sarà il tuo valore "predefinito" (media, modalità, ecc.). Non puoi farlo senza prima esplorare i tuoi dati.

Dati anormali

Supponi di avere dati abbastanza fortemente correlati, ma esiste un 2% dei tuoi dati che è molto lontano da questa correlazione. Potresti voler rimuovere del tutto questi dati per aiutare il tuo modello predittivo

Rimuovi le colonne con troppa correlazione

Ok, questo contraddice un po 'il mio punto precedente, ma l'inglese non è la mia lingua principale, quindi spero che capirai.

Prenderò un esempio stupido, dirò che analizzi un set di dati dello stadio di calcio e che hai Width, Length, Areacome parametri. Bene, possiamo facilmente immaginare che questi tre parametri saranno fortemente correlati. Avere troppa correlazione tra la tua colonna porta il modello predittivo in una direzione sbagliata. È possibile decidere di cancellare uno o più parametri.

Trova nuove funzionalità

Prenderò l'esempio del piccolo Titanic Kaggle "Competition" . Quando guardi i nomi delle persone, potresti capire che puoi estrarre una caratteristica che è quella Titledella persona. Questa funzionalità risulta essere molto importante quando si tratta di modellazione, ma ti saresti perso se non avessi prima analizzato i tuoi dati.

Potresti decidere di archiviare i tuoi dati continui perché ti sembra più appropriato o trasformare una funzione continua in categoriale.

Trova che tipo di algoritmo usare

Non posso tracciare trame in questo momento, ma facciamo un semplice esempio.

Immagina di avere un modello piccolo con una colonna caratteristica e una colonna "risultato" binaria (solo 0 o 1). Si desidera creare un modello di classificazione predittivo per questo set di dati.

Se, ancora una volta come esempio, dovessi tracciarlo (quindi, analizzare i tuoi dati), potresti realizzare che il diagramma forma un cerchio perfetto attorno al tuo 1 valore. In uno scenario del genere, sarebbe abbastanza ovvio che potresti usare un classificatore polinomiale per avere un modello eccezionale invece di saltare direttamente al DNN. (Ovviamente, considerando che ci sono solo due colonne nel mio esempio, non costituisce un esempio eccellente, ma ottieni il punto)

Nel complesso, non ci si può aspettare che un modello predittivo funzioni bene se non si guardano prima i dati.


8

Una cosa importante fatta dall'EDA è trovare errori di immissione dei dati e altri punti anomali.

Un altro è che la distribuzione delle variabili può influenzare i modelli che si tenta di adattare.


8

Avevamo una frase in chimica:

" Due settimane trascorse in laboratorio possono farti risparmiare due ore su Scifinder ".

Sono sicuro che lo stesso vale per l'apprendimento automatico:

" Due settimane trascorse ad allenare una rete neuronale possono farti risparmiare 2 ore guardando i dati di input ".

Queste sono le cose che avrei passato prima di iniziare qualsiasi processo di ML.

  • Traccia la densità di ogni variabile (continua). Come sono inclinati i numeri? Ho bisogno di una trasformazione del registro per dare un senso ai dati? Quanto sono lontani gli outlier? Ci sono valori che non hanno senso fisico o logico?
  • Tieni d'occhio i NA. Di solito, puoi semplicemente scartarli, ma se ce ne sono molti o se rappresentano un aspetto cruciale del comportamento del sistema, potresti dover trovare un modo per ricreare i dati. Questo potrebbe essere un progetto in sé e per sé.
  • Traccia ogni variabile rispetto alla variabile di risposta. Quanto senso riesci a ricavarne solo osservandolo? Ci sono curve ovvie che possono essere dotate di funzioni?
  • Valuta innanzitutto se hai bisogno di un complicato modello ML. A volte la regressione lineare è tutto ciò di cui hai veramente bisogno. Anche se non lo è, fornisce una buona base per il tuo modello ML su cui migliorare.

Al di là di questi passaggi di base, non passerei molto altro tempo a guardare i dati prima di applicare i processi ML ad esso. Se hai già un gran numero di variabili, complicate combinazioni non lineari di esse diventano sempre più difficili non solo da trovare, ma da tracciare e comprendere. Questo è il tipo di cose meglio gestite dal computer.


6

Prospettiva statistica:

Lasciando da parte gli errori nella fase di modellizzazione, ci sono tre probabili risultati dal tentativo di previsione senza prima fare EDA:

  1. La previsione fornisce ovvi risultati senza senso, poiché i dati di input hanno violato i presupposti del metodo di previsione. Ora devi tornare indietro e controllare i tuoi input per scoprire dove si trova il problema, quindi risolvere il problema e ripetere l'analisi. A seconda della natura del problema, potrebbe anche essere necessario modificare i metodi di previsione. (Cosa intendi con questa variabile categorica ?)
  2. La previsione fornisce risultati negativi ma non ovviamente negativi, poiché i tuoi dati hanno violato i presupposti in modo leggermente meno ovvio. O torni indietro e controlli comunque quei presupposti (nel qual caso, vedi sopra # 1) o accetti risultati negativi.
  3. Per fortuna, i tuoi dati di input sono esattamente ciò che ti aspettavi che fosse (capisco che ciò accada occasionalmente) e la previsione dà buoni risultati ... il che sarebbe fantastico, tranne che non puoi dire la differenza tra questo e # 2 sopra.

Prospettiva di gestione del progetto:

La risoluzione dei problemi relativi ai dati può richiedere molto tempo e fatica. Per esempio:

  • I dati sono sporchi ed è necessario dedicare tempo allo sviluppo di processi per pulirli. (Ad esempio: il tempo in cui ho dovuto codificare una correzione automatica per tutte le persone che continuano a scrivere l'anno sbagliato a gennaio e le persone che inseriscono la data nel campo dell'anno e il sistema che stava analizzando le date come MM / GG / AAAA anziché GG / MM / AAAA.)
  • Devi porre domande sul significato dei dati e solo Joan può rispondere. Joan è in vacanza per sei mesi, a partire da due settimane dopo l'inizio del progetto.
  • Le limitazioni dei dati ti impediscono di consegnare tutto ciò che avevi intenzione di consegnare (vedi l'esempio di Bernhard di non essere in grado di produrre analisi per sesso / genere perché il set di dati aveva solo una donna) e tu / i tuoi clienti dovete capire cosa fare al riguardo .

Prima riesci a identificare tali problemi, maggiori sono le tue possibilità di mantenere il tuo progetto sulla rotaia, finire in tempo e rendere felici i tuoi clienti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.