最小二乘法 和 卡爾曼濾波 BY AI

redufa發表於2024-11-21

遞推最小二乘法(Recursive Least Squares, RLS)是一種自適應濾波演算法,用於線上估計動態系統的引數。它透過最小化誤差平方和來更新引數估計值,而不需要儲存歷史資料。帶遺忘因子的遞推最小二乘法(Recursive Least Squares with Forgetting Factor)是遞推最小二乘法的一種改進,透過引入遺忘因子來控制歷史資料的權重,使得歷史資料的重要性隨時間逐漸降低,從而克服資料飽和問題,並使模型能夠更好地適應當前資料的變化。

遞推最小二乘法(RLS)

遞推最小二乘法的基本思想是最小化預測誤差的加權平方和。給定線性迴歸模型:
[ z(k) = \varphi(k)^T \theta + v(k) ]
其中,( z(k) ) 是時刻 ( k ) 的輸出,( \varphi(k) ) 是時刻 ( k ) 的輸入向量,( \theta ) 是引數向量,( v(k) ) 是噪聲項,假設為高斯白噪聲。遞推最小二乘演算法的目標是最小化以下目標函式:
[ J(\theta) = \sum_{i=1}^k \lambda^{k-i} [z(i) - \varphi(i)^T \theta]^2 ]
其中,( \lambda ) 是遺忘因子,通常在 0 到 1 之間,用於控制歷史資料的權重。

帶遺忘因子的遞推最小二乘法

帶遺忘因子的遞推最小二乘法透過降低歷史觀測資料的權重,使得歷史資料的重要性隨時間的回溯而逐漸降低,削弱歷史觀測資料對引數估計結果的影響。這種方法可以總結為以下步驟:

  1. 更新誤差協方差矩陣 ( P(k) ):
    [ P(k) = \frac{1}{\lambda} \left( I - K(k) \varphi^T(k) \right) P(k-1) ]
  2. 更新引數估計 ( \hat{\theta}(k) ):
    [ \hat{\theta}(k) = \hat{\theta}(k-1) + K(k) \left( y(k) - \varphi^T(k) \hat{\theta}(k-1) \right) ]
  3. 計算增益 ( K(k) ):
    [ K(k) = \frac{P(k-1) \varphi(k)}{\lambda + \varphi^T(k) P(k-1) \varphi(k)} ]
    其中,( \hat{\theta} ) 為被辨識引數,( \varphi ) 為資料向量,( K ) 為增益,( P ) 為協方差。

透過引入遺忘因子,帶遺忘因子的遞推最小二乘法能夠適應資料的變化,同時避免資料飽和問題,使得模型更加靈活和準確。

最小二乘法和卡爾曼濾波之間存在一定的關係,可以從以下幾個方面來理解:

  1. 最小二乘法的基本原理:最小二乘法是一種數學最佳化技術,透過最小化誤差的平方和來尋找資料的最佳函式匹配。它常用於曲線擬合和其他一些最佳化問題。

  2. 卡爾曼濾波與最小二乘法的關係:卡爾曼濾波可以看作是最小二乘法的一種特殊情況。在最小二乘法中,假設每次測量的權重相同,但在實際應用中,這種假設並不總是合理的。因此,發展出了加權最小二乘法。卡爾曼濾波進一步考慮了系統內部變化,即利用過程模型對系統在下一時刻的狀態進行預測。

  3. 動態系統的狀態估計:最小二乘法主要用於處理已有資料樣本,而卡爾曼濾波則適用於實時地得到狀態量的估計。遞推最小二乘法能夠實時地估計時刻k時的狀態量,但主要適用於狀態量不變或變化很慢的情況。卡爾曼濾波則適用於狀態量隨時間變化的動態問題,如衛星定位、目標跟蹤等。

  4. 誤差分佈的假設:貝葉斯方法可以透過假設誤差分佈為正態分佈來推匯出最小二乘法和卡爾曼濾波,但這種推導限定了誤差分佈。最小二乘法不需要正態分佈的假設,只需要誤差均值為0,每次測量同方差且互不相關。

  5. 數學表達:在數學表達上,最小二乘法可以透過矩陣運算來求解,而卡爾曼濾波則在此基礎上加入了預測和更新步驟,以處理動態系統中的不確定性和變化。

綜上所述,卡爾曼濾波是最小二乘法在動態系統狀態估計領域的一個擴充套件和應用,它考慮了系統內部的變化和不確定性,適用於實時更新和預測狀態量。

相關文章