主题:算法求教 -- 我不知道
共:💬22
复 算法求教
比如你有两个变量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 语句中就把所有的东西算完了。
- 相关回复 上下关系8
🙂算法求教 我不知道 字372 2009-03-16 07:14:55
🙂【原创】你既然已把数据导入sql,那最小二乘法就太容易了
🙂谢拉。 我不知道 字129 2009-03-27 09:55:31
🙂我觉得最好用少量数据在Excel验证算每个部件的值 瓦斯 字276 2009-03-27 10:14:24
🙂Exel就可以了 渔樵山人 字106 2009-03-19 23:15:03
🙂minitab 和 mathcad 都可用。 上课犯睏 字73 2009-03-19 16:58:08
🙂比较常用的,是SPSS 坐看风起云涌时 字62 2009-03-16 15:44:40
🙂看你用什么软件 龙驹坝 字48 2009-03-16 13:38:53