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.
Bidirectional Ikeda map
#
CausalityTools.Systems.ikeda
— Function.
ikeda(; u₀ = rand(2), c_xy = 1.0, c_yx = 1.0, a = 0.8, b = 12, c = 0.9,
r₁ = rand(Uniform(0.01, 0.3)), r₂ = rand(Uniform(0.01, 0.3)), σ = 0.05)
Initialise a discrete two-dimensional Ikeda map system, adapted from [1] by adding a noise term and allowing the influences from x \to y
(c_{xy}) and from y \to x
(c_{yx}) to be adjusted.
As a rule-of-thumb, if parameters a
, b
, and c
are drawn from uniform distributions on [0.8, 1.5]
, [10, 14]
and [0.1, 0.9]
.
The difference equations are
References
- Cao, Liangyue, Alistair Mees, and Kevin Judd. "Modeling and predicting non-stationary time series." International Journal of Bifurcation and Chaos 7.08 (1997): 1823-1831.