最近计算线性回归和指数回归的公式。把它整理出来,这样你就可以帮助别人,避免走弯路。
发现在线线性回归数据相当详细,但指数回归数据稀缺且具有误导性。
在线计算工具:
线性回归: https://mathcracker.com/zh/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92#results
指数回归:https://mathcracker.com/zh/%E6%8C%87%E6%95%B0%E5%9B%9E%E5%BD%92%E8%AE%A1%E7%AE%97%E5%99%A8
example:
x: 2,3,4,5,6,8,10,12,14,16
y: 15,20,25,30,35,45,60,80,80,110
线性公式:
Y = −1.4286+6.4286X
指数公式:
Y = 14.1588e^(0.1343X)
oracle实现
##线性回归
select round(exp(regr_intercept(y, x)), 4) intercept,
round(regr_slope(y, x), 4) slope
from (select x, ln(y) y from test_data_linear) tmp;
##指数回归
select round(exp(regr_intercept(y, x)), 4) intercept,
round(regr_slope(y, x), 4) slope
from (select x, ln(y) y from test_data_linear) tmp;
mysql实现:
##线性回归
SELECT
ROUND(avgy - slope * avgx, 4) intercept,
ROUND(slope, 4) slope
FROM
(SELECT
(sumXy - nAvgXy) / (sumPowerX - nPowerX) slope,
avgx,
avgy
FROM
(SELECT
SUM(X* Y) sumXy,
COUNT(1) * AVG(X) * AVG(Y) nAvgXy,
SUM(POWER(X, 2)) sumPowerX,
COUNT(1) * POWER(AVG(X), 2) nPowerX,
AVG(X) avgx,
AVG(Y) avgy
FROM
test_data_linear tmp
WHERE X IS NOT NULL
AND Y IS NOT NULL)tmp1)tmp2;
##指数回归
SELECT
ROUND(EXP(avgy - slope * avgx), 4) intercept,
ROUND(slope, 4) slope
FROM
(SELECT
(sumXy - nAvgXy) / (sumPowerX - nPowerX) slope,
avgx,
avgy
FROM
(SELECT
SUM(X* LN(Y)) sumXy,
COUNT(1) * AVG(X) * AVG(LN(Y)) nAvgXy,
SUM(POWER(X, 2)) sumPowerX,
COUNT(1) * POWER(AVG(X), 2) nPowerX,
AVG(X) avgx,
AVG(LN(Y)) avgy
FROM
test_data_linear tmp
WHERE X IS NOT NULL
AND Y IS NOT NULL)tmp1)tmp2;
线性回归公式:先求出b(斜率),再求出a(截距,y的平均数=a+b*x的平均数)
参考:https://zhidao.baidu.com/question/1821612913327566748.html?sort=11&rn=5&pn=0#wgt-answers
https://blog.csdn.net/liaomin416100569/article/details/84583784
指数回归公式:先对y求对数,以e或者10为底的对数。 将对数y、x,重新计算线性回归,得到截距以及斜率,最后得到指数回归方程式。
参考:[5.13.1]–指数曲线回归_网易视频[0]
https://jingyan.baidu.com/article/dca1fa6f901cd0b1a44052db.html
如果a(a>0,且a≠1)的b次幂等于N,即a^b=N,那么数b叫做以a为底N的对数,记作:logaN=b,其中a叫做对数的底数,N叫做真数。
https://baike.baidu.com/item/%E6%8C%87%E6%95%B0%E5%B9%82/12913066
一般地,在数学上我们把n个相同的因数a相乘的积记做a^n [1]。这种求几个相同因数的积的运算叫做乘方,乘方的结果叫做幂。在a^n中,a叫做底数,n叫做指数。a^n读作“a的n次方”或“a的n次幂“。
文章出处登录后可见!