在oracle 通過sql實現一元線性迴歸方程

一元線性迴歸是指通過線來擬合空間中的點來表示自變量和因變量之間的關係。
如何在知道這些點的情況下通過計算得出這條直線,進而在知道自變量情況下算出因變量,是本篇文檔的目的。
首先來看下一元線性迴歸方程式及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;


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