马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
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就会出错,那还不如不用直接对原时间序列进行重构就可以了,干嘛还要多此一举?难道用这个子程序有什么优化算法的作用?
论坛中好像出现过这样的一个帖子,但好像都没有正面回答
还望各位版主和高手赐教,在此万分感激。
|