This repository contains a step-by-step implementation of Empirical Dynamic Modeling (EDM) techniques for beginners, adapted from Chang et al. 2017, using the pyEDM
Python library.
The notebook and associated documentation cover:
- Time series simulation (Red noise, Logistic map)
- Simplex projection
- S-map analysis
- Convergent Cross Mapping (CCM)
- Univariate, Multivariate, and Multiview embeddings
- Scenario exploration and interaction strength tracking
Ferdinand Gosset Institute of Oceanography, National Taiwan University Supervised by Prof. Chih-hao Hsieh
All figures generated by the notebook are stored in the figures
directory. This directory contains visual representations of the results and analyses performed using the EDM techniques.
The repository includes CSV files that are used in the implementation of the Moran model. These files contain simulated data for ecological models and are used to demonstrate the techniques of Empirical Dynamic Modeling.
-
ESM3_Data_moran.csv: This file contains data generated from a Moran-type model, which simulates synchronous oscillations with added noise. It is used to demonstrate the Convergent Cross Mapping (CCM) technique.
-
ESM4_Data_competition.csv: This file contains data generated from a competition-type model, which simulates mirror dynamics with added noise. It is also used in the CCM analysis to infer causal relationships between variables.
These CSV files are automatically generated using the provided Python scripts, which simulate the ecological models and save the data for further analysis.
- Chang et al. (2017) Empirical Dynamic Modeling for Beginners, Ecological Research.
- Sugihara et al. (2012), CCM Method.
- Park et al. (2024), pyEDM documentation.
All code is in the Jupyter Notebook EDM_for_beginners_notebook.ipynb
.
The necessary Python modules are listed in the requirements.txt
file. You can install these dependencies using pip:
pip install -r requirements.txt