Довольно-таки распространенной статистической задачей анализа ряда данных является поиск линейной регрессии. 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
Вообще коэффициенты линейной регрессии можно найти и аналитически с помощью метода наименьших квадратов по следующим уравнениям: