Skip to main content

Dynamical Component Analysis - A method to decompose multivariate signals

Project description

Dynamical Component Analysis (DyCA)

Dynamical Component Analysis (DyCA) is a dimension reduction method for multivariate time series data.

Installing information

$ pip install -r requirements.txt

There are different ways to use the DyCA algorithm:

  1. You know the number of linear and nonlinear components --> fine, you can use dyca(signal, time, m, n)
  2. You know only the number of linear components, but not the dimension n of the underlying deterministic system:
    • with dyca(signal, time, m) you get the generalized eigenvalues and the singular values of the projection matrix and you can decide how many nonlinear components you want to use
    • run a second time dyca(signal, time, m, n) with the number of linear and nonlinear components (m: linear components, n: dimension of the system) you want to use
  3. You don't know the number of linear and nonlinear components:
    • with dyca(signal, time) you get the generalized eigenvalues and you can decide how many linear components you want to use (Now you are in scenario 2.)
    • run a second time dyca(signal, time, m) with the number of linear components you want to use --> you get the singular values of the projection matrix and you can decide how many nonlinear components you want to use
    • run a third time dyca(signal, time, m, n) with the number of linear and nonlinear components (n = linear + nonlinear components) you want to use

Example Usage

The roessler case is in detail explained in ./roessler70_example.ipynb

Different Data source examples are shown in (where componentnoise and additivenoise specify the SNR in dB)

./example_data/{attractorname}_{componentnoise}_{additivenoise}.csv

and implemented in

./example_code/{attractorname}_{additivenoise}_example.py

Citing information

@Article{Uhl2020,
  author={Uhl, Christian and Kern, Moritz and Warmuth, Monika and Seifert, Bastian},
  journal={IEEE Open Journal of Signal Processing}, 
  title={Subspace Detection and Blind Source Separation of Multivariate Signals by Dynamical Component Analysis (DyCA)}, 
  year={2020},
  volume={1},
  number={},
  pages={230-241},
  keywords={Heuristic algorithms;Signal processing algorithms;Tools;Brain modeling;Mathematical model;Noise measurement;
  Principal component analysis;Biomedical data;blind source separation;differential equations;dimensionality reduction;
  dynamical component analysis;independent component analysis;low dimensional dynamics;motion detection;principal component analysis},
  doi={10.1109/OJSP.2020.3038369}
  }

DOI: 10.1109/OJSP.2020.3038369

Acknowledgement

This work was supported by the German Federal Ministry of Education and Research (BMBF, Funding number: 05M20WBA).

Project details


Download files

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

Source Distribution

dyca-0.1.1.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

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

dyca-0.1.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file dyca-0.1.1.tar.gz.

File metadata

  • Download URL: dyca-0.1.1.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for dyca-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7713561579905d760ca6d56f3db0faebb6e416af735a8ad1c13e245791ffa441
MD5 3dde44d97ef053c251fcc65b3c3aef98
BLAKE2b-256 a8ba8521808f39d66ecc56e99836d10ef8b176d1a0612004a902cbc9a6b0f358

See more details on using hashes here.

File details

Details for the file dyca-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dyca-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for dyca-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 651a01d7e6bd0fbd1804bf3e02b569b320461d947dc6c2cafa714badc8d16a6a
MD5 de1b1b64f8d4511311d1d4ead58e2591
BLAKE2b-256 453baf366bdc4fa4fae08e8dfa0ffccb7361cac8ee75e66f5402e079fcd31ba8

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