Oracle. Linear Regression

Довольно-таки распространенной статистической задачей анализа ряда данных является поиск линейной регрессии. Oracle предоставляет для данной цели ряд функций. Ниже приведен пример нахождения коэффициентов линейной регрессии y = kx + b:

with
  src(y, x) as (
    select 3, 0 from dual union all
    select 5, 1 from dual union all
    select 7, 2 from dual union all
    select 9, 3 from dual union all
    select 11, 4 from dual union all
    select 13, 5 from dual
  )

select 
  regr_slope(y, x) as k, 
  regr_intercept(y, x) as b 
from src

На выходе получим вот такую зависимость:

y = 2x + 3

Вообще коэффициенты линейной регрессии можно найти и аналитически с помощью метода наименьших квадратов по следующим уравнениям: