Table of Contents
Fetching ...

NonSysId: A nonlinear system identification package with improved model term selection for NARMAX models

Rajintha Gunawardena, Zi-Qiang Lang, Fei He

TL;DR

NonSysId, an open-sourced MATLAB software package designed for nonlinear system identification, specifically focusing on NARMAX models, is introduced, which incorporates an advanced term selection methodology that prioritises on simulation (free-run) accuracy while preserving model parsimony.

Abstract

System identification involves constructing mathematical models of dynamic systems using input-output data, enabling analysis and prediction of system behaviour in both time and frequency domains. This approach can model the entire system or capture specific dynamics within it. For meaningful analysis, it is essential for the model to accurately reflect the underlying system's behaviour. This paper introduces NonSysId, an open-sourced MATLAB software package designed for nonlinear system identification, specifically focusing on NARMAX models. The software incorporates an advanced term selection methodology that prioritises on simulation (free-run) accuracy while preserving model parsimony. A key feature is the integration of iterative Orthogonal Forward Regression (iOFR) with Predicted Residual Sum of Squares (PRESS) statistic-based term selection, facilitating robust model generalisation without the need for a separate validation dataset. Furthermore, techniques for reducing computational overheads are implemented. These features make NonSysId particularly suitable for real-time applications such as structural health monitoring, fault diagnosis, and biomedical signal processing, where it is a challenge to capture the signals under consistent conditions, resulting in limited or no validation data.

NonSysId: A nonlinear system identification package with improved model term selection for NARMAX models

TL;DR

NonSysId, an open-sourced MATLAB software package designed for nonlinear system identification, specifically focusing on NARMAX models, is introduced, which incorporates an advanced term selection methodology that prioritises on simulation (free-run) accuracy while preserving model parsimony.

Abstract

System identification involves constructing mathematical models of dynamic systems using input-output data, enabling analysis and prediction of system behaviour in both time and frequency domains. This approach can model the entire system or capture specific dynamics within it. For meaningful analysis, it is essential for the model to accurately reflect the underlying system's behaviour. This paper introduces NonSysId, an open-sourced MATLAB software package designed for nonlinear system identification, specifically focusing on NARMAX models. The software incorporates an advanced term selection methodology that prioritises on simulation (free-run) accuracy while preserving model parsimony. A key feature is the integration of iterative Orthogonal Forward Regression (iOFR) with Predicted Residual Sum of Squares (PRESS) statistic-based term selection, facilitating robust model generalisation without the need for a separate validation dataset. Furthermore, techniques for reducing computational overheads are implemented. These features make NonSysId particularly suitable for real-time applications such as structural health monitoring, fault diagnosis, and biomedical signal processing, where it is a challenge to capture the signals under consistent conditions, resulting in limited or no validation data.

Paper Structure

This paper contains 9 sections, 8 equations, 7 figures, 3 tables, 1 algorithm.

Figures (7)

  • Figure 1: This flowchart summarises the procedures for identifying a (N)ARX model using $\text{iOFR}_{S}$ as described in Algorithm \ref{['alg:NonSysId']}. The region shaded in brown represents the ARX model identification process, while the blue-shaded region highlights the NARX procedures.
  • Figure 2: Model identification results under input (a). The model simulation output $\hat{y}(t)$ is shown against the actual output $y(t)$ of the system given in Eq. \ref{['eq:NARX_eg']}. The input $u(t)$ to the system is a Gaussian white noise signal $u(t)\sim\mathcal{N}(0,1)$. Only the first 60 samples are used for identifying/training the model using $\text{iOFR}_{S}$ in the 'NonSysId' package. The variance of the error or model residuals in this case is $1.6018e^{-25}$
  • Figure 3: Model identification results under input (b). The model simulated output, $\hat{y}(t)$, is compared with the actual output, $y(t)$, as defined in Eq. \ref{['eq:NARX_eg']}. The input $u(t)$ to the system is a multi-tone sinusoidal signal given by $u(t) = 0.2( 4\sin{(\pi t)} + 1.2\sin{(4\pi t)} + 1.5\sin{(8\pi t)} + 0.5\sin{(6\pi t)} )$. In this case, the portion of $y(t)$ used for identification/training (yellow curve) is less informative compared to input (a), as fewer system dynamics are excited due to the limited frequency components in the input signal. Therefore, up to 200 samples are used for identifying the model using $\text{iOFR}_{S}$ in the 'NonSysId' package. The variance of the error or model residuals in this scenario is $8.2178e^{-18}$. Using fewer than 200 samples results a sub-optimal model, as insufficient data limits the ability to capture the system's dynamics effectively.
  • Figure 4: Model validation results for input (a). The red bounds indicate the tolerances the correlation function should stay within for the identified model to be unbiased.
  • Figure 5: Model validation results for input (b). The red bounds indicate the tolerances the correlation function should stay within for the identified model to be unbiased.
  • ...and 2 more figures