Перейти к содержанию

Определение тренда

Команда для статистического определения наличия тренда в временном ряде. Основан на попарном сравнении элементов ряда и подсчете суммы разностей элементов.

Синтаксис команды

apply trend_detection 
    [by=<by>] 
    [order=<order>] 
    [window=<window>] 
    [alpha=<alpha>] 
    [eps=<eps>]
from <target>

Обязательные параметры:

  • target — поле, для которого определяется тренд

Опциональные параметры:

  • by - название поля или нескольких полей, по которым будут группироваться объекты в датасете, задается строкой. По умолчанию объекты не группируются.
  • order - название поля, задающее ось времени при определении тренда
  • window - включение режима скользящего окна. Принимает либо целые значения, либо продолжительность в единицах времени (например, 1h, 4sec, 7w)
  • alpha - уровень значимости принятия гипотезы о наличии тренда (по умолчанию 0.05)
  • eps - минимальный уровень разницы между двумя значениями ряда, при котором значения считаются разными. Например, при eps=0.01 два числа 31.2 и 31.3 считаются разными, а при eps=0.5 одинаковыми (по умолчанию eps=0.01)

Пример использования

На демонстрационных данных, содержащих давления, создаваемые на нагнетательных нефтяных скважинах, определим наличие тренда в значениях среднего давления на кусте 4, ВРБ 2.

Текст запроса

| fsget path=demo_press | where __pad_num=4 and __vrb_num=2 | apply trend_detection order=_time from avg_value_h | table _time, avg_value_h, trend

Описание запроса

  • Команда fsget загружает данные из хранилища признаков.
  • Команда where выводит данные только по кусту номер 4
  • Команда apply применяет алгоритм к указанным полям, ось времени задается по полю _time.

Результат запроса

После выполнения запроса будет создана дополнительная колонка trend, в которой будет записан результат расчета алгоритма. В результате выполнения запроса могут быть созданы дополнительные служебные поля с информацией об обученной модели или другими показателями.

Trend detection

К началу