Coder Social home page Coder Social logo

stmeinecke / derrom Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 0.0 58.45 MB

Delay Embedded Regressive Reduced Order Model

Home Page: https://derrom.readthedocs.io/en/latest/

License: MIT License

Jupyter Notebook 95.85% Python 4.15%
data-driven-model machine-learning nonlinear-system reduced-order-models regression autoregression nonlinear-dynamics

derrom's Introduction

Delay Embedded Regressive Reduced Order Model (derrom)

derrom is a Delay Embedded Regressive Reduced Order Model. It provides a modular package, which is designed to perform computationally efficient regression on high-dimensional time-series data. The model is trained with the supervised paradigm, where a set of existing input-output pairs is used to optimize the model parameters to obtain the desired regression performance.

Library Reference

is hosted by readthedocs:

https://derrom.readthedocs.io/en/latest/

Publications

derrom has been used for the following publications:

Data-driven forecasting of nonequilibrium solid-state dynamics

Data-Driven Acceleration of Multi-Physics Simulations

You can find the simulation code and notebooks that implement derrom models in the examples folder.

What is it good for?

derrom was conceptualized to accelerate multi-physics simulation code. To achieve this, a trained model replaces the direct simulation of some degree's of freedom, which themselves are not of primary interested, but are required to compute the time evolution of the relevant observables. Moreover, the delay embedding permits to omit the degree's of freedom, which do not couple to the considered observables, altogether, but keep their effect in the trained model.

A sufficient amount of training data must, nonetheless, be generated via the potentially expensive full simulation of the system. However, if relatively few trajectories are sufficient for a well trained model and many more are to be simulated, the derrom approach quickly becomes worth the trouble.

A good example is the stochastic simulation of a semiconductor lasers' photon field. In that case, one likely must simulate many stochastic realizations to obtain enough samples for good statistics. The underlying charge-carrier dynamics are required for the photon field evolution and are expensive to microscopically simulate, but are not the observable of interest. Instead of resorting to rough analytic approximations, one may fully simulate the system for the first few realizations and then use the generated data to train derrom and use it for the remaining realizations.

Who is it for?

The derrom package is intended for research/scientific use. Its focus is on easy experimentation, which is achieved via a modular implementation. For instance, further dimensionality reduction approaches and nonlinear transformations can be quickly integrated via additional moduls.

Note that the code is not optimized for absolute computational speed and minimal memory usage. We assume, that once a well working derrom model is obtained, it would be integrated into an existing simulation code by reimplementing it within the code's framework.

How does it work?

derrom first projects the past \ell system states (delay embedding) into a reduced dimensionality (order) latent space. This step is designed retain the dominant patterns of the trajectories and get rid of redundant and irrelevant information. This both mitigates the curse of dimensionality and promotes robust regression. Next, the latent space features are scaled to appropriate magnitudes. Then, the past \ell scaled reduced system states are subject to a nonlinear transformation, which yields derrom's feature vector. Lastly, the regression step is taken via a linear map, i.e., a matrix multiplication.

How to Cite:

If you want to use derrom in the scientific context, please do not forget to provide a citation: https://doi.org/10.1103/PhysRevB.107.184306

Installation:

Use pip:

pip install derrom

If you want the example notebooks and some experimental modules: clone the repository:

git clone https://github.com/stmeinecke/derrom.git

Make sure you fulfill all requirements, e.g., via:

pip install -r requirements.txt

and you're ready to go!

Examples:

A number of examples, which currently include autoregressive forecasting of nonlinear solid-state transient dyanamics and the acceleration of a multi-physics laser simulation, are provided here:

https://github.com/stmeinecke/derrom/tree/main/examples

derrom's People

Contributors

fekoester avatar spaltissimo avatar stmeinecke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.