关于使用 Kantz/Rosenstein 方法计算 R 中的 Lyapunov 指数的说明

A clarification about calculating the Lyapunov exponent in R using Kantz/Rosenstein method

提问人:Nick Vicinanza 提问时间:10/20/2023 更新时间:10/20/2023 访问量:28

问:

我试图使用 lyap_k 函数(tseriesChaos 的一部分)包来估计 Lyapunov 指数估计的鲁棒性,我编写了以下代码来创建一个螺旋,并试图查看更改半径 (eps) 如何影响指数的估计。

根据文档,eps 是查找最近邻居的半径。 我的螺旋线包含在一个 1.0 * 1.0 的盒子里,所以当半径> 1 时,我希望看到值越来越接近 0。我的理由是,我正在跟踪点云中比我的轨迹大的邻居之间的距离,我应该检测到更小或为零的膨胀率,以及接近于零的李雅普诺夫指数。 但是,结果始终相同 (0.0607375)

我的理由是否有缺陷,或者我选择了错误的参数集? 谢谢!

library(tseriesChaos)

#Create a spiral
t=1:100
s = t*sin(2*pi*t/20)
s=s/abs(max(s)-min(s))
plot(t,s)

s.emb=embedd(s,m = 2,d=5)
plot(s.emb,type='l')

#Running 4 calculations of lyap_k using different values of the radius (eps)
#Using 2 dimensions, delay = 5, Theiler window = 4, 10 reference points, tracked over 20 steps.

output=lyap_k(s,m=2,d=5,t=4, ref=10, k = 2, eps=0.1, s=20)
plot(output)
lyap(output,0,5)[[2]]

output=lyap_k(s,m=2,d=5,t=4, ref=10, k = 2, eps=1, s=20)
plot(output)
lyap(output,0,5)[[2]]

output=lyap_k(s,m=2,d=5,t=4, ref=10, k = 2, eps=10, s=20)
plot(output)
lyap(output,0,5)[[2]]

output=lyap_k(s,m=2,d=5,t=4, ref=10, k = 2, eps=20, s=20)
plot(output)
lyap(output,0,5)[[2]]
R 计算

评论


答: 暂无答案