声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: yuling

[分形与混沌] 用CC_method计算时延和时延窗

[复制链接]
 楼主| 发表于 2009-6-8 11:00 | 显示全部楼层

问题解决后的心得

对于存在的疑问,经过对时间序列分析的进一步了解,现在终于明白了,对一个混沌系统,如Lorenz系统,时间序列样本选取不同,得到的时延和时延窗是有差异的,具体情况可以见下表,这是对Lorenz的计算结果。 cc.jpg
为了考查时间序列样本对算法的影响,选取不同区域、含有不同数量点的时间序列,进行时延 和时延窗的计算,具体结果见表3.1。可以看到对不同的样本区间,由自相关法的到的时延波动很大,而由互信息法和C-C方法确定的时延比较稳定,这说明至少对于Lorenz系统,互信息法和C-C方法要优于自相关法。
C-C方法可以同时计算出时间延迟和最佳嵌入维,但是通过表3.1的结果我们发现,由C-C方法得到的嵌入维随着样本区间不同而变动很大,而对于一个经典的混沌系统,其最佳嵌入维是确定的,因此直接以C-C方法得出的嵌入维作为最佳嵌入维是不合理的,C-C方法在确定时延时仍不失为一个好的方法。
回复 支持 反对
分享到:

使用道具 举报

发表于 2009-6-8 14:12 | 显示全部楼层

观点相同

我同样验证了几个,和16楼的结果是一样的
发表于 2009-8-26 15:00 | 显示全部楼层

存在的问题

我利用上面的程序计算了一下,怎么没出来结果?并且错误还挺多的。请问一下:在用这个程序的时候需要进行什么处理吗?谢谢
 楼主| 发表于 2009-9-1 16:02 | 显示全部楼层

回复 18楼 huii 的帖子

你参考一下后面的重新整理了的程序,这个程序是没有问题的
发表于 2012-7-3 10:25 | 显示全部楼层
几年前的好帖啊,顶~
感谢楼主~
发表于 2014-8-25 14:15 | 显示全部楼层
感谢楼主的分享,此贴真是好贴!
用5楼的程序分析Lorenz方程,当系统参数a=16,b=4.0,c=45.92以及a=10,b=28,c=8/3时,计算结果与楼主完全一致。
楼主提到,当a=10,b=28,c=8/3时,计算结果与论文中相差很大,我认为是论文中参数书写有误,参数应该为a=10,b=8/3,c=28,此时计算结果为tau_inf =17,tw_inf =165,时间延迟与论文中18相差很小。见下图。
并且,参数为a=10,b=8/3,c=28时,我用陆振波的混沌工具箱进行了验证,结果为tau_inf =18,tw_inf =165。时间延迟与论文中完全一致。

lorenz2结果.jpg
发表于 2014-8-25 14:22 | 显示全部楼层
5楼的程序存在一点小问题。
1、Scmean=zeros(1,max_d);应该改为Sdeltmean=zeros(1,max_d);
2、需要添加重构相空间的子函数,即1楼中function Data=reconstitution(data,N,m,tau)。
3、将代码复制到m文件中可能会出现一些大小写变化的问题,稍微修改就行。
发表于 2014-8-25 14:35 | 显示全部楼层
对于16楼楼主做出的结论,在《混沌时间序列及其应用》这本书中的第66-67,以及71也可以找到依据。由66-67页可以自相关函数求时间延迟仅适用于小数据组、但是不适合非线性问题。而互信息法适用于大数据组、非线性问题。混沌时间序列具有非线性,因此自相关法与互信息法相比,用互信息计算混沌时间序列更可靠。
71页CC法的特点是与互信息法一致,

66-67页

66-67页
发表于 2014-8-25 14:40 | 显示全部楼层
目前嵌入维数的主要计算方法是采用Grassberger和Procaccia提出的G-P算法计算出序列的关联维数d,然后利用嵌入维数m>=2d+1,选取合适的嵌入维数。看该贴Lyapunov指数程序对比
p71.JPG
发表于 2014-12-26 11:57 | 显示全部楼层
wystar 发表于 2014-8-25 14:40
目前嵌入维数的主要计算方法是采用Grassberger和Procaccia提出的G-P算法计算出序列的关联维数d,然后利用 ...

童鞋,你好^_^ 首先谢谢你热心的一系列解答,然后,请问一下,在程序中嵌入维数m取的是2-5,但是由程序最终确定的最佳延迟时间tau和时间窗口tw所确定的最佳嵌入维数都是十几。。。程序中嵌入维数m范围不同也会影响程序结果吧~~~这该如何解释呢?
另外,,楼主在16楼所提到的互信息求解tau的方法你用了么。。在另一帖子楼主给出了用互信息求解最佳tau的程序。。但是我用给出的方法得到的最佳延迟时间都为程序开始所设置的max_tau,这个问题已经在一个帖子中回复过你,,,望指点。。。刚入门这部分内容,理解的不够深刻,,希望能通过彼此交流使自己有茅塞顿开的感觉。。谢谢~~~~
发表于 2014-12-29 20:25 | 显示全部楼层
童鞋,你好^_^ 首先谢谢你热心的一系列解答,然后,请问一下,在程序中嵌入维数m取的是2-5,但是由程序最终确定的最佳延迟时间tau和时间窗口tw所确定的最佳嵌入维数都是十几。

1 你所说的第一个问题我也未研究,还是等高手解决吧;
2 互信息求解tau我用过,试过几个程序,结果与C-C法一致,你得到的最佳延迟时间都为程序开始所设置的max_tau肯定存在一定的问题,是否方法有误;
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-19 04:15 , Processed in 0.084494 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表