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:
- You know the number of linear and nonlinear components --> fine, you can use dyca(signal, time, m, n)
- 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
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7713561579905d760ca6d56f3db0faebb6e416af735a8ad1c13e245791ffa441
|
|
| MD5 |
3dde44d97ef053c251fcc65b3c3aef98
|
|
| BLAKE2b-256 |
a8ba8521808f39d66ecc56e99836d10ef8b176d1a0612004a902cbc9a6b0f358
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
651a01d7e6bd0fbd1804bf3e02b569b320461d947dc6c2cafa714badc8d16a6a
|
|
| MD5 |
de1b1b64f8d4511311d1d4ead58e2591
|
|
| BLAKE2b-256 |
453baf366bdc4fa4fae08e8dfa0ffccb7361cac8ee75e66f5402e079fcd31ba8
|