wilsonrljr/sysidentpy

A Python Package For System Identification Using NARMAX Models

解決的問題

SysIdentPy 是為系統識別與時間序列預測而設計。它提供一個框架,可建構動態非線性模型,特別是 NARMAX 模型及其變體(例如 NARX、NAR、NARMA、NFIR、ARMAX、ARX 和 ARMA),讓使用者能從資料中對複雜的動態系統進行建模。

工作原理

此套件實作了多種模型結構選擇與參數估計技術。它使用基底函數(包括多項式、傅立葉與雙線性)來定義模型的非線性。支援多種結構選擇演算法,如 FROLS、MetaMSS 和 AOLS,以及超過 15 種參數估計方法。此外,它也與 PyTorch 整合以支援神經 NARX 模型,並可包裝 scikit-learn 與 CatBoost 等套件中的通用估計器。

適用對象

適用於從事動態系統、時間序列預測與非線性系統識別的研究人員與工程師,可作為 Matlab 的 System Identification Toolbox 等工具的開源替代方案。

主要特色

  • 多樣的模型類型:支援廣泛的 NARMAX 變體,包括 NARX、NAR 與 ARMAX。
  • 模型結構選擇:包含 FROLS 與 Orthogonal Floating Search 等先進演算法。
  • 神經網路整合:可使用 PyTorch 建構自訂神經 NARX 架構。
  • 靈活的基底函數:提供 8 種不同的基底函數以客製化非線性模型。
  • 廣泛的估計器支援:相容 scikit-learn 與 CatBoost 估計器。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案