最小二乘法

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 - t yi - y      
i ti yi ti* 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
總和(Σ) 1678 184.1 0.0 0.00 3287.820 20391.60 574.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

最小化問題的解

外部鏈接


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章