直线拟合(最小二乘法)

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

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

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

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最小二乘法拟合直线c是通过最小二乘直线拟合算法得到的拟合结果。在该算法中,所有样本点都参与计算,包括离群点。拟合直线c的表达式可以通过矩阵乘积方法或直接代入公式得到。具体的计算步骤如下: 1. 使用矩阵乘积方法1: - 定义样本点的横坐标X和纵坐标Y。 - 计算样本点的个数N,横坐标的和Xsum,纵坐标的和Ysum,横坐标的平方和XXsum,横坐标和纵坐标的乘积和XYsum。 - 构建矩阵M和向量u,其中M的第一行为[Xsum, N],第二行为[XXsum, Xsum],u为[Ysum, XYsum]的转置。 - 计算向量v,v为M的逆矩阵与u的乘积。 - 最小二乘法拟合直线c的斜率k为v的第一个元素,截距b为v的第二个元素。 2. 使用矩阵乘积方法2: - 定义样本点的横坐标X和纵坐标Y。 - 构建矩阵A,A的第一列为X,第二列为全为1的列向量。 - 计算矩阵A的转置与Y的乘积,得到向量c。 - 最小二乘法拟合直线c的斜率k为c的第一个元素,截距b为c的第二个元素。 3. 直接代入公式: - 定义样本点的横坐标X和纵坐标Y。 - 计算样本点的均值Xmean和Ymean,横坐标和纵坐标的平方均值XXmean和XYmean。 - 最小二乘法拟合直线c的斜率k和截距b可以通过公式计算得到。 以上是最小二乘法拟合直线c的计算方法。请注意,这里的直线c是通过最小二乘直线拟合算法得到的拟合结果,与引用中的直线拟合算法结果有关。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值