JuliaDynamics / TransitionsInTimeseries.jl

Transition Indicators / Early Warning Signals / Regime Shifts / Change Point Detection
MIT License
18 stars 5 forks source link

Collection of some Early Warning Signals / Resilience Indicators / Regime Shift Identifiers / Transition Identifiers #67

Open Datseris opened 1 year ago

Datseris commented 1 year ago

EDIT: These algorithms will live in https://github.com/JuliaDynamics/TransitionIdentifiers.jl


In the near future we'll be adding a module in DynamicalSystems.jl about functionality related to "early warning signals, resilience indicators, tipping indicators, precurson signals, quantities that identify regime shifts" and similar functionality that is typically used in tipping points analysis. The plan is to have both timeseries analysis tools, but also dynamical-system-based tools (similarly to how you can compute a lyapunov exponent from a dynamical system / ODE with lyapunov or use a reconstructed signal and get the exponent from data with lyapunov_from_data).

The purpose of this Issue is to collect existing functionality online and in the current literature, and serve both as a starting point, but also as an indicator of what new research directions are useful to be pursued in the future.

(will be editing frequently this issue to add more stuff)

Methodologies/Methods/Quantities

Existing code bases

johannes-lohmann commented 1 year ago

Here is a method I came across in recent literature. From time series they fit a 1D quadratic map in a moving window, and extrapolate when the fixed point of this map disappears. http://dx.doi.org/10.1098/rsif.2020.0566

johannes-lohmann commented 1 year ago

Here is another method I came across in also recent literature. They use dynamic mode decomposition to approximate the eigenmodes of a system. They track the performance of this approximation and detect a regime transition that occurs as this approximation fails, due to fast dynamics as the system transitions to another attractor. https://doi.org/10.1007/s10955-019-02392-3

johannes-lohmann commented 1 year ago

Even another method aiming to deal with very high-dimensional, but short data uses the dynamic network marker method to determine when certain modes in the system become dominant as a critical transition is approached. https://doi.org/10.1111/jcmm.13943

jbuxt commented 1 year ago

For critical slowing down indicators, Dakos et al. (2012) is a great resource for temporal indicators and Kefi et al. (2014) is the version for spatial indicators.

Dakos et al. (2012) - https://doi.org/10.1371/journal.pone.0041010 Kefi et al. (2014) - https://doi.org/10.1371/journal.pone.0092097

I believe that a lot of these methods were then coded up in an early warning 'toolkit', so that could be a good place to start.

Datseris commented 1 year ago

Links with software implementations:

https://cran.r-project.org/web/packages/earlywarnings/index.html

https://ewstools.readthedocs.io/en/latest/