Project: nfoursid

Implementation of N4SID, Kalman filtering and state-space models

Project Details

Latest version
1.0.1
Home Page
https://github.com/spmvg/nfoursid
PyPI Page
https://pypi.org/project/nfoursid/

Project Popularity

PageRank
0.0032963898896887075
Number of downloads
79279

NFourSID

Implementation of the N4SID algorithm for subspace identification [1], together with Kalman filtering and state-space models.

State-space models are versatile models for representing multi-dimensional timeseries. As an example, the ARMAX(p, q, r)-models - AutoRegressive MovingAverage with eXogenous input - are included in the representation of state-space models. By extension, ARMA-, AR- and MA-models can be described, too. The numerical implementations are based on [2].

Installation

Releases are made available on PyPi. The recommended installation method is via pip:

pip install nfoursid

For a development setup, the requirements are in dev-requirements.txt. Subsequently, this repo can be locally pip-installed.

Documentation and code example

Documentation is provided here. An example Jupyter notebook is provided here.

References

  1. Van Overschee, Peter, and Bart De Moor. "N4SID: Subspace algorithms for the identification of combined deterministic-stochastic systems." Automatica 30.1 (1994): 75-93.
  2. Verhaegen, Michel, and Vincent Verdult. Filtering and system identification: a least squares approach. Cambridge university press, 2007.