程序员数学——最小二乘法,线性拟合(一)

1.在工程中经常会遇到这种问题,通过AD采集获得一组电压(电流)数据x0, x1, x2, …, xn,这些电压数据所对应的物理数据为y0, y1, y2, …, yn,即有如下对应关系

(x0,y0)

(x1,y1)

(x2,y2)

(xn,yn)

如何通过对这组已知数据的拟合,以得到其它点电压(电流)所对应的物理数据。

比如如何拟合下面这组数据

电压(mv

流量(ml/min

78.60

0.00

131.50

10.00

153.40

25.10

228.20

50.10

378.30

100.20

525.60

150.30

671.50

200.40

814.70

250.50

1567.20

501.00

2.概念

我们先说明几个相关概念

  • 残差:拟合值与物理值差的平方和

  • 导数:无限趋近0,即x+无限趋近于x时,如下极限存在,即为该点的导数,亦是该点斜率

 

  • 偏导数

设有函数关系y = f(x0, x1, x2, …, xn),将除了xii ∈(1 n))以外变量视为常数,对xi进行求导,即为xi的偏导数,记为

  • 极大值、极小值

对如上曲线研究可知,极大值、极小值只有可能出现在导数为0的位置,一般而言,极值点(极大值或极小值)只有可能出现在导数为0的位置、或边界点

 

如果是多元函数关系y = f(x0,x1, x2, …, xn),极值点为全部偏导数为0的点(x0,x1, x2, …, xn),即


      (i (0, n))

3.线性拟合

回到刚才的例子,我们通过对那些点的观察可知,他们非常接近于一条直线,因此我们用y = k * x + b进行拟合,本文所题的问题即化为求kb的问题

我们用“残差”来说明拟合的效果,残差越小说明拟合越好为了使残差最小,即求得参差的极小值

我们将yiy = k * x + bx为电压或电流值),yyi为对应物理值(如流量),带入残差表达式

为求s最小值,根据极大值极小值原理,s最小只有s的所有偏导数同时为0


     (1)

              (2)

(1)    式化简得

  (3)

(2)    式化简得

         (4)

联立(3)(4),即可求得kb值。

对于本文所举的例子,可求得k = 0.3388   b = -28.2

4.二阶拟合

如果发现所采集的数据符合y = a * x2 + b * x + c,我们同样可导出abc的表达式,它所对应的残差表达式为

 

abc分别求偏导数

    (1)

(2)

   (3)

(1)(2)(3)化简得

   (4)

   (5)

              (6)

联立(4)(5)(6)即可求得abc的值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值