跳到主要内容

REGR_SLOPE

描述

REGR_SLOPE 函数用于计算线性回归方程中的斜率。它返回组内非空值对的单变量线性回归线的斜率。

语法

REGR_SLOPE(<y>, <x>)

参数

参数说明
<y>因变量,支持类型为 Double。
<x>自变量,支持类型为 Double。

返回值

返回 Double 类型的值,表示线性回归线的斜率。 如果没有行,或者只有包含空值的行,函数返回 NULL。

举例

-- setup
CREATE TABLE test_regr_slope (
`id` int,
`x` int,
`y` int
) DUPLICATE KEY (`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);

-- 插入示例数据
INSERT INTO test_regr_slope VALUES
(1, 18, 13),
(2, 14, 27),
(3, 12, 2),
(4, 5, 6),
(5, 10, 20);
SELECT REGR_SLOPE(y, x) FROM test_regr_slope;

计算 x 和 y 的线性回归截距。

+--------------------+
| REGR_SLOPE(y, x) |
+--------------------+
| 0.6853448275862069 |
+--------------------+
SELECT REGR_SLOPE(y, x) FROM test_regr_slope where x>100;

组内没有数据时,返回 NULL 。

+------------------+
| REGR_SLOPE(y, x) |
+------------------+
| NULL |
+------------------+