суббота, 7 января 2023 г.

How to quickly find anomalies in number series using the Hampel method

Translated from Russian. The original article is here:

In practice, there are issues for the solution of which it is required to find anomalies in the numerical series. For ease of understanding, we can assume that these are values that differ from most numbers in the series in some way (outlier, non-standard value, deviation from the norm). Such tasks are found in various areas:

  • cleaning of noisy data in Data Science;
  • outlier filtering in the training sample for neural networks in Machine Learning;
  • search for abnormal network hacker activity, while monitoring traffic and events in Cybersecurity;
  • detection of outliers or tails in the stock data stream in Algorithmic Trading;
  • as well as in any anomaly search tasks, where data can be presented as a numerical series.

The concepts of a number series in mathematical analysis and in statistics are different. We accept a numerical series as its statistical understanding, that is, a finite sequence of numbers (analogous to a sample). There are various interpretations of the anomaly in the numerical series. We will consider them further.

The article also shows examples of how to find anomalies quickly and efficiently in numerical series using the modified Hampel method (Hampel F.R.).

пятница, 6 января 2023 г.

Jupyter Notebook: теория и практика фильтрации данных методом Хампеля

Всем привет! Я сделал примеры с фильтрацией данных методом Хампеля в Jupyter Notebook, где можно поэкспериментировать с различными параметрами функции HampelFilter(). Показано применение этого фильтра для поиска аномальных выбросов в числовых рядах, полученных из биржевых цен. А также написал простой скрипт на Python, который можно запустить, и посмотреть, о чём идёт речь.

Эти примеры написаны для недавно опубликованной статьи: «Как быстро найти аномалии в числовых рядах с помощью метода Хампеля».

Поддержать проект: https://yoomoney.ru/to/410015019068268

PriceGenerator: release-1.3.81

Опубликован очередной релиз платформы PriceGenerator: v1.3.81. Рассмотрим основные изменения.

Дайджест

Внимание! Поддерживаемая версия Python не ниже 3.9.

Теперь можно добавлять кастомные линии (например, линии собственных индикаторов, рассчитанных заранее) и маркеры на основной график вместе с ценовыми свечами. Для этого используется метод RenderBokeh().

Появилась возможность задавать направления генерируемых трендов простыми словами: updownno или буквами: udn совместно с ключом --split-trend (в дополнение к уже существующей возможности указывать тренды символами /\-), например, --split-trend=up-down-no-up--split-trend=u-d-n-u.

Также можно выбирать тёмную или светлую темы для графиков, построенный через метод RenderBokeh(), при помощи нового параметра darkTheme (если True, то используется тёмная тема, иначе — светлая тема).

Пример графика со светлой темой и с дополнительными кастомными маркерами и новой линией:


Поддержать проект: https://yoomoney.ru/to/410015019068268