曆史
1801年,意大利天文學家朱賽普·皮亞齊發現了第一顆小行星谷神星。經過40天的跟蹤觀測後,由于谷神星運行至太陽背後,使得皮亞齊失去了谷神星的位置。随後全世界的科學家利用皮亞齊的觀測數據開始尋找谷神星,但是根據大多數人計算的結果來尋找谷神星都沒有結果。時年24歲的高斯也計算了谷神星的軌道。奧地利天文學家海因裡希·奧爾伯斯根據高斯計算出來的軌道重新發現了谷神星。
高斯使用的最小二乘法的方法發表于1809年他的着作《天體運動論》中。
法國科學家勒讓德于1806年獨立發明“最小二乘法”,但因不為世人所知而默默無聞。
勒讓德曾與高斯為誰最早創立最小二乘法原理發生争執。
1829年,高斯提供了最小二乘法的優化效果強于其他方法的證明,因此被稱為高斯-馬爾可夫定理。(來自于wikipedia)
原理
在我們研究兩個變量(x,y)之間的相互關系時,通常可以得到一系列成對的數據(x1,y1.x2,y2...xm,ym);将這些數據描繪在x-y直角坐标系中,若發現這些點在一條直線附近,可以令這條直線方程如(式1-1)。
其中:a0、a1是任意實數
為建立這直線方程就要确定a0和a1,應用《最小二乘法原理》,将實測值Yi與利用計算值Yj(Yj=a0+a1X)(式1-1)的離差(Yi-Yj)的平方和
最小為“優化判據”。
把(式1-1)代入(式1-2)中得:
當最小時,可用函數φ對a0、a1求偏導數,令這兩個偏導數等于零。
∑(a0+a1*Xi-Yi)=0(式1-4)
∑Xi(a0+a1*Xi-Yi)=0(式1-5)
亦即:
na0+(∑Xi)a1=∑Yi(式1-6)
(∑Xi)a0+(∑Xi^2)a1=∑(Xi*Yi)(式1-7)
得到的兩個關于a0、a1為未知數的兩個方程組,解這兩個方程組得出:
a0=(∑Yi)/n-a1(∑Xi)/n(式1-8)
a1=[n∑(XiYi)-(∑Xi∑Yi)]/[n∑(Xi^2)-(∑Xi)^2)](式1-9)
這時把a0、a1代入(式1-1)中,此時的(式1-1)就是我們回歸的一元線性方程即:數學模型。
在回歸過程中,回歸的關聯式不可能全部通過每個回歸數據點(x1,y1.x2,y2...xm,ym),為了判斷關聯式的好壞,可借助相關系數“R”,統計量“F”,剩餘标準偏差“S”進行判斷;“R”越趨近于1越好;“F”的絕對值越大越好;“S”越趨近于0越好。
R=[∑XiYi-m(∑Xi/m)(∑Yi/m)]/SQR{[∑Xi2-m(∑Xi/m)2][∑Yi2-m(∑Yi/m)2]}(式1-10)*
在(式1-10)中,m為樣本容量,即實驗次數;Xi、Yi分别為任意一組實驗數據X、Y的數值。
公式
最小二乘法公式
注:以下“平”是指某參數的算數平均值。如:X平——x的算術平均值。
1、∑(X--X平)(Y--Y平)=
∑(XY--X平Y--XY平+X平Y平)=
∑XY--X平∑Y--Y平∑X+nX平Y平=
∑XY--nX平Y平--nX平Y平+nX平Y平=∑XY--nX平Y平;
2、∑(X--X平)^2=
∑(X^2--2XX平+X平^2)=
∑X^2--2nX平^2+nX平^2=∑X^2--nX平^2;
3、Y=kX+b
k=((XY)平--X平*Y平)/((X^2)平--(X平)^2),
=Y平--kX平;
X平=1/n∑Xi,
(XY)平=1/n∑XiYi;
拟合
對給定數據點{(Xi,Yi)}(i=0,1,…,m),在取定的函數類Φ中,求p(x)∈Φ,使誤差的平方和E^2最小,E^2=∑[p(Xi)-Yi]^2。從幾何意義上講,就是尋求與給定點{(Xi,Yi)}(i=0,1,…,m)的距離平方和為最小的曲線y=p(x)。函數p(x)稱為拟合函數或最小二乘解,求拟合函數p(x)的方法稱為曲線拟合的最小二乘法。
最小二乘法的矩陣形式
最小二乘法的矩陣形式為:
其中為的矩陣,為的列向量,為的列向量。如果(方程的個數大于未知量的個數),這個方程系統稱為矛盾方程組(OverDeterminedSystem),如果(方程的個數小于未知量的個數),這個系統就是UnderDeterminedSystem。
正常來看,這個方程是沒有解的,但在數值計算領域,我們通常是計算,解出其中的。比較直觀的做法是求解,但通常比較低效。其中一種常見的解法是對進行QR分解(),其中是正交矩陣(OrthonormalMatrix),是上三角矩陣(UpperTriangularMatrix),則有用MATLAB命令可解得。
最小二乘法的Matlab實現
①一次函數線性拟合使用polyfit(x,y,1)
②多項式函數線性拟合使用polyfit(x,y,n),n為次數
拟合曲線
x=[0.5,1.0,1.5,2.0,2.5,3.0],
y=[1.75,2.45,3.81,4.80,7.00,8.60]。
解:MATLAB程序如下:
x=[0.5,1.0,1.5,2.0,2.5,3.0];
y=[1.75,2.45,3.81,4.80,7.00,8.60];
p=polyfit(x,y,2)
x1=0.5:0.5:3.0;
y1=polyval(p,x1);
plot(x,y,'*r',x1,y1,'-b')
計算結果為:
p=0.56140.82871.1560
即所得多項式為y=0.5614x^2+0.8287x+1.15560
③非線性函數使用
lsqcurvefit(fun,x0,x,y)
a=nlinfit(x,y,fun,b0)
最小二乘法在交通運輸學中的運用
交通發生預測的目的是建立分區産生的交通量與分區土地利用、社會經濟特征等變量之間的定量關系,推算規劃年各分區所産生的交通量。因為一次出行有兩個端點,所以我們要分别分析一個區生成的交通和吸引的交通。交通發生預測通常有兩種方法:回歸分析法和聚類分析法。
回歸分析法是根據對因變量與一個或多個自變量的統計分析,建立因變量和自變量的關系,最簡單的情況就是一元回歸分析,一般式為:Y=α+βX式中Y是因變量,X是自變量,α和β是回歸系數。若用上述公式預測小區的交通生成,則以下标i标記所有變量;如果用它研究分區交通吸引,則以下标j标記所有變量。而運用公式的過程中需要利用最小二乘法來求解,上述公式中的回歸系數根據最小二乘法可得:
其中,式中的X拔是規劃年的自變量值,Y拔是規劃年分區交通生成(或吸引)預測值。