Czy lepiej jest przeprowadzać eksploracyjną analizę danych tylko w zestawie danych szkoleniowych?

15

Wykonuję eksploracyjną analizę danych (EDA) na zbiorze danych. Następnie wybiorę niektóre funkcje, aby przewidzieć zmienną zależną.

Pytanie brzmi:
czy powinienem wykonywać EDA tylko na moim zestawie danych szkoleniowych? A może powinienem dołączyć do zestawu danych szkoleniowych i testowych, a następnie wykonać na nich EDA i wybrać funkcje oparte na tej analizie?

Aboelnour
źródło

Odpowiedzi:

6

Polecam zajrzeć do „7.10.2 Niewłaściwy i właściwy sposób dokonywania weryfikacji krzyżowej” w http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf .

Autorzy podają przykład, w którym ktoś wykonuje następujące czynności:

  1. Sprawdź predyktory: znajdź podzbiór „dobrych” predyktorów, które wykazują dość silną (jednoczynnikową) korelację z etykietami klas
  2. Używając tylko tego podzbioru predyktorów, zbuduj klasyfikator wielowymiarowy.
  3. Użyj walidacji krzyżowej, aby oszacować nieznane parametry strojenia i oszacować błąd prognozowania ostatecznego modelu

Brzmi to bardzo podobnie do wykonywania EDA na wszystkich (tj. Szkoleniach plus testach) danych i wykorzystywania EDA do wybierania „dobrych” predyktorów.

Autorzy wyjaśniają, dlaczego jest to problematyczne: poziom błędu zweryfikowany krzyżowo będzie sztucznie niski, co może wprowadzić cię w błąd, sądząc, że znalazłeś dobry model.

Adrian
źródło
1

Chcesz więc zidentyfikować zmienne niezależne, które mają wpływ na zmienną zależną?

Zatem oba twoje podejścia nie są tak naprawdę godne polecenia.

Po zdefiniowaniu pytania badawczego powinieneś rozwinąć swoją teorię. To znaczy, że korzystając z literatury, powinieneś zidentyfikować zmienne, które powinny mieć skutek (powinieneś być w stanie wyjaśnić przyczynę).

Peter Clark
źródło
6
Chociaż wydaje się, że pogląd ten jest w zgodzie z klasyczną koncepcją testów statystycznych (i dlatego trudno mi się z tym nie zgodzić), istnieje wiele współczesnych problemów, dla których jest to po prostu niewykonalne. Załóżmy na przykład, że chcesz sprawdzić, czy którykolwiek z 20 000 genów kodujących białko jest powiązany z nową dziedziczną chorobą. Nie ma tła, które by cię przygotowało, nie ma sposobu, aby „wymyślić teorię”, a EDA to jedyny sposób na rozpoczęcie. A jeśli masz wystarczającą ilość danych do EDA i analizy potwierdzającej, możesz gdzieś się dostać.
Cliff AB
3
„powinieneś rozwinąć swoją teorię” - to dobry pomysł, ale nie zawsze możliwy, szczególnie w branży. Czasami po prostu kontynuujesz prognozowanie, nie rozwijając żadnych teorii
Aksakal
1

Zastosowanie EDA do danych testowych jest nieprawidłowe.

Szkolenie to proces szukania poprawnych odpowiedzi w celu stworzenia najlepszego modelu. Ten proces nie ogranicza się tylko do uruchamiania kodu na danych szkoleniowych. Wykorzystywanie informacji z EDA w celu podjęcia decyzji, którego modelu użyć, w celu dostosowania parametrów itd. Jest częścią procesu szkolenia i dlatego nie powinno się zezwalać na dostęp do danych testowych. Aby być wiernym sobie, używaj danych testowych tylko do sprawdzania wydajności swojego modelu.

Ponadto, jeśli zdasz sobie sprawę, że model nie działa dobrze podczas testowania, a następnie wrócisz do dostosowywania modelu, to też nie jest dobrze. Zamiast tego podziel dane treningowe na dwa. Użyj jednego do treningu, a drugiego do przetestowania i ulepszenia swojego modelu (modeli). Zobacz Jaka jest różnica między zestawem testowym a zestawem sprawdzania poprawności?

tilish
źródło
0

Po akapicie tej odpowiedzi . Hastie wyjaśnia dalej str.245 :

„Oto poprawny sposób przeprowadzenia weryfikacji krzyżowej w tym przykładzie:

  1. Podziel próbki na losowo K fałd walidacji krzyżowej (grupy).
  2. Dla każdego złożenia k = 1, 2,. . . , K
    (a) Znajdź podzbiór „dobrych” predyktorów, które wykazują dość silną (jednoczynnikową) korelację z etykietami klas, używając wszystkich próbek oprócz tych z krotnie k.
    (b) Używając tylko tego podzbioru predyktorów, zbuduj wielowymiarowy klasyfikator, używając wszystkich próbek oprócz tych z krotnie k.
    (c) Użyj klasyfikatora, aby przewidzieć etykiety klas dla próbek w krotnie k. ”
użytkownik2672299
źródło
-3

Wykonujesz EDA dla całego zestawu danych. Na przykład, jeśli używasz weryfikacji krzyżowej z pominięciem jednego , jak zrobiłbyś EDA tylko na zbiorze danych szkoleniowych ? W tym przypadku każda obserwacja to trening i utrata umiejętności przynajmniej raz.

Więc nie, kształtujesz zrozumienie danych na całej próbce. Jeśli jesteś w konfiguracji przemysłowej, jest to jeszcze bardziej widoczne. Oczekuje się, że pokażesz trendy i ogólny opis danych interesariuszom w firmie i zrobisz to na całej próbie.

Aksakal
źródło