Skip to content

Project History

The project was started by Wilson R. L. Junior, Luan Pascoal and Samir A. M. Martins as a project for System Identification discipline. We have been working with System Identification for several years (Nonlinear Systems, Machine Learning, Chaotic Systems, Hysteretic models, etc) for several years.

Every work we did was using a great tool, but a paid one: Matlab. We started looking for some free alternatives to build NARMAX and its variants (AR, ARX, ARMAX, NAR, NARX, NFIR, Neural NARX, etc.) models using the methods known in System Identification community, but we didn't find any package written in Python with the features we needed to keep doing our research.

Besides, it was always too difficult to find source code of the papers working with NARMAX models and reproduce results was a really hard thing to do.

In that context, SysIdentPy was idealized with the following goal: be a free and open source package to help the community design NARMAX models. More than that, be a free and robust alternative to one of the most used tools to build NARMAX models, which is the Matlab's System Identification Toolbox.

Samuel joined early in 2019 to help us achieve our goal.

Active Maintainers

The project is actively maintained by Wilson Rocha Lacerda Junior and looking for contributors.


If you use SysIdentPy on your project, please drop me a line.

Send email

If you use SysIdentPy on your scientific publication, we would appreciate citations to the following paper:

Lacerda et al., (2020). SysIdentPy: A Python package for System Identification using NARMAX models. Journal of Open Source Software, 5(54), 2384,

      doi = {10.21105/joss.02384},
      url = {},
      year = {2020},
      publisher = {The Open Journal},
      volume = {5},
      number = {54},
      pages = {2384},
      author = {Wilson Rocha Lacerda Junior and Luan Pascoal Costa da Andrade and Samuel Carlos Pessoa Oliveira and Samir Angelo Milani Martins},
      title = {SysIdentPy: A Python package for System Identification using NARMAX models},
      journal = {Journal of Open Source Software}


The documentation and structure (even this section) is openly inspired by sklearn, einsteinpy, and many others as we used (and keep using) them to learn.


SysIdentPy is already useful for many researchers and companies to build NARX models for dynamical systems. But still, there are many improvements and features to come. SysIdentPy has a great future ahead, and your help is greatly appreciated.