在oracle 通过sql实现一元线性回归方程
2016-07-11 16:40 67人阅读 评论(0) 收藏 举报
一元线性回归是指通过线来拟合空间中的点来表示自变量和因变量之间的关系。
如何在知道这些点的情况下通过计算得出这条直线,进而在知道自变量情况下算出因变量,是本篇文档的目的。
首先来看下一元线性回归方程式及a,b值的公式推导。
2、将数据存放到excel中,并做散点图,趋势线,得出线性回归方程。以备做验证。
3、将数据存入到oracle中。
4、斜率方程为:
---求出斜率
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;
5、截距方程式为:---求出截距
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。
6、最后用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;