Функции временных рядов

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

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL. Ознакомиться с актуальным списком функций и их поведением можно в официальном репозитории ClickHouse, выбрав нужную версию из веток. Например: список функций временных рядов для ClickHouse 24.7.

Table 1. Функции временных рядов
Функция Описание

seriesOutliersDetectTukey(series, [min_percentile, max_percentile, K])

Обнаруживает выбросы в данных временных рядов, используя ограды Тьюки. Принимает массив числовых значений series, минимальный и максимальный процентили min_percentile и max_percentile для расчета межквартильного размаха (IQR) и константу K для обнаружения умеренных или более сильных выбросов. По умолчанию min_percentile = 0.25, max_percentile = 0.75, K = 1.5. Требуется минимум четыре точки данных в series для обнаружения выбросов. Возвращает массив той же длины, что и входной, где каждое значение представляет собой оценку возможной аномалии соответствующего элемента в ряду.

seriesPeriodDetectFFT(series)

Находит период данных временного ряда с использованием быстрого преобразования Фурье (FFT). Принимает массив числовых значений series. Возвращает действительное значение, равное периоду данных временного ряда, или NAN, если количество точек данных меньше четырех.

seriesDecomposeSTL(series, period)

Декомпозиция временного ряда на сезонную, трендовую и остаточную компоненты с использованием STL (Seasonal and Trend decomposition using Loess). Принимает массив числовых значений series и положительное целое число period, указывающее период временного ряда. Количество точек данных в series должно быть как минимум в два раза больше значения period. Возвращает массив из четырех массивов, где первый массив включает сезонные компоненты, второй — тренд, третий — остаточную компоненту, и четвертый — базовую компоненту (сезонная + тренд).