Преобразование regression

Преобразование regression ≥ 5.4 подбирает двумерные регрессионные модели для сглаживания данных и прогнозирования. Для разных групп входных данных могут строиться отдельные модели. На выходе получаются точки линий тренда либо объекты с параметрами моделей — по одному на группу.

Поддерживаются параметрические модели следующих видов:

  • линейная (linear): y = a + b * x
  • логарифмическая (log): y = a + b * log(x)
  • экспоненциальная (exp): y = a * eb * x
  • степенная (pow): y = a * xb
  • квадратичная (quad): y = a + b * x + c * x2
  • полиномиальная (poly): y = a + b * x + … + k * xorder

Все модели подбираются методом обычных наименьших квадратов. Для непараметрической локальной взвешенной регрессии см. преобразование loess.

Параметры преобразования

Свойство Тип Описание
x Field Обязательно. Поле с независимыми значениями, обычно соответствующее оси X.
y Field Обязательно. Поле с зависимыми значениями, обычно соответствующее оси Y.
groupby Field[ ] Поля для группировки. Если не заданы, все объекты данных образуют одну группу.
method String Тип модели: linear (по умолчанию), log, exp, pow, quad или poly.
order Number Порядок многочлена для метода poly.
extent Number[ ] Диапазон [min, max] по полю x, задающий начало и конец линии тренда.
params Boolean Возвращать ли параметры подобранной модели — один объект на группу — вместо точек линии тренда. Объекты содержат массив коэффициентов coef, начиная со свободного члена и далее по возрастанию степени, и rSquared — долю дисперсии, объяснённую моделью.
as String[ ] Имена выходных полей с независимыми и предсказанными значениями линии тренда. Если не заданы, используются имена полей параметров x и y.

Использование

Линейная регрессия

Подбирает линейную модель, предсказывающую поле iv по полю dv. Создаёт новый поток точек линии регрессии в диапазоне значений dv от −5 до 5:

{
  "type": "regression",
  "method": "linear",
  "x": "dv",
  "y": "iv",
  "extent": [-5, 5]
}

Полученные точки можно изобразить линейным примитивом.

Параметры модели

Подбирает полиномиальную модель четвёртого порядка, предсказывающую iv по dv, отдельно для каждого значения поля группировки key:

{
  "type": "regression",
  "method": "poly",
  "groupby": ["key"],
  "x": "dv",
  "y": "iv",
  "order": 4,
  "params": true
}

При params равном true вместо точек линии возвращается объект параметров модели для каждой группы: массив коэффициентов coef и коэффициент детерминации rSquared, показывающий долю дисперсии, объяснённую моделью.