Преобразование 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, показывающий долю дисперсии, объяснённую моделью.