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 dyca
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 ./example_usage/roessler70_example.ipynb
Different Data source examples are shown in (where componentnoise and additivenoise specify the SNR in dB)
./example_usage/example_data/{attractorname}_{componentnoise}_{additivenoise}.csv
and implemented in
./example_usage/example_code/{attractorname}_{additivenoise}_example.py
Contact information
For question please contact:
- mailto:annika.stiehl@hs-ansbach.de for installation or code-related information or
- mailto:christian.uhl@hs-ansbach.de for method-related information.
Citing information
C. Uhl, A. Stiehl, N. Weeger, M. Schlarb and K. Hüper (2024) Disentangling dynamic and stochastic modes in multivariate time series. Front. Appl. Math. Stat. 10:1456635. doi: 10.3389/fams.2024.1456635
Acknowledgement
This work has been supported by the German Federal Ministry of Education and Research (BMBF-Projekt, funding numbers: 05M20WWA and 05M20WBA Verbundprojekt 05M2020—DyCA).
Further research with DyCA
Presentation of DyCA with further examples
- C. Uhl, A. Stiehl, N. Weeger, M. Schlarb and K. Hüper (2024) Disentangling dynamic and stochastic modes in multivariate time series. Front. Appl. Math. Stat. 10:1456635. doi: 10.3389/fams.2024.1456635
- C. Uhl, M. Kern, M. Warmuth and B. Seifert, Subspace Detection and Blind Source Separation of Multivariate Signals by Dynamical Component Analysis (DyCA), IEEE Open Journal of Signal Processing, vol. 1, pp. 230-241, 2020, doi: 10.1109/OJSP.2020.3038369
- K. Korn, B. Seifert and C. Uhl, „Dynamical Component Analysis (DYCA) and Its Application on Epileptic EEG,“ ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Brighton, United Kingdom, 2019, pp. 1100-1104. doi: 10.1109/ICASSP.2019.8682601
- B. Seifert, K. Korn, S. Hartmann, and C. Uhl, „Dynamical Component Analysis (DyCA): Dimensionality reduction for high-dimensional deterministic time-series,“ 2018 IEEE 28th International Workshop on Machine Learning for Signal Processing (MLSP), Aalborg, 17.-20.09.2018, pp. 1-6. doi: 10.1109/MLSP.2018.8517024
Comparison with Dynamic Mode Decomposition (DMD)
- A. Stiehl, N. Weeger and C. Uhl, Comparison of mode selection and reconstructions obtained by DyCA and DMD with respect to noise robustness and sampling, accepted for publication in CONTROLO 2024, Lecture Notes in Electrical Engineering, Springer-Verlag
- M. Kern, C. Uhl, M. Warmuth, A Comparative Study of Dynamic Mode Decomposition (DMD) and Dynamical Component Analysis (DyCA). In: Gonçalves J.A., Braz-César M., Coelho J.P. (eds) CONTROLO 2020. Lecture Notes in Electrical Engineering, vol 695. Springer, Cham, doi: 10.1007/978-3-030-58653-9_9
DyCA to generate additional ML-features
- A. Stiehl, M. Flammer, F. Anselstetter, N. Ille, H. Bornfleth, S. Geißelsöder, C. Uhl, Topological Analysis of Low Dimensional Phase Space
Trajectories of High Dimensional EEG Signals For Classification of Interictal Epileptiform Discharges, 2023 IEEE International Conference
on Acoustics, Speech, and Signal Processing Workshops (ICASSPW), Rhodes Island, Greece, 2023, pp. 1-5, doi: 10.1109/ICASSPW59220.2023.10193167
DyCA in combination with SINDy
- C. Paglia, A. Stiehl, C. Uhl (2022), Identification of Low-Dimensional Nonlinear Dynamics from High-Dimensional Simulated and Real-World Data. In: L. Brito Palma, R. Neves-Silva, L. Gomes (eds) CONTROLO 2022. CONTROLO 2022. Lecture Notes in Electrical Engineering, vol 930. Springer, Cham. doi.org/10.1007/978-3-031-10047-5_18
DyCA in combination with derminismus testing
- C. Frühauf, S. Hartmann, B. Seifert and C. Uhl. Determinism testing of low-dimensional signals embedded in high-dimensional multivariate time-series. In: Stavrinides, S.G., Ozer, M. (eds) Chaos and Complex Systems. Springer, Berlin, Heidelberg, 2020, doi: 10.1007/978-3-030-35441-1_1
Robust DyCA for noisy data
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-1.0.1.tar.gz.
File metadata
- Download URL: dyca-1.0.1.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c14a06646557fd56dd8366f3a3f38478722c0e71a70711367829d3a2df5e4e61
|
|
| MD5 |
15571366819a91d175b7d7165f7e4d33
|
|
| BLAKE2b-256 |
f58f50ade50fd3755b72b4fbbeccb5146c1a6371840f4eadd8b2a9c61ea612fe
|
File details
Details for the file dyca-1.0.1-py3-none-any.whl.
File metadata
- Download URL: dyca-1.0.1-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96ef4874e1aa38f7585d2a9b5227fb6178bd5aad7e145fe2bce6cc7bee560b44
|
|
| MD5 |
80529e7c76fc101c91f72d6472d2b972
|
|
| BLAKE2b-256 |
82387a50c43a77339416097356649154f8aa2d0659b28b48b03825b9dfaa2340
|