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

IQR

Алгоритм используется для определения аномалий в данных. IQR - это мера статистической дисперсии, равная разнице между 75-м и 25-м процентилями, IQR = Q3-Q1. Имеется возможность задавать другие перцентили в качестве межквартильного диапазона.

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

apply iqr 
      [range=<range>] 
      [with_centering=<with_centering>] 
      [with_scaling=<with_scaling>] 
from <features>

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

  • features — список полей, для которых требуется подсчитать IQR. Список задается перечислением, например: from field1 field2

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

  • with_centering - флаг для центровки данных относительно 50-го перцентиля, или Q2, перед масштабированием, задается строкой “true” / ”false”. Значение по умолчанию with_centering=true.
  • with_scaling - флаг масштабирования данных относительно межквартильного диапазона, задается строкой “true” / ”false”. Значение по умолчанию with_scaling=true. range - значения перцентилей для задания диапазона масштабирования, задаются дробными значениями в диапазоне [0; 1] через запятую. Значения по умолчанию [0.25; 0.75].

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

На демонстрационных данных с параметрами работы добывающих нефтяных скважин определим наличие аномалий в данных.

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

| fsget path=demo_train
| sample 0.1
| fields day, well, p_plast, p_collector, density, dynamic_level, engine_freq, pump_depth, active_power, water_percent, pump_on_off, debit
| where engine_freq>40 AND engine_freq<60
| apply iqr from debit
| fields - iqr
| head 100

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

  • Команда fsget загружает данные из хранилища признаков.
  • Команда sample 0.1 оставляет 10% от всех загруженных строк. Это сделано для ускорения обучения (всего в обучающей выборке более 40 000 строк).
  • Команда fields оставляет только поля с меткой времени, номером скважины, величиной добычи и поля, по которым будет проводиться обучение.
  • Команда where оставляет только те строки, где значение поля engine_freq находится в диапазоне от 40 до 60 (в этом поле указана частота работы погружного насоса, качающего нефть, она может быть только в этом диапазоне, остальные значения - ошибочные).
  • Команда apply применяет алгоритм к указанным полям.
  • Команда head 100 выводит первые 100 строк таблицы после обучения.

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

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

IQR

К началу