Discrete coupled dynamical systems
Autoregressive order one 2D system
#
CausalityTools.Systems.ar1_unidir — Method.
ar1(uᵢ, a₁ = 0.90693, b₁ = 0.40693, c_xy = 0.5,
σ = 0.40662) -> DiscreteDynamicalSystem
A bivariate, order one autoregressive model, where x \to y [1].
Equations of motion
where \xi_{1} and \xi_{2} are drawn from normal distributions with zero mean and standard deviation σ at each iteration.
References
- Paluš, M., Krakovská, A., Jakubík, J., & Chvosteková, M. (2018). Causality, dynamical systems and the arrow of time. Chaos: An Interdisciplinary Journal of Nonlinear Science, 28(7), 075307. http://doi.org/10.1063/1.5019944
Nonlinear 3D system with nonlinear coupling
#
CausalityTools.Systems.nonlinear3d — Function.
nonlinear3d(;uᵢ = rand(3),
σ₁ = 1.0, σ₂ = 1.0, σ₃ = 1.0,
a₁ = 3.4, a₂ = 3.4, a₃ = 3.4,
b₁ = 0.4, b₂ = 0.4, b₃ = 0.4,
c₁₂ = 0.5, c₂₃ = 0.3, c₁₃ = 0.5) -> DiscreteDynamicalSystem
A 3d nonlinear system with nonlinear couplings x_1 \to x_2, x_2 \to x_3 and x_1 \to x_3. Modified from [1].
Equations of motion
The equations of motion are
References
- Gourévitch, B., Le Bouquin-Jeannès, R., & Faucon, G. (2006). Linear and nonlinear causality between signals: methods, examples and neurophysiological applications. Biological Cybernetics, 95(4), 349–369.
Unidirectionally coupled 2D logistic maps
#
CausalityTools.Systems.logistic2_unidir — Method.
logistic2(;u₀ = rand(2), c_xy = 0.1, σ = 0.05,
r₁ = 3.78, r₂ = 3.66) -> DiscreteDynamicalSystem
Initialise a system consisting of two coupled logistic maps where X unidirectionally influences Y. By default, the parameters r₁ and r₂ are set to values yielding chaotic behaviour.
Equations of motion
The equations of motion are
with
The parameter c_xy controls how strong the dynamical forcing is. If σ > 0, dynamical noise masking the influence of x on y equivalent to \sigma \cdot \xi is added at each iteration. Here,\xi is a draw from a flat distribution on [0, 1]. Thus, setting σ = 0.05 is equivalent to add dynamical noise corresponding to a maximum of 5 \% of the possible range of values of the logistic map.
References
- Diego, David, Kristian Agasøster Haaga, and Bjarte Hannisdal. "Transfer entropy computation using the Perron-Frobenius operator." Physical Review E 99.4 (2019): 042212.
Bidirectionally coupled 2D logistic maps
#
CausalityTools.Systems.logistic2_bidir — Method.
logistic2_bidir(;u₀ = rand(2), c_xy = 0.1, c_yx = 0.1,
r₁ = 3.78, r₂ = 3.66, σ_xy = 0.05, σ_yx = 0.05)
A bidirectional logistic model for the chaotic population dynamics of two interacting species [1].
Equations of motion
The equations of motion are
where the coupling strength c_{xy} controls how strongly species x influences species y, and vice versa for c_{yx}. To simulate time-varying influence of unobserved processes, we use the dynamical noise terms \xi_{xy}^t and \xi_{yx}^t, drawn from a uniform distribution with support on [0, 1]. If \sigma_{xy} > 0, then the influence of x on y is masked by dynamical noise equivalent to \sigma_{xy} \xi_{xy}^{t} at the t-th iteration of the map, and vice versa for \sigma_{yx}.
References
- Diego, David, Kristian Agasøster Haaga, and Bjarte Hannisdal. "Transfer entropy computation using the Perron-Frobenius operator." Physical Review E 99.4 (2019): 042212.
Forcing of two independent logistic maps from common logistic map driver
#
CausalityTools.Systems.logistic3 — Method.
logistic3(;u₀ = rand(3), r = 4,
σx = 0.05, σy = 0.05, σz = 0.05) -> DiscreteDynamicalSystem
Initialise a dynamical system consisting of three coupled logistic map representing the response of two independent dynamical variables to the forcing from a common driver. The dynamical influence goes in the directions Z \to X and Z \to Y.
Equations of motion
The equations of motion are
Dynamical noise may be added to each of the dynamical variables by tuning the parameters σz, σx and σz. Default values for the parameters r₁, r₂ and r₃ are set such that the system exhibits chaotic behaviour, with r₁ = r₂ = r₃ = 4.
References
- Runge, Jakob. Causal network reconstruction from time series: From theoretical assumptions to practical estimation, Chaos 28, 075310 (2018); doi: 10.1063/1.5025050
Unidirectional, transitive chain of logistic maps
#
CausalityTools.Systems.logistic4 — Method.
logistic4(;u₀ = rand(4), r₁ = 3.9, r₂ = 3.6, r₃ = 3.6, r₄ = 3.8,
c₁₂ = 0.4, c₂₃ = 0.4, c₃₄ = 0.35) -> DiscreteDynamicalSystem
Initialise a system of a transitive chain of four unidirectionally coupled logistic maps, where y_1 \to y_2 \to y_3 \to y_4 [1]. Default parameters are as in [1].
Note: With the default parameters which are as in [1], for some initial conditions, this system wanders off to \pm \infty for some of the variables. Make sure that you have a good realisation before using the orbit for anything.*
Equations of motion
References
- Ye, Hao, et al. "Distinguishing time-delayed causal interactions using convergent cross mapping." Scientific reports 5 (2015): 14750
Two unidirectionally coupled Henon maps
#
CausalityTools.Systems.henon2 — Method.
henon2(;u₀ = rand(4), c_xy = 2.0) -> DiscreteDynamicalSystem
Initialize a 2D Henon system consisting of two identical Henon maps with unidirectional forcing X \to Y [1].
Equations of motion
The equations of motion are
References
- Krakovská, A., Jakubík, J., Chvosteková, M., Coufal, D., Jajcay, N., & Paluš, M. (2018). Comparison of six methods for the detection of causality in a bivariate time series. Physical Review E, 97(4), 042207.
Strange, nonchaotic attractors
#
CausalityTools.Systems.anishchenko1 — Method.
anishchenko1(;u₀ = rand(2), α =3.277, s=0.1, ω=0.5*(sqrt(5)-1))
Initialise the system defined by eq. 13 in [1], which can give strange, nonchaotic attractors.
Equations of motion
The equations of motion are
References
- Anishchenko, Vadim S., and Galina I. Strelkova. "Irregular attractors." Discrete dynamics in Nature and Society 2.1 (1998): 53-72.