Giter VIP home page Giter VIP logo

Comments (6)

billtubbs avatar billtubbs commented on June 2, 2024 1

If it helps, I published my own SINDy code below including examples of how to use it for systems with actuated inputs (SINDYc). As it turned out, this was quite easy to do in my case — I didn't need to change the SINDy code at all to include control inputs.

The two Jupiter notebooks show examples of identifying the Lorenz system, one without the control input and one with. Also note, these notebooks also show how to do sparse regression with existing Scikit-Learn tools. Might be interesting to investigate how Scikit-Learn does sparse feature selection and see how it differs from the SINDy method.

https://github.com/billtubbs/dyn-opt

from pysindy.

briandesilva avatar briandesilva commented on June 2, 2024 1

I took a look at your repo -- I love the look of those plots!

I'm just about done with the SINDYc implementation. Well, the implementation is done, but I still need to write some unit tests and examples. It looks like we both approached it the same way; it essentially comes down to adding the control inputs without changing the left-hand side.

I agree with your observation about sklearn's feature selection. It definitely seems worth looking into.

from pysindy.

billtubbs avatar billtubbs commented on June 2, 2024 1

I figured out one deficiency with scikit-learn's feature selection approach. If you try to find a sparse model for a function with more than one output variable using SelectFromModel(estimator, threshold, max_features), it comes up with a reduced set of features (inputs) that is common to all output variables. So when you do the subsequent linear regression step it may use more coefficients than it should for some variables. If that makes sense. Whereas SINDy finds a coefficient matrix.

from pysindy.

briandesilva avatar briandesilva commented on June 2, 2024

There isn't a straightforward way to include actuated control inputs at the moment. SINDYc is on our roadmap, but I can make it a higher priority and implement it soon if it would be useful to you.

from pysindy.

briandesilva avatar briandesilva commented on June 2, 2024

This is related to #40. I'm going to close issue in favor of that one and work on getting this implemented this week.

from pysindy.

billtubbs avatar billtubbs commented on June 2, 2024

Excellent. Thanks.

from pysindy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.