Skip to content

Analyse measurements data and validate models.

License

Notifications You must be signed in to change notification settings

VolvoGroup/dymoval

Repository files navigation

Build status

pipeline coverage badge

Tools

Build - pdm code check - flake8 types - Mypy test - pytest code style - black docs - sphinx

What is it?

Dymoval (Dynamic Model Validation) is a Python package for analyzing datasets and validate models.

It does not matter if your model is a Deep Neural Network, an ODE or something more complex, nor is important if you use Modelica or Simulink or whatever as modeling tool. All you need to do is to feed Dymoval with real-world measurements and model-generated data and you will get a model quality evaluation in r-squared fit, residuals norms and coverage region.






If you are developing your models in a CI/CD environment, then Dymoval can help you in deciding if merging or not the latest model changes. In-fact, Dymoval functions can also be included in development pipelines scripts, so the whole CI/CD process can be fully automatized.

Dymoval finally provides you with some essential functions for dealing with dataset analysis and manipulation.

Although the tool has been thought with engineers in mind, no one prevents you to use it in other application domains.

Main Features

Datasets analysis and manipulation

  • Time and frequency analysis
  • Physical units
  • Easy plotting of signals
  • Missing data handling
  • Linear filtering
  • Means and offsets removal
  • Re-sampling

Model validation

  • Validation metrics:
    • R-square fit
    • Residuals auto-correlation
    • Input-Residuals cross-correlation
  • Coverage region
  • Enable model unit-tests
  • Work for both SISO and MIMO models
  • Modeling tool independence
  • Easily integrate with CI/CD pipelines.

Installation

Clone this repo, go on the dymoval folder and type:

pip install .

If you also want to install dev and build tools, run

pip install ".[dev]"
pip install ".[build]"

The build tool included in pyproject.toml is pdm but you can use the build tool that you prefer (to be installed separately).

Getting started

If you are already familiar with model validation, then the best way to get started with dymoval is to run the tutorial scripts that you can open with

import dymoval as dmv
dmv.open_tutorial()

This will copy the dymoval_tutorial.ipynb Jupyter notebook from your installation folder to your home folder.

For more info on what is model validation and what is implemented in dymoval along with the dymoval complete API, you can check the docs.

Note If your system don't have a default app for opening .ipynb files, then the tutorial won't automatically open. However, you have a copy of it in your home folder that you can manually open with your preferred app.

License

Dymoval is licensed under BSD 3 license.