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

一元线性回归是指通过线来拟合空间中的点来表示自变量和因变量之间的关系。
如何在知道这些点的情况下通过计算得出这条直线,进而在知道自变量情况下算出因变量,是本篇文档的目的。
首先来看下一元线性回归方程式及a,b值的公式推导。
在oracle 通过sql实现一元线性回归方程_第1张图片


2、将数据存放到excel中,并做散点图,趋势线,得出线性回归方程。以备做验证。

在oracle 通过sql实现一元线性回归方程_第2张图片
在oracle 通过sql实现一元线性回归方程_第3张图片
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;
在oracle 通过sql实现一元线性回归方程_第4张图片

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;
在oracle 通过sql实现一元线性回归方程_第5张图片
得出的结果与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;
在oracle 通过sql实现一元线性回归方程_第6张图片在oracle 通过sql实现一元线性回归方程_第7张图片

你可能感兴趣的:(oracle中数据分析)