Последнее обновление
REGR_R2
Описание
Возвращает коэффициент детерминации линейной регрессии, вычисленной по парам (y, x) без значений NULL в группе, где x является независимой переменной, а y является зависимой переменной.
Синтаксис
REGR_R2(<y>, <x>)
Параметры
| Параметр | Описание |
|---|---|
<y> | Зависимая переменная. Поддерживаемый тип: Double. |
<x> | Независимая переменная. Поддерживаемый тип: Double. |
Возвращаемое значение
Возвращает значение типа Double, представляющее коэффициент детерминации (R-squared).
- Если
REGR_COUNT(y, x) < 1, функция возвращаетNULL. - Если
VAR_POP(x) = 0, функция возвращаетNULL. - Если
VAR_POP(y) = 0, функция возвращает1. - В остальных случаях функция возвращает
POWER(CORR(y, x), 2).
Пример
CREATE TABLE test_regr (
`id` int,
`x` double,
`y` double
) DUPLICATE KEY (`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
INSERT INTO test_regr VALUES
(1, 0, NULL),
(2, 1, 3),
(2, 2, 5),
(2, 3, 7),
(2, 4, 9),
(2, 5, NULL),
(3, 1, 5),
(3, 1, 7),
(4, 1, 5),
(4, 2, 5);
SELECT id, REGR_R2(y, x) FROM test_regr GROUP BY id ORDER BY id;
+------+---------------------+
| id | REGR_R2(y, x) |
+------+---------------------+
| 1 | NULL |
| 2 | 1.0 |
| 3 | NULL |
| 4 | 1.0 |
+------+---------------------+
Группа 3 иллюстрирует случай VAR_POP(x) = 0, поэтому результат равен NULL, а группа 4 иллюстрирует случай VAR_POP(y) = 0, поэтому результат равен 1.0.