This update introduces several major features and changes, including some breaking changes. There is a guide to help you update your code to the new version. Depending on your model definition, you might not need to change anything. I decided to go directly to version v0.4.0 instead of providing incremental updates (0.3.5, 0.3.6, etc.) because the breaking changes are easy to fix and the new features are highly beneficial. This release provides crucial groundwork for the future development of SysIdentPy, making easier to add new features and improve the code, setting the stage for a robust and feature-complete 1.0.0 release in the feature.
New Features:
MAJOR: NonNegative Least Squares algorithm for parameter estimation.
MAJOR: Bounded Variables Least Squares algorithm for parameter estimation.
MAJOR: Least Squares Minimal Residual algorithm for parameter estimation.
MAJOR: Error Reduction Ratio algorithm enhancement for FROLS model structure selection. Users can now set an err_tol value to stop the algorithm when the sum of the ERR values reaches this threshold, offering a faster alternative to Information Criteria algorithms. A new example is available in the documentation.
MAJOR: New Bernstein basis function available, allowing users to choose between Polynomial, Fourier, and Bernstein.
MAJOR: v0.1 of the companion book "Nonlinear System Identification: Theory and Practice With SysIdentPy." This open-source book serves as robust documentation for the SysIdentPy package and a friendly introduction to Nonlinear System Identification and Timeseries Forecasting. There are case studies in the book that were not included in the documentation at the time of the update release. The book will always feature more in-depth studies and will be updated regularly with additional case studies.
Documentation:
All examples updated to reflect changes in v0.4.0.
Added guide on defining a custom parameter estimation method and integrating it with SysIdentPy.
Documentation moved to the gh-pages branch.
Defined a GitHub Action to automatically build the docs when changes are pushed to the main branch.
Removal of unused code in general
Datasets:
Datasets are now available in a separate repository.
API Changes:
BREAKING CHANGE: Parameter estimation method must now be imported and passed to the model definition, replacing the previous string method. For example, use from sysidentpy.parameter_estimation import LeastSquares instead of "least_squares". This change enhances code flexibility, organization, readability, and facilitates easier integration of custom methods. A specific doc page is available to guide migration from v0.3.4 to v0.4.0.
BREAKING CHANGE: The fit method in MetaMSS now requires only X and y values, omitting the need to pass fit(X=, y=, X_test=, y_test=).
Introduced test_size hyperparameter to set the proportion of training data used in the fitting process.
Added support for Python 3.12.
Extensive code refactoring, including type hint improvements, docstring enhancements, removal of unused code, and other behind-the-scenes changes to support new features.
v0.4.0
CONTRIBUTORS
CHANGES
This update introduces several major features and changes, including some breaking changes. There is a guide to help you update your code to the new version. Depending on your model definition, you might not need to change anything. I decided to go directly to version v0.4.0 instead of providing incremental updates (0.3.5, 0.3.6, etc.) because the breaking changes are easy to fix and the new features are highly beneficial. This release provides crucial groundwork for the future development of SysIdentPy, making easier to add new features and improve the code, setting the stage for a robust and feature-complete 1.0.0 release in the feature.
New Features:
err_tol
value to stop the algorithm when the sum of the ERR values reaches this threshold, offering a faster alternative to Information Criteria algorithms. A new example is available in the documentation.Documentation:
gh-pages
branch.Datasets:
API Changes:
from sysidentpy.parameter_estimation import LeastSquares
instead of"least_squares"
. This change enhances code flexibility, organization, readability, and facilitates easier integration of custom methods. A specific doc page is available to guide migration from v0.3.4 to v0.4.0.fit
method in MetaMSS now requires onlyX
andy
values, omitting the need to passfit(X=, y=, X_test=, y_test=)
.test_size
hyperparameter to set the proportion of training data used in the fitting process.