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

一元线性回归是通过拟合一条直线 来研究两个变量之间的关系,从而实现预测。
假设一组数据是价格和供给量的关系。在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;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章