西西河

主题:算法求教 -- 我不知道

共:💬22 新:
全看树展主题 · 分页首页 上页
/ 2
下页 末页
家园 你用Excel就可以了

选择添加趋势线

相关系数也会给你

家园 minitab 和 mathcad 都可用。

好处是,教学帮助功能很强。

即使某些东西时间长忘记了,也能帮你复习起来。

家园 先做模型

把有效数据的各种因素明确,不要为了回归而回归,一点要有模型。即回归出来的系数要有明确的量纲或明确的应用意义。

对n种情况做n次回归分析。然后把n个(组)系数取平均。可以加权,是n次权重是否一样而定。

家园 Exel就可以了

先做个线性图然后做个线性Trendline。在trendline里,有个选项是show trendline equation.选了后,就可以看到了。

家园 【原创】你既然已把数据导入sql,那最小二乘法就太容易了

比如你有两个变量x和y,共有m对这样的数据,要建立的方程是 y=a+bx

需要获得a和b的估计值,以及一个相关系数r。

那么,根据最小二乘法,

b = [∑Xi Yi - (∑Xi ∑Yi)/ m] / [∑Xi^2 - (∑Xi)^2 / m)]

a = ∑Yi / m - b ∑Xi / m

r = [∑XiYi - m (∑Xi / m)(∑Yi / m)]/ SQR{[∑Xi^2 - m (∑Xi / m)^2][∑Yi^2 - m (∑Yi / m)^2]}

用sql计算公式中的几个部件,比用其他语言方便多了:

∑Xi就是select sum(x)

∑Yi就是select sum(y)

(∑Xi)^2就是 select sum(x*x)

(∑Yi)^2就是 select sum(y*y)

∑XiYi就是 select sum(x*y)

m就是select count(*)

你甚至可以在一个select 语句中就把所有的东西算完了。

关键词(Tags): #sql#最小二乘法
家园 谢拉。

除了r都搞定了。我用的公式和你的一样。不知道为什么算出来的和这个网站的不一样。

http://www.shodor.org/unchem/math/lls/leastsq.html

家园 我觉得最好用少量数据在Excel验证算每个部件的值

这个网站,没有输出中间过程,所以你不知道你的命令哪里出了问题。

你可以把相同的少量数据同时输入到sql和Excel中,在Excel中可以很容易地算出每个部件(累加和)的值。可以用来与你sql中算出了量部件值进行比较,看到底哪那个地方有毛病。如果找一本用中间结果的教科书,也很容易比较出来。

全看树展主题 · 分页首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河