声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1343|回复: 4

[分形与混沌] CC算法中分解子序列的疑惑

[复制链接]
发表于 2008-3-4 10:43 | 显示全部楼层 |阅读模式

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

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

x
算法中有一个子程序data_d=disjoint(data,N,t),将时间序列分解成t个不相交的子序列
data_d=disjoint(data,N,t)
for i=1:t;
   for j=1:(N/t);
      data_d(i,j)=data(i+(j-1)*t);
   end
end
问题一:
这些子序列的点的个数是不是一定要相等?
如:x1,x4,x7,x10,x13,x16
       x2,x5,x8,x11,x14
       x3,x6,x9,x12,x15
这样可以嘛?
问题2:
按程序中for j=1:N/t,就要求系列数N必须是t的整数倍(在循环中这是不可能了),否则就会丢掉原时间序列中的一些点,从而使后面重构的相空间少点。
如:N=16,m=2,t=3
按上述程序分解的子序列为:
               x1,x4,x7,x10,x13
               x2,x5,x8,x11,x14
               x3,x6,x9,x12,x15
按上述子序列重构的相空间为:
(x1,x4),(x4,x7),(x7,x10),(x10,x13),(x2,x5),(x5,x8),(x8,x11),(x11,x14),(x3,x6),(x6,x9),(x9,x12),(x12,x15)
而实际重构的相空间应该为:
(x1,x4),(x4,x7),(x7,x10),(x10,x13),(x13,x16),(x2,x5),(x5,x8),(x8,x11),(x11,x14),(x3,x6),(x6,x9),(x9,x12),(x12,x15)
如果上面我说的相空间是对的话,那用子程序disjoint就会出错,那还不如不用直接对原时间序列进行重构就可以了,干嘛还要多此一举?难道用这个子程序有什么优化算法的作用?
论坛中好像出现过这样的一个帖子,但好像都没有正面回答
还望各位版主和高手赐教,在此万分感激。

回复
分享到:

使用道具 举报

发表于 2008-3-4 18:47 | 显示全部楼层
第一个问题:
           子序列的点的个数不一定要相等,只需要满足disjioint的条件即可!

第二个问题:
           时间序列分析的基础是Takens定理,要求对序列进行相空间重构,这样分析可以提高精度和效率。

大家一起补充回答他的问题吧!
 楼主| 发表于 2008-3-4 19:48 | 显示全部楼层

回复 2楼 的帖子

先谢谢你的回答。
子序列的点数可以不等的话,那disjoint这个子程序就是错误的,需要补充。
另外,我知道要进行相空间重构,我的意思是,先前就不要将原序列分t个子序列,只要直接在
原序列基础上进行相空间重构就可以了。
发表于 2008-3-5 08:05 | 显示全部楼层
这个问题应该是可行的,我看Takens定理就是直接对原序列进行相空间重构的!
发表于 2008-3-26 09:35 | 显示全部楼层
我对楼主的问题也是一头雾水呢:@L ,如果N可以不是t的整数倍,那重构后的点坐标怎么和原序列相对应呢:@Q
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 13:55 , Processed in 0.056184 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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