声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6710|回复: 20

[分形与混沌] 关于CC 方法计算时间延迟和嵌入维数

[复制链接]
发表于 2010-5-3 20:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我已经通过CC方法计算出了时间序列的delt_s和s_cor,但不是很清楚哪个是时间延迟,哪个是嵌入维数。
untitled1.jpg
红点是s_cor,绿点是delt_s。
看了winterdij的帖子http://forum.vibunion.com/forum/viewthread.php?tid=50792&extra=&highlight=%D2%C9%CE%CA%A3%BA%B9%D8%D3%DACC%2B%B7%BD%B7%A8%BC%C6%CB%E3%CA%B1%BC%E4%D1%D3%B3%D9%BA%CD%C7%B6%C8%EB%CE%AC%CA%FD&page=1
还是有点不清楚。
是不是蓝线的第一个局部最小对应的横坐标为时间延迟?
s_cor(即红点)的最小值对应的横坐标为嵌入维数?


请指点一下。


另问
1、该结果是用skyhawk的程序算的,该程序中横坐标只算到20,而陆振波博士的做的CC程序中是算到200的,这个数值在一般情况下取多少合适?
2、原数据是一个5阶系统在随机信号下的仿真结果,理论上其嵌入维数不是应该是5吗?为什么结果是这样的?
回复
分享到:

使用道具 举报

 楼主| 发表于 2010-5-5 15:48 | 显示全部楼层
有人指点一下吗?急求啊!!!
发表于 2010-5-5 21:42 | 显示全部楼层
原帖由 notemple 于 2010-5-3 20:54 发表
我已经通过CC方法计算出了时间序列的delt_s和s_cor,但不是很清楚哪个是时间延迟,哪个是嵌入维数。
45098
红点是s_cor,绿点是delt_s。
看了winterdij的帖子http://www.chinavib.com/forum/viewthread.php?tid=5 ...

能把计算的代码给我一份不?谢谢
409904412@163.com
发表于 2010-5-11 09:19 | 显示全部楼层
delt_s第一个极小值是 时间延迟
scor_s最小值是嵌入窗口  据我所知
 楼主| 发表于 2010-5-11 11:07 | 显示全部楼层

回复 6楼 wyk_1216 的帖子

多谢,多谢,非常感谢
 楼主| 发表于 2010-5-11 11:07 | 显示全部楼层

回复 5楼 zj409904412 的帖子

已经寄过去了请查收
 楼主| 发表于 2010-5-11 11:19 | 显示全部楼层

回复 6楼 wyk_1216 的帖子

再请问一下那条蓝线表示的是什么意思?或者说能够看出什么结果?

从图中看的delt_s第一个极小值为7(时间延迟)
                 scor_s的最小值为8(嵌入窗口)
根据
嵌入窗口=时间延迟×(嵌入维数+1)/3

得到嵌入维数为2?

可是我实际上是5阶的方程得到的结果,嵌入维数不应该是5吗?

[ 本帖最后由 notemple 于 2010-5-11 11:36 编辑 ]
发表于 2010-5-11 15:37 | 显示全部楼层

回复 9楼 notemple 的帖子

为什么你的蓝线没有穿过纵轴值为零的直线呢 怎么全在零上面 我也不清楚 我也只是知道一些 问问高手 看怎么解释
正常的话 我感觉应该会穿过零
嵌入窗口=(m-1)×时间延迟 还是你的那个式子 哪个对啊?
 楼主| 发表于 2010-5-11 17:16 | 显示全部楼层
请高手指点!!!!
发表于 2010-5-13 20:32 | 显示全部楼层

回复 9楼 notemple 的帖子

就是啊,嵌入窗口Tw不是应该=(m-1)×时间延迟tau么?在运行CC程序后,可用下述程序找出Tw和tau
% 寻找时间延迟tau:即Sdeltmean第一个极小值点对应的t
for i=2:length(delt_s)-1
    if delt_s(i)<delt_s(i-1)&delt_s(i)<delt_s(i+1)
        tau=i;
        break;
    end
end
% 寻找时间窗口tw:即Scor最小值对应的t
for i=1:length(s_cor)
    if s_cor(i)==min(s_cor)
        tw=i;
        break;
    end
end
发表于 2010-5-13 20:59 | 显示全部楼层
对于楼主说的第一个问题,t 的取值与你的总的输入点数N有关,因为在把N个点分成t 个不相关的时间序列后,每个时间序列长度为N/t,在对子序列进行相空间重构时,需满足
N/t 大于(m-1)t,(t=tau).m=2:5这样就能算出t的最大值,如N=4000,4000/t>4t求出t<31.6,个人理解,仅供参考哈!
我之前也试过,当 t 取得较大时不满足上述关系,在重构相空间处会报错,就算满足上式,t 较大时(如大于25时),运行时间超级长。其实我有些不明白为什么CC算法程序中在子序列相空间重构时会将 t 作为时间延迟tau来处理。还请大家多多指教啊~~
 楼主| 发表于 2010-5-13 21:12 | 显示全部楼层

回复 12楼 zhl20062159 的帖子

非常感谢您的指点,谢谢
 楼主| 发表于 2010-5-13 21:14 | 显示全部楼层

回复 13楼 zhl20062159 的帖子

对于这个t不知道为什么加大,会加长运算时间。只是如果m取值比较大,会明显加大计算量,变得很慢
发表于 2010-5-14 10:51 | 显示全部楼层

回复 15楼 notemple 的帖子

在Chaos Toolbox Ver.2.0工具箱中的C_C算法里,一级循环不是对 t 的循环么?根据吕金虎《混沌时间序列分析及其应用》那本书里讲的CC算法,m一般取值为2:5吧。当然我在通过C_C算法求的嵌入维数 m和时间延迟tau后带入到G_P算法里,有增加m值的,这样运算起来也是比较慢滴~
发表于 2010-6-2 13:27 | 显示全部楼层

回复 16楼 zhl20062159 的帖子

你好,能否将Chaos Toolbox Ver.2.0工具箱给我发一份,我到处都下不到,谢谢啦!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 13:33 , Processed in 0.070335 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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