Простой алгоритм для обнаружения изолированной части онлайн универсального временного ряда

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

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

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

double outlier_detection(double* vector, double value);

где вектор является массивом двойных, содержащих исторические данные, и возвращаемое значение является счетом аномалии к новому демонстрационному "значению".

11
задан sth 2 August 2010 в 20:14
поделиться

1 ответ

Это большой и сложный вопрос, и ответ будет зависеть от (а) того, сколько усилий вы хотите вложить в это и (б) насколько эффективным будет ваше обнаружение выбросов. Одним из возможных подходов является адаптивная фильтрация , которая обычно используется для таких приложений, как наушники с шумоподавлением и т. Д. У вас есть фильтр, который постоянно адаптируется к входному сигналу, эффективно согласовывая его коэффициенты фильтра с гипотетической краткосрочной моделью источник сигнала, тем самым уменьшая выходную среднеквадратическую ошибку. Затем это дает вам выходной сигнал низкого уровня (остаточная ошибка) , за исключением , когда вы получаете выброс, который приведет к всплеску, который будет легко обнаружить (порог). Прочтите адаптивную фильтрацию , LMS-фильтры и т. Д., Если вы серьезно относитесь к такой технике.

9
ответ дан 3 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: