Знать, когда важны выбросы, и как моделировать их отдельно.

Выбросы бесполезны?

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

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

Когда выбросы полезны?

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

Однако выбросы могут быть значимыми. Это когда они тоже имеют определенный паттерн или частоту. Посмотрите на три точки данных в правом верхнем углу графика. Есть ли в нем определенный смысл?

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

Как мы моделируем выбросы?

В случае с наводнениями существует такое понятие, как период повторяемости. Это средний интервал времени, через который определенное событие повторится. Наводнение со 100-летним периодом повторяемости будет означать, что такое количество наводнений будет происходить каждые 100 лет. По мере того, как серьезность наводнения становится выше, увеличивается и период повторяемости. Данные, которые мы могли бы использовать, чтобы понять период повторяемости каждого наводнения, мы могли бы использовать данные об осадках.

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

Пики над порогом

Метод, который я собираюсь представить, называется «пики выше порога». Как видно из названия, метод разделяет значения, которые превышают определенный порог, и подгоняет распределение к этим точкам данных.

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

По этой причине мы выделяем только крайние точки данных для нашей модели. А распределение, отделенное от основного набора данных, называется «дочерним распределением».

Поскольку данные о дочернем распределении определяются в соответствии с порогом, для нас было бы крайне важно определить подходящий. Тогда, как мы устанавливаем порог? Есть ли критерии для этого? Не будет ли сложно моделировать на основе небольшого набора данных? Да, будет сложно найти распределение, потому что используется не так много точек данных, и они также имеют высокую дисперсию. Если только, с чего бы их называть аномалиями…

Подводя итог, вот шаги для пиков выше порога

  1. Установите порог для «вырезания» данных
  2. Поэкспериментируйте с различными параметрами, чтобы найти правильное распределение для дочернего распределения.
  3. Выполните бэктестинг, чтобы протестировать производительность

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

[1]Возвратный период — Википедия

[2] Авторский гитхаб (для графиков)