Getting Started¶
Welcome to SysIdentPy's documentation! Learn how to get started with SysIdentPy in your project. Then, explore SysIdentPy's main concepts and discover additional resources to help you model dynamic systems and time series.
For comprehensive information on models, methods, and a wide range of examples and benchmarks implemented in SysIdentPy, check out our book:
Nonlinear System Identification and Forecasting: Theory and Practice With SysIdentPyThis book provides in-depth guidance to support your work with SysIdentPy.
🛠️ You can also explore the tutorials in the documentation for practical, hands-on examples.
What is SysIdentPy¶
SysIdentPy is an open-source Python module for System Identification using NARMAX models built on top of numpy and is distributed under the 3-Clause BSD license. SysIdentPy provides an easy-to-use and flexible framework for building Dynamical Nonlinear Models for time series and dynamic systems.
With SysIdentPy, you can:
- Build and customize nonlinear forecasting models.
- Utilize state-of-the-art techniques for model structure selection and parameter estimation.
- Experiment with neural NARX models and other advanced algorithms.
Installation¶
SysIdentPy is published as a Python package and can be installed with pip
, ideally by using a virtual environment. If not, scroll down and expand the help box. Install with:
pip install sysidentpy
pip install sysidentpy["all"]
pip install sysidentpy=="0.5.3"
pip install git+https://github.com/wilsonrljr/sysidentpy.git
If you don't have prior experience with Python, we recommend reading Using Python's pip to Manage Your Projects' Dependencies , which is a really good introduction on the mechanics of Python package management and helps you troubleshoot if you run into errors.
What are the main features of SysIdentPy?¶
🧩 NARMAX Philosophy
Build variations like NARX, NAR, ARMA, NFIR, and more.
📝 Model Structure Selection
Use methods like FROLS, MetaMSS, and combinations with parameter estimation techniques.
🔗 Basis Function
Choose from 8+ basis functions, combining linear and nonlinear types for custom NARMAX models.
🎯 Parameter Estimation
Over 15 parameter estimation methods for exploring various structure selection scenarios.
⚖️ Multiobjective Estimation
Minimize different objective functions using affine information for parameter estimation.
🔄 Model Simulation
Reproduce paper results easily with SimulateNARMAX. Test and compare published models effortlessly.
🤖 Neural NARX (PyTorch)
Integrate with PyTorch for custom neural NARX architectures using all PyTorch optimizers and loss functions.
🛠️ General Estimators
Compatible with scikit-learn, Catboost, and more for creating NARMAX models.
Additional resources¶
- 🤝 Contribute to SysIdentPy
- 📜 License Information
- 🆘 Get Help & Support
- 📅 Meetups
- 💖 Become a Sponsor
- 🧩 Explore NARMAX Base Code
Do you like SysIdentPy?¶
Would you like to help SysIdentPy, other users, and the author? You can "star" SysIdentPy in GitHub by clicking in the star button at the top right of the page: https://github.com/wilsonrljr/sysidentpy. ⭐️
Starring a repository makes it easy to find it later and help you to find similar projects on GitHub based on Github recommendation contents. Besides, by starring a repository also shows appreciation to the SysIdentPy maintainer for their work.