Skip to main content

Derrom is a delay embedded regressive reduced order model

Project description

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/

What is it good for?:

derrom was conceptualized to accelerate multi-phyisics 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.

Note that 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. E.g, 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.

On a side note: If you are a PhD student or PostDoc, who is running a multi-physics simulation code, which must compute nonlinear transient dynamics, then the derrom package might be an easy way to get a machine-learning paper ;).

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.

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 apply derrom to nonlinear solid-state transient dyanamics, are provided here:

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

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

derrom-1.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

derrom-1.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file derrom-1.0.tar.gz.

File metadata

  • Download URL: derrom-1.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.9

File hashes

Hashes for derrom-1.0.tar.gz
Algorithm Hash digest
SHA256 e685a8999baca09985b648417851862fc84e249f709f41bd3916b11f7bf34396
MD5 54fab751429e61141ebc710e0ab4a49f
BLAKE2b-256 c050b4c528407e61689d7ce2cf6f6b4b3612afd82a0de758648174a03b80f60f

See more details on using hashes here.

File details

Details for the file derrom-1.0-py3-none-any.whl.

File metadata

  • Download URL: derrom-1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.9

File hashes

Hashes for derrom-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f23d0c8fa2b524fb091adda21f704085bd3404282e799b09e3a3e6633d5cb78
MD5 a1fcfe2cb3b57d0d16e023cca676ba6f
BLAKE2b-256 ce4a727a257048084e3838b23464c68f9f47e2da8200a1e396f31c890f97ddbf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page