最小二乘法

http://blog.sina.com.cn/s/blog_4e3141320100btml.html


最小二乘法

最小二乘法(又稱最小平方法)是一种数学优化技术,它通过最小化误差的平方和找到一组数据的最佳函数匹配。

最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。

最小二乘法通常用于曲线拟合。很多其他的优化问题也可通过最小化能量或最大化用最小二乘形式表达。

开题

高斯

1801意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星,在40天的跟踪观测后,谷神星运行至太阳背后。皮亚齐失去了谷神星的位置。随后全世界的科学家通过皮亚齐的观测数据开始了寻找谷神星的行动。但是大多数的计算都没有结果,只有当时年仅24岁的高斯成功计算出了谷神星的轨道,奥地利天文学家海因里希·奥尔伯斯在高斯计算出的轨道上重新发现了谷神星,从此高斯闻名世界。他的这个最小二乘的方法发表在1809年的著作《天体运动论》中。法国科学家勒让德也于1806年独立发明最小二乘法。

1829年,高斯提供了这个方法较其它方法为优的证明:最小二乘法在很大方面上优化效果强于其它方法,被称为高斯-莫卡夫定理。

方法

人们往往对由某一变量t或多个变量f1……fn构成的相关变量y感兴趣。如弹簧形变与所用的力相关,一个企业的盈利与其营业额投资收益原始资本有关。为了得到这些变量同y之间的关系,便用不相关变量去构建y。尝试用如下函数模型

y_m = f(t_1,\dots, t_q;x_1,\dots,x_p),

q个相关变量或p个附加的相关变量去拟和。


通常人们将一个可能的、对不相关变量t的构成都无困难的函数类型充作函数模型(如抛物线函数或指数函数)。参数x是为了使所选择的函数模型同观测值y相匹配。(如在测量弹簧形变时,必须将所用的力与弹簧的膨胀系数联系起来)。其目标是合适地选择参数,使函数模型最好的拟合观测值。一般情况下,观测值远多於所选择的参数。

其次的问题是怎样判断不同拟合的质量。高斯勒让德的方法是,假设测量误差的平均值为0。令每一个测量误差对应一个变量并与其它测量误差不相关(随机无关)。人们假设,在测量误差中绝对不含系统误差,它们应该是纯偶然误差,围绕真值波动。除此之外,测量误差符合正态分布,这保证了偏差值在最后的结果y上忽略不计。

确定拟合的标准应该被重视,并小心选择,较大误差的测量值应被赋予较小的。并建立如下规则:被选择的参数,应该使算出的函数曲线与观测值之差的平方和最小。用函数表示为

 \min_{\vec{x}} { \sum_{i=1}^{n}(y_m - y_i)^2} .

欧几里德规则表达为:

 \min_{ \vec{x} } \| \vec{y}_{m} ( \vec{x} ) - \vec{y} \|_{2} \ .

最小化问题的精度,依赖于所选择的函数模型。

线性函数模型

典型的一类函数模型是线性函数模型。最简单的线性式是ym = x0 + x1t,写成行列式,为

 \min_{x_0,x_1}\left\|\begin{pmatrix}1 & t_1 \\ \vdots & \vdots \\ 1 & t_n \end{pmatrix} \begin{pmatrix} x_0\\ x_1\end{pmatrix} - \begin{pmatrix} y_1 \\ \vdots \\ y_{n}\end{pmatrix}\right\|_{2} = \min_x\|Ax-b\|_2.

直接给出该式的参数解:

x_1 = \frac{\sum_{i=1}^n t_iy_i - n \cdot \bar t \bar y}{\sum_{i=1}^n t_i^2- n \cdot (\bar t)^2} 和  x_0 = \bar y - x_1 \bar t

其中\bar t = \frac{1}{n} \sum_{i=1}^n t_i,为t值的算术平均值。也可解得如下形式:

x_1 = \frac{\sum_{i=1}^n (t_i - \bar t)(y_i - \bar y)}{\sum_{i=1}^n (t_i - \bar t)^2}

简单线性模型 y = x0 + x1t 的例子

随机选定10艘战舰,并分析它们的长度与宽度,寻找它们长度与宽度之间的关系。由下面的描点图可以直观地看出,一艘战舰的长度(t)与宽度(y)基本呈线性关系。

以下图表列出了各战舰的数据,随后步骤是采用最小二乘法确定两变量间的线性关系。

编号长度 (m)宽度 (m)ti tyi y      
itiyiti*yi*t*y*t*t*y*y*
1 208 21.6 40.2 3.19 128.238 1616.04 10.1761
2 152 15.5 -15.8 -2.91 45.978 249.64 8.4681
3 113 10.4 -54.8 -8.01 438.948 3003.04 64.1601
4 227 31.0 59.2 12.59 745.328 3504.64 158.5081
5 137 13.0 -30.8 -5.41 166.628 948.64 29.2681
6 238 32.4 70.2 13.99 982.098 4928.04 195.7201
7 178 19.0 10.2 0.59 6.018 104.04 0.3481
8 104 10.4 -63.8 -8.01 511.038 4070.44 64.1601
9 191 19.0 23.2 0.59 13.688 538.24 0.3481
10 130 11.8 -37.8 -6.61 249.858 1428.84 43.6921
总和(Σ)1678184.10.00.003287.82020391.60574.8490
10艘随机选择战舰的长、宽描点图


仿照上面给出的例子

\bar t = \frac {\sum_{i=1}^n t_i}{n} = \frac {1678}{10} = 167{.}8 并得到相应的\bar y = 18{.}41.

然后确定x1

x_1 = \frac{\sum_{i=1}^n (t_i- \bar {t})(y_i - \bar y)}{\sum_{i=1}^n (t_i- \bar t)^2}
 = \frac{3287{.}820} {20391{.}60} = 0{.}1612 \;,

可以看出,战舰的长度每变化1m,相对应的宽度便要变化16cm。并由下式得到常数项x0

x_0 = \bar y - x_1 \bar t = 18{.}41 - 0{.}1612 \cdot 167{.}8 = -8{.}6394 \;,

在这里随机理论不加阐述。可以看出点的拟合非常好,长度宽度的相关性大约为92%。

一般线性情况

若含有更多不相关模型变量t1,...,tq,可如组成线性函数的形式

y_m(t_1,\dots,t_q;x_0, x_1, \dots, x_q )= x_0 + x_1 t_1 + \cdots + x_q t_q

线性方程组

 \begin{matrix} x_0 + x_1 t_{11} + \cdots + x_j t_{1j}+ \cdots +x_q t_{1q} = y_1\ x_0 + x_1 t_{21} + \cdots + x_j t_{2j}+ \cdots +x_q t_{2q} = y_2\ \vdots \ x_0 + x_1 t_{i1} + \cdots + x_j t_{ij}+ \cdots +x_q t_{iq}= y_i\ \vdots\ x_0 + x_1 t_{n1} + \cdots + x_j t_{nj}+ \cdots +x_q t_{nq}= y_n \end{matrix}

通常人们将tij记作数据矩阵 A,参数xj记做参数矢量x,观测值yi记作b,则线性方程组又可写成:

 \begin{pmatrix} 1 & t_{11} & \cdots & t_{1j} \cdots & t_{1q}\ 1 & t_{21} & \cdots & t_{2j} \cdots & t_{2q}\ \vdots \ 1 & t_{i1} & \cdots & t_{ij} \cdots & t_{iq}\ \vdots\ 1 & t_{n1} & \cdots & t_{nj} \cdots & t_{nq} \end{pmatrix} \cdot \begin{pmatrix} x_0\ x_1\ x_2\ \vdots \ x_j\ \vdots\ x_q \end{pmatrix} = \begin{pmatrix} y_1\ y_2\ \vdots \ y_i\ \vdots\ y_n \end{pmatrix} 即  Ax = b

上述方程运用最小二乘法导出为线性平差计算的形式为:

\min_x\|Ax-b\|_2

最小化问题的解

外部链接


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值