È meglio eseguire analisi esplorative dei dati solo sul set di dati di formazione?


15

Sto eseguendo l'analisi dei dati esplorativi (EDA) su un set di dati. Quindi selezionerò alcune funzionalità per prevedere una variabile dipendente.

La domanda è:
devo fare l'EDA solo sul mio set di dati di addestramento? O dovrei unirmi ai set di dati di training e test insieme, quindi fare l'EDA su entrambi e selezionare le funzionalità in base a questa analisi?

Risposte:


6

Consiglio di dare un'occhiata a "7.10.2 Il modo sbagliato e giusto di fare la convalida incrociata" in http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf .

Gli autori danno un esempio in cui qualcuno fa quanto segue:

  1. Esamina i predittori: trova un sottoinsieme di predittori "buoni" che mostrano una correlazione abbastanza forte (univariata) con le etichette delle classi
  2. Utilizzando solo questo sottoinsieme di predittori, crea un classificatore multivariato.
  3. Utilizzare la convalida incrociata per stimare i parametri di ottimizzazione sconosciuti e per stimare l'errore di previsione del modello finale

Questo suona molto simile a fare EDA su tutti (cioè formazione più test) dei tuoi dati e usare EDA per selezionare predittori "buoni".

Gli autori spiegano perché ciò è problematico: il tasso di errore convalidato in modo incrociato sarà artificialmente basso, il che potrebbe indurre in errore a pensare di aver trovato un buon modello.


1

Quindi vuoi identificare variabili indipendenti che hanno un effetto sulla tua variabile dipendente?

Quindi, entrambi i tuoi approcci non sono realmente raccomandabili.

Dopo aver definito la tua domanda di ricerca, dovresti sviluppare la tua teoria. Vale a dire, usando la letteratura, dovresti identificare le variabili che dovrebbero avere un effetto (dovresti essere in grado di spiegare il motivo).


6
Mentre questa visione sembra fondamentalmente concordare con il concetto classico di test statistici (e come tale mi fa male essere in disaccordo), ci sono molti problemi moderni per i quali questo non è fattibile. Ad esempio, supponiamo di voler vedere se uno qualsiasi dei 20.000 geni codificanti proteine ​​è associato a una nuova malattia ereditaria. Non esiste uno sfondo che possa prepararti, nessun modo di "elaborare una teoria" e un EDA è l'unico modo per iniziare. E se disponi di dati sufficienti per un'EDA e un'analisi di conferma, puoi effettivamente ottenere da qualche parte.
Cliff AB

3
"dovresti sviluppare la tua teoria": è una buona idea, ma non sempre è possibile, soprattutto nel settore. A volte, vai avanti con le previsioni senza sviluppare teorie
Aksakal

1

L'applicazione dell'EDA sui dati di test è errata.

La formazione è il processo di ricerca delle risposte corrette per creare il modello migliore. Questo processo non si limita solo all'esecuzione di codice sui dati di allenamento. L'uso delle informazioni dell'EDA per decidere quale modello utilizzare, modificare i parametri e così via fa parte del processo di formazione e quindi non dovrebbe essere consentito l'accesso ai dati di test. Quindi, per essere fedele a te stesso, usa i dati di test solo per verificare le prestazioni del tuo modello.

Inoltre, se ti rendi conto che il modello non funziona bene durante i test e poi torni a regolare il modello, allora non va bene neanche. Invece, dividi i tuoi dati di allenamento in due. Usane uno per l'allenamento e un altro per testare e modificare i tuoi modelli. Vedi Qual è la differenza tra set di test e set di validazione?


0

Dopo il paragrafo di questa risposta . Hastie spiega inoltre a p.245 :

"Ecco il modo corretto di eseguire la convalida incrociata in questo esempio:

  1. Dividi i campioni in K (pieghe) di convalida incrociata (gruppi) a caso.
  2. Per ogni piega k = 1, 2,. . . , K
    (a) Trova un sottoinsieme di predittori "buoni" che mostrano una correlazione abbastanza forte (univariata) con le etichette delle classi, usando tutti i campioni eccetto quelli nella piega k.
    (b) Usando solo questo sottoinsieme di predittori, costruisci un classificatore multivariato, usando tutti i campioni tranne quelli in piega k.
    (c) Utilizzare il classificatore per prevedere le etichette di classe per i campioni in piega k. "

-3

Fai EDA sull'intero set di dati. Per esempio, se si sta utilizzando leave-one-out convalida croce, come si dovrebbe fare EDA solo su un training set di dati? In questo caso ogni osservazione è allenamento e controllo almeno una volta.

Quindi, no, formi la tua comprensione dei dati sull'intero campione. Se sei nell'assetto industriale, è ancora più evidente. Ci si aspetta che mostri le tendenze e la descrizione generale dei dati agli stakeholder dell'azienda, e lo fai sull'intero campione.

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.