Определение тренда
Команда для статистического определения наличия тренда в временном ряде. Основан на попарном сравнении элементов ряда и подсчете суммы разностей элементов.
Синтаксис команды
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
, в которой будет записан результат расчета алгоритма.
В результате выполнения запроса могут быть созданы дополнительные служебные поля с информацией об обученной модели или другими показателями.