什麼是 狀態空間模型(State Space Model)?

狀態空間模型是一種數學模型,用於描述系統隨時間演變的狀態。它包含狀態方程和觀測方程,廣泛應用於控制、預測和訊號處理。

核心概念

狀態空間模型 (State Space Model, SSM) 是一種描述系統隨時間演變的數學框架。它將系統的行為表示為一組一階微分方程(連續時間)或差分方程(離散時間),這些方程描述了系統的內部狀態如何隨時間變化,以及如何從這些狀態中產生觀測值。SSM 的核心在於將複雜的系統分解為更易於理解和建模的狀態變數,這些變數共同描述了系統的完整狀態。

一個典型的狀態空間模型由以下兩個主要方程組成:

  • 狀態方程 (State Equation): 描述了系統的狀態如何隨時間演變。它通常表示為:
    • x(t+1) = f(x(t), u(t), w(t)) (離散時間)
    • dx(t)/dt = f(x(t), u(t), w(t)) (連續時間) 其中,x(t) 是時間 t 的狀態向量,u(t) 是輸入向量,w(t) 是過程雜訊 (process noise),f 是一個函數,描述了狀態如何根據當前狀態、輸入和雜訊進行更新。
  • 觀測方程 (Observation Equation): 描述了如何從系統的狀態中產生觀測值。它通常表示為:
    • y(t) = h(x(t), v(t)) 其中,y(t) 是時間 t 的觀測向量,v(t) 是觀測雜訊 (observation noise),h 是一個函數,描述了如何根據狀態和雜訊產生觀測值。

狀態變數 (State Variables): 狀態變數是描述系統內部狀態的一組變數。它們的選擇對於模型的準確性和有效性至關重要。理想的狀態變數應該能夠完全描述系統的當前狀態,並且能夠預測系統的未來行為。

輸入 (Input): 輸入是影響系統狀態的外部因素。它們可以是控制訊號、外部干擾或其他任何可以影響系統行為的變數。

過程雜訊 (Process Noise): 過程雜訊表示狀態方程中未建模的隨機擾動。它反映了系統內部的不確定性和隨機性。

觀測雜訊 (Observation Noise): 觀測雜訊表示觀測方程中未建模的隨機擾動。它反映了測量過程中的不確定性和隨機性。

運作原理

狀態空間模型的運作原理基於以下步驟:

  1. 初始化: 首先,需要初始化系統的初始狀態 x(0)。這可以基於先驗知識或通過估計獲得。
  2. 狀態更新: 使用狀態方程根據當前狀態 x(t)、輸入 u(t) 和過程雜訊 w(t) 來更新下一個狀態 x(t+1)
  3. 觀測生成: 使用觀測方程根據當前狀態 x(t) 和觀測雜訊 v(t) 來生成觀測值 y(t)
  4. 估計與預測: 基於觀測值 y(t) 和模型,可以使用各種估計方法(例如卡爾曼濾波器)來估計系統的狀態 x(t),並預測系統的未來行為。

卡爾曼濾波器 (Kalman Filter): 卡爾曼濾波器是一種常用的狀態估計方法,它基於狀態空間模型和觀測值,遞迴地估計系統的狀態。它假設過程雜訊和觀測雜訊都是高斯分佈,並使用貝葉斯推斷來更新狀態估計。

擴展卡爾曼濾波器 (Extended Kalman Filter, EKF): 當狀態方程或觀測方程是非線性時,可以使用擴展卡爾曼濾波器。EKF 使用泰勒級數展開將非線性方程線性化,然後應用卡爾曼濾波器的原理。

無跡卡爾曼濾波器 (Unscented Kalman Filter, UKF): UKF 是另一種處理非線性狀態空間模型的濾波器。它使用無跡變換 (unscented transformation) 來近似非線性函數的概率分佈,避免了線性化過程,通常比 EKF 更準確。

實際應用

狀態空間模型在許多領域都有廣泛的應用,包括:

  • 控制工程: 用於設計和控制各種系統,例如飛行器、機器人、化工過程等。可以基於狀態空間模型設計控制器,以實現期望的系統性能。
  • 時間序列分析: 用於建模和預測時間序列數據,例如股票價格、天氣預報、經濟指標等。狀態空間模型可以捕捉時間序列數據的動態特性,並進行準確的預測。
  • 訊號處理: 用於濾波、降噪和訊號估計。卡爾曼濾波器是一種常用的訊號處理技術,它基於狀態空間模型來估計訊號的真實值。
  • 機器學習: 用於建模和預測序列數據,例如自然語言處理、語音辨識、影片分析等。遞迴神經網路 (RNN) 和長短期記憶網路 (LSTM) 可以被視為狀態空間模型的特殊形式。
  • 導航與定位: 用於估計移動物體的位置、速度和姿態。卡爾曼濾波器廣泛應用於全球定位系統 (GPS) 和慣性導航系統 (INS)。
  • 金融建模: 用於建模和預測金融市場的行為,例如股票價格、利率和匯率。狀態空間模型可以捕捉金融市場的動態特性,並進行風險管理和投資決策。

常見誤區

  • 狀態空間模型只能處理線性系統: 雖然線性狀態空間模型是最常見的,但非線性狀態空間模型也可以用於描述非線性系統。擴展卡爾曼濾波器 (EKF) 和無跡卡爾曼濾波器 (UKF) 是處理非線性狀態空間模型的常用方法。
  • 狀態空間模型需要精確的模型參數: 雖然精確的模型參數可以提高模型的準確性,但狀態空間模型也可以在模型參數不確定的情況下使用。卡爾曼濾波器可以通過遞迴地更新狀態估計和模型參數來適應模型的不確定性。
  • 狀態空間模型只能處理高斯雜訊: 雖然卡爾曼濾波器假設過程雜訊和觀測雜訊都是高斯分佈,但其他濾波器(例如粒子濾波器)可以處理非高斯雜訊。
  • 狀態空間模型很複雜: 雖然狀態空間模型的數學表達式可能看起來很複雜,但其基本原理是相對簡單的。理解狀態變數、狀態方程和觀測方程的概念是理解狀態空間模型的關鍵。
  • 狀態空間模型等同於時間序列模型: 雖然狀態空間模型可以用於時間序列分析,但它比傳統的時間序列模型更通用。狀態空間模型可以處理多變數系統、非線性系統和時變系統,而傳統的時間序列模型通常只適用於單變數線性時不變系統。

相關術語

常見問題

← 回到 狀態空間模型 快查頁

延伸學習

想看 狀態空間模型 的完整影片教學?前往 美第奇 AI 學院