1、概述
最小二乘法是曲線擬合的常用方法,使用該方法對匹配函數的選取非常重要。
2、理論
y=a0+a1∗x+a2∗x2+...+am∗xm
其中,m代表多項式的階數。
- 離散點與該多項式的平方和F(a0,a1,,am)爲,其中n代表採樣點數:
F(a0,a1,,am)=i=0∑n[yi−(a0+a1∗xi+a2∗xi2+...+am∗xim)]2
- 最小二乘法的思想是求平方和函數F(a0,a1,,am)的最小值,而對於二次方程求最小值的問題,常見的思路就是對方程求導,倒數爲零的點,及爲方程的極值點。
- 下面對F(a0,a1,,am)分別求ai偏導數,得:
−2i=0∑n[yi−(a0+a1∗xi+a2∗xi2+...+am∗xim)]=0−2i=0∑n[yi−(a0+a1∗xi+a2∗xi2+...+am∗xim)]xi=0−2i=0∑n[yi−(a0+a1∗xi+a2∗xi2+...+am∗xim)]xi2=0…−2i=0∑n[yi−(a0+a1∗xi+a2∗xi2+...+am∗xim)]xim=0
- 整理得
a0i=0∑n+a1i=0∑nxi+a2i=0∑nxi2+...+ami=0∑nxim=i=0∑nyia0i=0∑nxi+a1i=0∑nxi2+a2i=0∑nxi3+...+ami=0∑nxim+1=i=0∑nyixi…a0i=0∑nxim+a1i=0∑nxim+1+a2i=0∑nxim+2+...+ami=0∑nxi2m=i=0∑nyixim
- 使用矩陣形式表示爲:
⎣⎢⎢⎢⎢⎡∑i=0n∑i=0nxi∑i=0nxi2…∑i=0nxim∑i=0nxi∑i=0nxi2∑i=0nxi3…∑i=0nxim+1∑i=0nxi2∑i=0nxi3∑i=0nxi4…∑i=0nxim+2……………∑i=0nxim∑i=0nxim+1∑i=0nxim+2…∑i=0nxi2m⎦⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎡a0a1a2…am⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡∑i=0nyi∑i=0nyixi∑i=0nyixi2…∑i=0nyixim⎦⎥⎥⎥⎥⎤
- 下面就是求解一次線性方程,常用的方法是使用高斯消元法,也可以使用求矩陣的秩或者求解逆矩陣等方式求解。
3、高斯消元法求解線性方程
3.1、原則
- 兩個方程互換解不變
- 一個方程乘以非零K,解不變
- 一個方程乘以非零K,加上另一個方程解不變
3.2、一階線性函數
假設多項式得階數m爲2,則上述矩陣方程爲:
[∑i=0n∑i=0nxi∑i=0nxi∑i=0nxi2][a0a1]=[∑i=0nyi∑i=0nyixi]
寫成行列式的形式爲:
∣∣∣∣∑i=0n∑i=0nxi∑i=0nxi∑i=0nxi2∑i=0nyi∑i=0nyixi∣∣∣∣
第一行乘以係數∑i=0n,第二行乘以係數∑i=0nxi
∣∣∣∣∣∣11∑i=0n∑i=0nxi∑i=0nxi∑i=0nxi2∑i=0n∑i=0nyi∑i=0nxi∑i=0nyixi∣∣∣∣∣∣
第二行減去第一行得
∣∣∣∣∣∣10∑i=0n∑i=0nxi∑i=0nxi∑i=0nxi2−∑i=0n∑i=0nxi∑i=0n∑i=0nyi∑i=0nxi∑i=0nyixi−∑i=0n∑i=0nyi∣∣∣∣∣∣
通過上式可得a1爲
a1=∑i=0nxi∑i=0nxi2−∑i=0n∑i=0nxi∑i=0nxi∑i=0nyixi−∑i=0n∑i=0nyi=∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi∑i=0nyixi∗∑i=0n−∑i=0nyi∗∑i=0nxi
同理將a1回代入得:
a0=∑i=0n∑i=0nyi−(∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi)∗∑i=0n(∑i=0nyixi∗∑i=0n−∑i=0nyi∗∑i=0nxi)∗∑i=0nxi=(∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi)∗∑i=0n(∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi)∗∑i=0nyi−(∑i=0nyixi∗∑i=0n−∑i=0nyi∗∑i=0nxi)∗∑i=0nxi=(∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi)∗∑i=0n∑i=0nxi2∗∑i=0n∑i=0nyi−∑i=0nyixi∗∑i=0n∑i=0nxi=∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi∑i=0nxi2∑i=0nyi−∑i=0nyixi∑i=0nxi
故最終可得
a0=∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi∑i=0nxi2∑i=0nyi−∑i=0nyixi∑i=0nxi
a1=∑i=0nxi2∗∑i=0n−∑i=0nxi∗∑i=0nxi∑i=0nyixi∗∑i=0n−∑i=0nyi∗∑i=0nxi