Обоснованно ли проводить разделение на обучающую и тестовую выборки на основе информации/энтропии?

Вопрос или проблема

Я хочу разделить свой временной ряд данных на обучающую и тестовую выборки. Данные имеют сезонный характер и очень шумные. Когда я случайным образом разделяю, тестовые и обучающие образцы не сходятся в своих распределениях. Иногда обучающие данные получают большую часть шумных/пиковых точек, а иногда эти точки попадают в тестовые данные. Могу ли я разделить данные на обучающие и тестовые, вычислив, сколько информации содержат два набора. Информацию можно количественно оценить, например, с помощью энтропии Шеннона или стандартного отклонения и т. д. Когда я пытался поискать литературу по этому вопросу, я не нашел никаких ссылок?

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

Чтобы преодолеть сезонность, существуют некоторые эффективные методы, например, X-13ARIMA-SEATS является хорошим методом для извлечения сезонности из временного ряда.

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

Наконец, как Альберт упомянул в комментариях, если вы делаете предсказание временных рядов, то лучше всего разделить данные по времени. Другими словами, n последовательных образцов будут вашими обучающими данными, а m последовательных образцов будут вашими тестовыми данными.

Очень немногие из этих сильно шумных рядов могут указывать на то, что они

  1. нежелательные выбросы; или
  2. аномалия, такая как сетевое вторжение в наборе данных сетевого трафика.

В случае 1 необходимо выяснить, почему они присутствуют, и использовать методы анализа выбросов. В случае 2 вы должны убедиться, что они представлены как в обучающем, так и в тестовом наборе.

Убедитесь, что у вас нет смещения выборки в вашем наборе данных. Различное отношение к этим образцам также может привести к мониторингу данных. Читайте больше здесь.

Ответ или решение

Разделение временных рядов на обучающие и тестовые наборы данных — это важный шаг в процессе моделирования, особенно когда данные являются сезонотными и очень шумными. Ваша идея использовать информационные метрики, такие как энтропия Шеннона, для выполнения этого разделения имеет свои плюсы и минусы, которые необходимо учитывать.

Проблемы случайного разделения данных

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

Энтропия и информация как критерии разделения

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

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

Альтернативный подход — временное разделение

Исходя из специфики временных рядов, более разумным подходом будет разделение данных на основе времени. Это значит, что вы должны взять первые n наблюдений как обучающий набор, а следующие m наблюдений как тестовый набор. Такой подход обеспечит логическое и последовательное разделение данных, что особенно важно при моделировании временных рядов.

Обработка шума и сезонности

Перед разделением данных также желательно выполнить предобработку, включая:

  1. Устранение шумов: Используйте методы сглаживания (например, скользящей средней) для уменьшения влияния шумов. Возможно, стоит изучить причины появления шумов и решить, что делать с выбросами.

  2. Коррекция сезонности: Методы, такие как X-13ARIMA-SEATS могут помочь в удалении сезонных колебаний, тем самым сделав данные более чистыми и полезными для моделирования.

Заключение

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

Рекомендации по лучшим практикам

  • Проведите тщательный анализ данных перед разделением.
  • Используйте временные метрики для разделения.
  • Устраняйте шум и корректируйте сезонные изменения при необходимости.

Подходите к процессу анализа временных рядов с осторожностью, чтобы избежать потерь в качестве модели и предоставленных на выходе результатов.

Оцените материал
Добавить комментарий

Капча загружается...