wilsonrljr / sysidentpy

A Python Package For System Identification Using NARMAX Models
https://sysidentpy.org
BSD 3-Clause "New" or "Revised" License
380 stars 77 forks source link

Add Ridge Regression as Parameter Estimation Method #104

Closed wilsonrljr closed 4 months ago

wilsonrljr commented 1 year ago

Ridge regression is a widely used parameter estimation technique of different classes of regression models in scenarios where the independent variables are highly correlated.

The inclusion of Ridge Regression in SysIdentPy expands the range of modeling techniques available to users. By providing a comprehensive set of paramter estimation methods, including Ridge Regression, the package empowers researchers and practitioners to choose the most suitable approach for their specific needs. This flexibility ensures that SysIdentPy remains a versatile and valuable tool in the field of system identification, enabling users to achieve more accurate and robust model estimation in various applications.

the SysIdentPy maintainer (wilsonrljr) is committed to helping in all steps of the implementation to make Ridge Regression available for the users.

mtsousa commented 1 year ago

Hey, I'd like to work on this issue!

wilsonrljr commented 1 year ago

hey @mtsousa , thanks! Can you send me a message on discord so we can talk to make a plan to work on this? You can find me by joining the SysIdentPy channel: https://discord.gg/8eGE3PQ

dj-gauthier commented 12 months ago

I just modified the SysIdentPy code over the last day to do ridge regression based on the 2006 paper by Chen: S. Chen, Local regularization assisted orthogonal least squares regression, Neurocomputing 69, 559–585 (2006). I only needed to make a minor change to the FROLS class and added a new def to the ensembles class. Still testing on some examples but happy to share. I am not heavy GitHub user so let me know the best way to share. I just did a standard install of SysIdentPy within Anaconda but I am about to create a branch of the SysIdentPy code and then I will change the files. I can then do a Pull request or just share the repository. Let me know. Dan Gauthier

dj-gauthier commented 12 months ago

I just made a Pull request.

wilsonrljr commented 4 months ago

Merged in v0.3.4 and now its available for everyone to use it.