在oracle中通过sql实现一元线性回归方程

来源:互联网 发布:4g网络覆盖不到怎么办 编辑:程序博客网 时间:2024/05/15 01:38
一元线性回归是通过拟合一条直线 来研究两个变量之间的关系,从而实现预测。
假设一组数据是价格和供给量的关系。在excel中画出散点图之后通过添加趋势线可以轻易得到一元线性回归方程式。

首先来看看看一元线性回归方程式,了解求a,b的公式,求误差的平方的和就是求上图中所有蓝色点到对应直线的距离的平方和。

1、将数据导入到oracle中并
并求斜率:
select ((regr_count(x, y) * sum(x * y) -       sum(x) * sum(a.y)) /       (regr_count(x, y) * sum(x * x) -       sum(x) * sum(x)))  from TTS_BI.TEMP_A a;





2、求截距:
select avg(y) -       avg(x) *      ((regr_count(x, y) * sum(x * y) -       sum(x) * sum(a.y)) /       (regr_count(x, y) * sum(x * x) -       sum(x) * sum(x)))  from TTS_BI.TEMP_A  a;



得出的结果与excel图上的结果相同,公式为 y = 6.4286x - 1.4286。
3、最后通过oracle自带函数求一元线性回归:
select regr_intercept(y, x) as inter,       regr_r2(y, x) as r2,       regr_slope(y, x) as slope  from TTS_BI.TEMP_A   a;



1 0
原创粉丝点击