直线方程:
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Σyi−aΣ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