regr_r2:确定系数
速查结论
regr_r2(y, x) 是 Spark SQL 中用于**计算线性回归的确定系数(R-squared)**的聚合函数。
语法
regr_r2(y, x)
参数说明
| 参数 | 说明 |
|---|---|
| y | 因变量(dependent variable),数值类型 |
| x | 自变量(independent variable),数值类型 |
函数返回确定系数 R-squared,衡量回归模型对数据的拟合优度。取值范围通常为 [0, 1],值越接近 1 表示拟合越好。
示例
> SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);
0.2727272727272727
> SELECT regr_r2(y, x) FROM VALUES (1, null) AS tab(y, x);
NULL
> SELECT regr_r2(y, x) FROM VALUES (null, 1) AS tab(y, x);
NULL
> SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);
0.7500000000000001
> SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);
1.0
常见报错与避坑指南
- R-squared 为 1.0 不一定表示完美:当有效数据对为 2 时,回归线必然完美穿过这两点,R-squared 恒为 1.0,属统计假象。
- 浮点精度问题:由于浮点运算,返回值可能出现微小误差(如 0.7500000000000001),实际对比时建议使用一定容差。
Since: 3.3.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
