pysib: A Python Toolbox for Linear System Identification with Dedicated Optimization

arXiv CS · · 2 min read · Engineering & Technology

Read research and analysis on pysib: A Python Toolbox for Linear System Identification with Dedicated Optimization published by ICANEWS, a global research journal for emerging researchers.

Key Takeaways

  • pysib implements a dedicated optimization strategy for SISO polynomial system identification.
  • The strategy includes ARX-based initialization, smoothed-gradient phase, incremental Gauss-Newton refinement, and filtered continuation.
  • On a moderate-noise OE benchmark, the strategy produced estimates more concentrated around true parameters than a general-purpose solver.
  • On a harder non-convex benchmark, filtered continuation increased the success rate from 60% to 100%.

Why This Matters

The provided dedicated optimization strategy and open-source toolbox offer a method to address challenges in parameter estimation for discrete-time polynomial input-output models where non-convex criteria can affect estimate quality.

Overview

This article introduces and documents pysib, an open-source Python toolbox designed for single-input, single-output (SISO) polynomial system identification. The focus of pysib is on discrete-time polynomial input-output models, encompassing types such as AutoRegressive eXogenous (ARX), AutoRegressive Moving Average eXogenous (ARMAX), Output-Error (OE), and Box-Jenkins (BJ).

Research Context

Estimates for OE, ARMAX, and BJ models, when derived using prediction-error methods, typically face a non-convex finite-sample criterion. This non-convexity implies that the obtained estimate is influenced by the initialization process and the specific optimization procedure utilized, rather than being solely determined by asymptotic theory. The optimization strategy employed in pysib, enabling the filtered-continuation results previously reported by the author, includes specific elements, but had not been previously described or publicly released.

Approach

The pysib toolbox implements a specific dedicated optimization strategy for polynomial system identification. This strategy consists of several sequential phases:

  • ARX-based initialization: The process begins with an initialization step derived from an ARX model.
  • Smoothed-gradient phase: Following initialization, a smoothed-gradient phase is applied.
  • Incremental Gauss–Newton refinement: This phase provides further refinement to the estimates.
  • Filtered continuation: Interpreted as a cost-function shaping technique, this step is integrated into the strategy.

The toolbox provides a common five-polynomial representation for the models. It also includes shared prediction and simulation routines. For reproducibility, the accompanying scripts and archived release necessary to replicate the experiments discussed are provided.

Findings

The implemented optimization strategy within pysib yielded specific results on identified benchmarks:

  • On a moderate-noise OE benchmark, the strategy produced estimates that were observed to be more concentrated around the true parameters. This outcome was in comparison to results obtained from using a general-purpose nonlinear programming solver.
  • For a harder, non-convex benchmark, the application of filtered continuation resulted in an increase in the success rate. The success rate rose from 60% to 100% in this specific scenario.

Potential Applications

The release of pysib as open-source Python software aims to provide researchers and practitioners with a dedicated tool for linear system identification problems, particularly those involving discrete-time polynomial input-output models where non-convex optimization is a factor.

Research Information

Institution
arXiv CS
Original Study
View Publication
Source
arXiv CS

About ICANEWS

ICANEWS is a global research journal for emerging researchers, publishing student and emerging researcher work across all fields.