跳转到正文

SysIdentPy

Wilson Rocha Lacerda Junior

SysIdentPy 是一个 Python 工具包,用于通过 NARMAX 系列模型识别非线性动态系统,涵盖结构选择、参数估计、仿真和预测。

条目更新 ·

概览

SysIdentPy 是一个 Python 系统辨识工具包,可根据时间序列数据构建非线性动态模型。其核心框架是 NARMAX,包含 NARX、NAR、NFIR、ARX 和 ARMA 等变体。它提供的是建模工作流,而非预训练预测器:用户可针对自己的数据选择滞后设置、基函数、模型选择方法和估计器。该软件包基于 NumPy 构建,声明的依赖项还包括 SciPy 和 Matplotlib。

所提供的示例将训练输入和输出数组传入模型拟合,再使用验证数组生成预测。一个多项式 NARX 示例结合了 FROLS 结构选择和最小二乘估计,并报告所选回归项、估计参数和误差降低比。其他演示路径则在 NARX 配置中使用自定义 PyTorch 神经网络或 CatBoost 估计器。预测图、相对平方误差平方根以及残差相关性工具可用于评估拟合模型。

除拟合外,SysIdentPy 还提供 SimulateNARMAX,用于研究指定模型,并支持利用仿射信息进行多目标参数估计。这些功能使其适用于评估动态过程模型和非线性预测方法,但所提供的示例并未证明它适用于任何特定化学过程或实际部署。数组 API 分发明确属于实验性功能,且需选择启用:非 NumPy 后端的一步预测可以保持在原生后端执行,而顺序预测目前会先回退到 CPU 上的 NumPy,再将结果转换回来。神经网络路径需要 PyTorch,而软件包元数据将其列为可选依赖项。

主要功能

  • 构建 NARMAX 系列模型,包括 NARX、NAR、NARMA、NFIR、ARMA 和 ARX,并支持配置输入和输出滞后。
  • 使用 FROLS、MetaMSS、AOLS、UOFR、Entropic Regression 和 Orthogonal Floating Search 等方法选择模型项。
  • 提供线性和非线性基函数、超过 15 种参数估计方法,以及利用仿射信息进行的多目标估计。
  • 支持自定义 PyTorch 神经 NARX 架构和兼容的外部估计器,并提供 CatBoost NARX 示例。
  • 提供 SimulateNARMAX、预测指标、模型项显示、预测图和残差相关性工具。
  • 为受支持的选择算法、仿真、指标、实用工具以及 Polynomial、Fourier 和 Bilinear 基函数提供实验性的数组 API 分发,并记录了顺序预测回退行为。

使用场景

  • 评估用途:对记录的过程测量数据拟合非线性输入–输出模型,并评估其预测和残差相关性,再考虑将其用于过程控制。
  • 评估用途:在相同的训练和验证时间序列上比较多项式 NARX、神经 NARX 和基于外部估计器的 NARX 方法。
  • 评估用途:使用 SimulateNARMAX 研究已发表的 NARMAX 模型,并比较不同的参数估计方法。

使用方式

  1. 阅读安装指南,并查看所提供的软件包元数据,了解 Python 和依赖项要求。评估神经 NARX 时,请包含 PyTorch;外部估计器示例可能需要其他软件包。

  2. 按照快速入门指南了解输入和输出数组、滞后设置以及训练/验证工作流。在将其用于过程测量数据之前,先从所提供的模拟数据示例入手。

  3. 使用仓库示例选择建模路径。多项式示例结合了 FROLS、Polynomial 和 LeastSquares;其他示例则展示了 NARXNN 和基于 CatBoost 的 NARX。

  4. 使用训练数据拟合模型,并在验证数据上进行预测。查看可用的所选项和参数,然后使用文档所述的工具评估预测图、相对平方误差平方根和残差相关性。

  5. 如果要评估其他数组后端,请先参阅数组 API 分发指南。区分原生后端执行的一步预测与使用文档所述 NumPy/CPU 回退的顺序预测。

相关资源

do-mpc

开源工具

do-mpc 是一个 Python 工具箱,用于非线性和鲁棒模型预测控制、移动时域估计及仿真,并支持微分代数模型和不确定性。

开源Python

过程控制 · 数字孪生

GEKKO

开源工具

GEKKO 是一个用于微分代数系统的 Python 建模与优化工具包,支持过程模拟、参数估计、混合整数优化和非线性预测控制。

开源Python

工艺优化 · 过程控制

PySINDy

开源工具

PySINDy 是一个 Python 软件包,可使用稀疏系统辨识从测量数据推断动力学方程,并可选用优化方法进行受约束回归和贝叶斯回归。

开源Python

过程控制 · 数字孪生

相关指南

工作流

评估化学工程中的 AI 工作流

规划评估方案,将过程建模、反应优化和控制区分开来。在考虑用于实际运行之前,先定义输入、运行限制、考虑时间因素的验证方式和审批关卡。