Comments (6)
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.
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.
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.
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.
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.
Excellent. Thanks.
from pysindy.
Related Issues (20)
- [BUG] importing pysindy adds "Ignore UserWarning" to the global warnings filter
- MIOSR reproduces the Lorenz equations with `target_sparsity`, but not `group_sparsity`. HOT 2
- how to constrain the parameter of a term
- ValueError: x and y arrays must be equal in length along interpolation axis. HOT 4
- [BUG] HOT 3
- [BUG] module 'pysindy' has no attribute 'SINDyPI' HOT 1
- attribute error HOT 2
- question about second-order ode identification HOT 11
- Lagrangian Data example for PDE-FIND HOT 2
- [BUG] sparse_ind argument in stlsq.py is not working HOT 4
- ValueError: Could not reshape control input to match the input data. HOT 4
- Unify constraint-based methods, minimize trapping class, add helper functions HOT 2
- [BUG] Using SINDy-PI with multiple_trajectories does not work HOT 7
- [BUG] PySINDy and CVXPY issues HOT 5
- [BUG]Cannot use TrappingSR3 HOT 5
- [Help] Identify PDE by svd HOT 5
- Incorporate make_constraints into trapping_sr3.py HOT 8
- Initial Guess - SR3 - Custom Library [BUG] HOT 3
- [Help] Can't get the right model for 2d system HOT 3
- [DOC] WeakPDELibrary.transform does not produce output in shape specified by documentation.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pysindy.