Вопрос или проблема
Я работаю над некоторыми алгоритмами для обнаружения аномалий.
Набор данных чистый от аномалий, поэтому я хочу добавить несколько искусственных аномалий.
Я добавил некоторые аномалии. Я получаю максимальное значение в наборе данных и добавляю 20-25%, то есть эти добавленные аномалии больше максимального значения на 20-25%.
Существуют ли другие типы аномалий, которые было бы неплохо иметь в наборе данных для алгоритма обнаружения аномалий?
Мой набор данных состоит из целых чисел и дробных значений.
Существует много вариантов. Вот несколько:
- Значения, которые очень высоки или очень низки.
- Значения, которые находятся на многих стандартных отклонениях от текущих распределений.
- Многомерные аномалии – комбинация значений по характеристикам является аномальной.
Ответ или решение
Для создания искусственных аномалий в вашем наборе данных и улучшения алгоритмов обнаружения аномалий вы можете рассмотреть несколько различных типов аномалий. Ниже приведены некоторые идеи, которые могут быть полезны:
-
Аномально высокие и низкие значения: Вы уже добавили аномалии, превышающие максимальные значения на 20-25%. Однако, стоит рассмотреть также создание аномальных значений, которые будут существенно ниже минимальных значений — это может помочь в выявлении случаев резкого падения.
-
Значения, отклоняющиеся на несколько стандартных отклонений: Для генерации аномалий вы можете вычислить среднее и стандартное отклонение вашего набора данных. Затем добавьте значения, находящиеся за пределами диапазона, например, значения, превышающие среднее на 3 стандартных отклонения или ниже среднего на 3 стандартных отклонения.
-
Мультивариантные аномалии: Аномалии могут возникать не только в рамках отдельных признаков, но и в сочетаниях различных признаков. Попробуйте создавать наборы значений, которые не соответствуют ожидаемым распределениям между несколькими переменными. Например, если два признака обычно имеют определенную корреляцию, создайте набор, где эта корреляция нарушена.
-
Шумовые аномалии: Добавьте случайный шум, который будет значительно превышать обычные колебания данных. Это могут быть случайные значения с нормальным распределением, но с гораздо большей дисперсией, чем у оригинальных данных.
-
Частотные аномалии: Рассмотрите возможность создания аномалий, которые происходят исключительно в определенные временные окна или интервалы. Например, если ваши данные представляют собой временные ряды, вы можете вставить внезапные "всплески" или провалы только в определенные дни или часы.
-
Аномалии с пропусками значений: Включите в набор данных записи с отсутствующими значениями или нулями там, где их не должно быть. Это может помочь в тестировании работы алгоритмов при работе с неполными данными.
-
Структурные аномалии: Создайте набор аномальных данных, которые изменяют структуру целого набора. Например, если ваш набор данных имеет определенные паттерны или группы, добавление значений, которые явно выходят за рамки этих паттернов, может помочь улучшить надежность ваших алгоритмов.
Учитывая все вышеперечисленные типы аномалий, вы сможете более разнообразно моделировать ситуации, которые могут возникнуть в реальных данных, и улучшить качество работы ваших алгоритмов обнаружения аномалий.