關於oracle進行直線擬合----------太意外的收穫,不得不轉

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

2016-07-11 16:40 67人閱讀 評論(0) 收藏 舉報oracle

一元線性迴歸是指經過線來擬合空間中的點來表示自變量和因變量之間的關係。函數

如何在知道這些點的狀況下經過計算得出這條直線,進而在知道自變量狀況下算出因變量,是本篇文檔的目的。.net

首先來看下一元線性迴歸方程式及a,b值的公式推導。excel

二、將數據存放到excel中,並作散點圖,趨勢線,得出線性迴歸方程。以備作驗證。blog

三、將數據存入到oracle中。文檔

四、斜率方程爲:get

---求出斜率變量

select ((regr_count(x, y) * sum(x * y) -select

       sum(x) * sum(a.y)) /

       (regr_count(x, y) * sum(x * x) -

       sum(x) * sum(x)))

  from TTS_BI.TEMP_A a;

五、截距方程式爲:---求出截距

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。

六、最後用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;

相關文章
相關標籤/搜索