最小二乘法
1.什么是最小二乘法
所謂的最小二乘法(generalized least squares)是一種數(shù)學優(yōu)化技術(shù),它通過最小化誤差的平方和找到一組數(shù)據(jù)的最佳函數(shù)匹配。 最小二乘法是用最簡的方法求得一些絕對不可知的真值,而令誤差平方之和為最小。 最小二乘法通常用于曲線擬合。很多其他的優(yōu)化問題也可通過最小化能量或最大化熵用最小二乘形式表達。
比如從最簡單的一次函數(shù)y=kx+b講起已知坐標軸上有些點(1.1,2.0),(2.1,3.2),(3,4.0),(4,6),(5.1,6.0),求經(jīng)過這些點的圖象的一次函數(shù)關(guān)系式。當然這條直線不可能經(jīng)過每一個點,我們只要做到5個點到這條直線的距離的平方和最小即可,這這就需要用到最小二乘法的思想.然后就用線性擬合來求。一般只用于建模。
2.最小二乘法歷史簡介
1801年,意大利天文學家朱賽普·皮亞齊發(fā)現(xiàn)了第一顆小行星谷神星。經(jīng)過40天的跟蹤觀測后,由于谷神星運行至太陽背后,使得皮亞齊失去了谷神星的位置。隨后全世界的科學家利用皮亞齊的觀測數(shù)據(jù)開始尋找谷神星,但是根據(jù)大多數(shù)人計算的結(jié)果來尋找谷神星都沒有結(jié)果。時年24歲的高斯也計算了谷神星的軌道。奧地利天文學家海因里?!W爾伯斯根據(jù)高斯計算出來的軌道重新發(fā)現(xiàn)了谷神星。
高斯使用的最小二乘法的方法發(fā)表于1809年他的著作《天體運動論》中。
法國科學家勒讓德于1806年獨立發(fā)現(xiàn)“最小二乘法”。但因不為時人所知而默默無聞。
勒讓德曾與高斯為誰最早創(chuàng)立最小二乘法原理發(fā)生爭執(zhí)。
1829年,高斯提供了最小二乘法的優(yōu)化效果強于其他方法的證明,因此被稱為高斯-莫卡夫定理。
3.最小二乘法-課題一
從前面的學習中, 我們知道最小二乘法可以用來處理一組數(shù)據(jù), 可以從一組測定的數(shù)據(jù)中尋求變量之間的依賴關(guān)系, 這種函數(shù)關(guān)系稱為經(jīng)驗公式. 本課題將介紹最小二乘法的精確定義及如何尋求 與 之間近似成線性關(guān)系時的經(jīng)驗公式. 假定實驗測得變量之間的 個數(shù)據(jù) , , …, , 則在 平面上, 可以得到 個點 , 這種圖形稱為“散點圖”, 從圖中可以粗略看出這些點大致散落在某直線近旁, 我們認為 與 之間近似為一線性函數(shù), 下面介紹求解步驟.
考慮函數(shù) , 其中 和 是待定常數(shù). 如果 在一直線上, 可以認為變量之間的關(guān)系為 . 但一般說來, 這些點不可能在同一直線上. 記 , 它反映了用直線 來描述 , 時, 計算值 與實際值 產(chǎn)生的偏差. 當然要求偏差越小越好, 但由于 可正可負, 因此不能認為總偏差 時, 函數(shù) 就很好地反映了變量之間的關(guān)系, 因為此時每個偏差的絕對值可能很大. 為了改進這一缺陷, 就考慮用 來代替 . 但是由于絕對值不易作解析運算, 因此, 進一步用 來度量總偏差. 因偏差的平方和最小可以保證每個偏差都不會很大. 于是問題歸結(jié)為確定 中的常數(shù) 和 , 使 為最小. 用這種方法確定系數(shù) , 的方法稱為最小二乘法.
由極值原理得 , 即
解此聯(lián)立方程得
(*)
問題 I 為研究某一化學反應過程中, 溫度 ℃)對產(chǎn)品得率 (%)的影響, 測得數(shù)據(jù)如下:
溫度 ℃)
100 110 120 130 140 150 160 170 180 190
得率 (%)
45 51 54 61 66 70 74 78 85 89
(1) 利用“ListPlot”函數(shù), 繪出數(shù)據(jù) 的散點圖(采用格式: ListPlot[{ , , …, }, Prolog->AbsolutePointSize[3]] );
(2) 利用“Line”函數(shù), 將散點連接起來, 注意觀察有何特征? (采用格式: Show[Graphics[Line[{ , , …, }]] , Axes->True ]) ;
(3) 根據(jù)公式(*), 利用“Apply”函數(shù)及集合的有關(guān)運算編寫一個小的程序, 求經(jīng)驗公式 ;
(程序編寫思路為: 任意給定兩個集合A (此處表示溫度)、B(此處表示得率), 由公式(*)可定義兩個二元函數(shù)(集合A和B為其變量)分別表示 和 . 集合A元素求和: Apply[Plus,A] 表示將加法施加到集合A上, 即各元素相加, 例如Apply[Plus,{1,2,3}]=6;Length[A]表示集合A 元素的個數(shù), 即為n; A.B表示兩集合元素相乘相加;A*B表示集合A與B元素對應相乘得到的新的集合.)
(4) 在同一張圖中顯示直線 及散點圖;
(5) 估計溫度為200時產(chǎn)品得率.
然而, 不少實際問題的觀測數(shù)據(jù) , , …, 的散點圖明顯地不能用線性關(guān)系來描敘, 但確實散落在某一曲線近旁, 這時可以根據(jù)散點圖的輪廓和實際經(jīng)驗, 選一條曲線來近似表達 與 的相互關(guān)系.
問題 II 下表是美國舊轎車價格的調(diào)查資料, 今以 表示轎車的使用年數(shù), (美元)表示相應的平均價格, 求 與 之間的關(guān)系.
使用年數(shù)
1 2 3 4 5 6 7 8 9 10
平均價格
2651 1943 1494 1087 765 538 484 290 226 204
(1) 利用“ListPlot”函數(shù)繪出數(shù)據(jù) 的散點圖, 注意觀察有何特征?
(2) 令 , 繪出數(shù)據(jù) 的散點圖, 注意觀察有何特征?
(3) 利用“Line”函數(shù), 將散點 連接起來, 說明有何特征?
(4) 利用最小二乘法, 求 與 之間的關(guān)系;
(5) 求 與 之間的關(guān)系;
(6) 在同一張圖中顯示散點圖 及 關(guān)于 的圖形.
4.思考與練習
1. 假設(shè)一組數(shù)據(jù) : , , …, 變量之間近似成線性關(guān)系, 試利用集合的有關(guān)運算, 編寫一簡單程序: 對于任意給定的數(shù)據(jù)集合 , 通過求解極值原理所包含的方程組, 不需要給出 、 計算的表達式, 立即得到 、 的值, 并就本課題 I /(3)進行實驗.
注: 利用Transpose函數(shù)可以得到數(shù)據(jù)A的第一個分量的集合, 命令格式為:
先求A的轉(zhuǎn)置, 然后取第一行元素, 即為數(shù)據(jù)A的第一個分量集合, 例如
(A即為矩陣 )
= (數(shù)據(jù)A的第一個分量集合)
= (數(shù)據(jù)A的第二個分量集合)
B-C表示集合B與C對應元素相減所得的集合, 如 = .
2. 最小二乘法在數(shù)學上稱為曲線擬合, 請使用擬合函數(shù)“Fit”重新計算 與 的值, 并與先前的結(jié)果作一比較.
注: Fit函數(shù)使用格式:
設(shè)變量為x, 對數(shù)據(jù)A進行線性擬合, 如對題1中的A擬合函數(shù)為: