直线拟合(最小二乘法)

直线方程:
y=ax+b y=ax+b y=ax+b
实验测试获得一组数据,记为:(xi,yi) (x_i, y_i)(xi,yi)
现需要根据测试数据,求直线方程参数a, b使得该直线最符合实验数据结果,即等价于问题:
mina,bΣ[yi−(axi+b)]2 \underset{a, b}{min} \Sigma[y_i - (ax_i + b)]^2 a,bminΣ[yi(axi+b)]2
记:
sum=Σ[yi−(axi+b)]2\Sigma[y_i - (ax_i + b)]^2Σ[yi(axi+b)]2
对a, b求导:
dsumda=Σ{−2xi[yi−(axi+b)]}=0 \frac{dsum}{da} = \Sigma\{-2x_i[y_i-(ax_i+b)]\} = 0 dadsum=Σ{2xi[yi(axi+b)]}=0
dsumdb=Σ{−2[yi−(axi+b)]}=0 \frac{dsum}{db}=\Sigma\{-2[y_i-(ax_i+b)]\} = 0 dbdsum=Σ{2[yi(axi+b)]}=0
从而解得:
a=nΣxiyi−ΣxiΣyinΣxi2−(Σxi)2 a = \frac{n\Sigma x_iy_i - \Sigma x_i \Sigma y_i}{n\Sigma x_i^2 - (\Sigma x_i)^2} a=nΣxi2(Σxi)2nΣxiyiΣxiΣyi
b=Σyi−aΣxin b = \frac{\Sigma y_i - a\Sigma x_i}{n} b=nΣyiaΣxi
其中,n为测试得到的数据总数。
nΣxi2−(Σxi)2=0n\Sigma x_i^2 - (\Sigma x_i)^2=0nΣxi2(Σxi)2=0时,直线斜率a为无穷大,不存在,此时,直线方程为:
x=(Σxi)/n x = (\Sigma x_i) / n x=(Σxi)/n

参考资料中对于a,b系数的结果弄反,故而重新梳理公式。

参考资料:
https://wenku.baidu.com/view/d4ede28a910ef12d2af9e7e1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值