Лучше ли проводить анализ разведочных данных только на наборе обучающих данных?


15

Я делаю предварительный анализ данных (EDA) на наборе данных. Затем я выберу некоторые функции для прогнозирования зависимой переменной.

Вопрос в том,
должен ли я делать EDA только для своего набора данных для обучения? Или я должен объединить учебные и тестовые наборы данных, а затем выполнить EDA для них обоих и выбрать функции на основе этого анализа?

Ответы:


6

Я бы порекомендовал взглянуть на «7.10.2 Неправильный и правильный способ сделать перекрестную проверку» в http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf .

Авторы приводят пример, в котором кто-то делает следующее:

  1. Скрининг предикторов: найдите подмножество «хороших» предикторов, которые показывают довольно сильную (одномерную) корреляцию с метками классов
  2. Используя только это подмножество предикторов, создайте многомерный классификатор.
  3. Используйте перекрестную проверку для оценки неизвестных параметров настройки и оценки ошибки прогнозирования окончательной модели.

Это звучит очень похоже на выполнение EDA на всех (т.е. обучение плюс тестирование) ваших данных и использование EDA для выбора «хороших» предикторов.

Авторы объясняют, почему это проблематично: перекрестная проверка частоты ошибок будет искусственно низкой, что может ввести вас в заблуждение, заставив вас думать, что вы нашли хорошую модель.


1

Итак, вы хотите определить независимые переменные, которые влияют на вашу зависимую переменную?

Тогда оба ваших подхода на самом деле не очень рекомендуются.

После того, как вы определились со своим исследовательским вопросом, вы должны разработать свою теорию. То есть, используя литературу, вы должны определить переменные, которые должны оказать влияние (вы должны быть в состоянии объяснить причину).


6
Хотя эта точка зрения в глубине души согласуется с классической концепцией статистических тестов (и поэтому мне больно не соглашаться), существует множество современных проблем, с которыми это просто невозможно. Например, предположим, вы хотите увидеть, связан ли какой-либо из 20000 кодирующих белок генов с новым наследственным заболеванием. Там нет предыстории, которая подготовила бы вас, нет способа «выдвинуть теорию», и EDA - единственный способ начать. И если у вас есть достаточно данных для EDA и подтверждающего анализа, вы можете где-то получить.
Клифф А.Б.

3
«Вы должны развивать свою теорию» - это хорошая идея, но не всегда возможная, особенно в отрасли. Иногда вы просто продолжаете прогнозирование, не разрабатывая никаких теорий
Аксакал

1

Применение EDA на тестовых данных неверно.

Обучение - это процесс поиска правильных ответов для создания лучшей модели. Этот процесс не ограничивается только запуском кода на обучающих данных. Использование информации из EDA, чтобы решить, какую модель использовать, настроить параметры и т. Д. Является частью процесса обучения и, следовательно, не должен иметь доступа к тестовым данным. Поэтому, чтобы быть верным себе, используйте тестовые данные только для проверки производительности вашей модели.

Кроме того, если вы понимаете, что модель не работает хорошо во время тестирования, а затем вы возвращаетесь к настройке модели, это тоже не хорошо. Вместо этого разделите ваши тренировочные данные на две части. Используйте один для обучения, а другой для тестирования и настройки ваших моделей. См. В чем разница между набором тестов и набором валидации?


0

После абзаца этого ответа . Hastie далее объясняет с.245 :

«Вот правильный способ выполнить перекрестную проверку в этом примере:

  1. Разделите выборки на K перекрестных проверок (групп) случайным образом.
  2. Для каждого сгиба k = 1, 2,. , , , K
    (a) Найдите подмножество «хороших» предикторов, которые показывают довольно сильную (одномерную) корреляцию с метками классов, используя все выборки, кроме тех, что в сгибе k.
    (b) Используя только это подмножество предикторов, создайте многомерный классификатор, используя все выборки, кроме тех, которые в сгибе k.
    (c) Используйте классификатор, чтобы предсказать метки классов для образцов в сгибе k. "

-3

Вы делаете EDA на весь набор данных. Например, если вы используете несмываемый один выход перекрестной проверки, как бы вы EDA только на обучение набора данных? В этом случае каждое наблюдение тренируется и выдерживается хотя бы один раз.

Итак, нет, вы формируете свое понимание данных по всей выборке. Если вы находитесь в промышленной установке, это еще более очевидно. Ожидается, что вы покажете тенденции и общее описание данных заинтересованным сторонам в фирме, и вы сделаете это на всей выборке.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.