在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;



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