chenwenjuan86 发表于 2007-7-25 11:01

疑问

当我计算上面附件中的数据500:1500的平均周期时
p=5.3767,但在图1中,数据是明显分为两层的
是不是因为受噪声影响?

octopussheng 发表于 2007-7-27 08:42

回复 #16 chenwenjuan86 的帖子

C-C方法只能得到最佳延迟时间,嵌入维数需要用G-P算法算出关联维d,然后利用嵌入维数m>2d+1的关系来确定,而且陆振波在他的论文里指出:小数据量法对延迟时间和嵌入维数的选取并不敏感

至于平均周期,他认为——在原混沌序列平均周期无法确定的情况下,可以不考虑限制短暂分离,即设定p=1,也可以得到较好的结果!

我建议你可以安装这些设置,算下试试!有结果了贴出来再讨论讨论!

octopussheng 发表于 2007-7-27 08:44

还有一点,小数据量法无法计算纯噪声的信号,如果你的序列噪声信号太强的话肯定是不适用了!需要注意注意!

无水1324 发表于 2007-7-27 08:48

原帖由 octopussheng 于 2007-7-27 08:44 发表 http://www.chinavib.com/forum/images/common/back.gif
还有一点,小数据量法无法计算纯噪声的信号,如果你的序列噪声信号太强的话肯定是不适用了!需要注意注意!
小数据量法对延迟时间和嵌入维数的选取并不敏感

这个怎么理解,我在实际计算中受嵌入维数影响很大啊

octopussheng 发表于 2007-7-27 08:56

这个是陆振波论文里面以Logistic映射和Lorenz系统为例证明的,我现在还没有用我的系统去证明,呵呵,实际上我认为他的意思应该表述如下:

嵌入维数的选取有GP方法和FNN(假最邻近方法)等,通过这写(些)方法计算出的嵌入维数肯定是有一定的差别的,但是这种差别对最大LE的影响是有限的

决不是说小数据量方法对任意选取的嵌入维数不敏感。

关键还在于嵌入维数也不是我们自己任选的,也是要通过算法来计算的!

[ 本帖最后由 无水1324 于 2007-7-27 09:19 编辑 ]

chenwenjuan86 发表于 2007-7-27 09:13

回复 #17 octopussheng 的帖子

但是在我用G-P算法计算关联维时,出现了一个问题,当m增加到10以后,关联积分等于0,请问为什么会出现这种情况?
另外,用G-P算法和小数据量方法计算时,都存在一个判定线性区域的问题,这样得到的结果是否很容易受到主观的影响?

无水1324 发表于 2007-7-27 09:20

关联维随嵌入维数的增加应该趋于一个问题的值,否则的话这个序列就是随机的

chenwenjuan86 发表于 2007-7-27 09:30

回复 #22 无水1324 的帖子

但关联积分为什么会等于零呢?

octopussheng 发表于 2007-7-27 09:32

回复 #21 chenwenjuan86 的帖子

不知道吕金虎的那本《混沌时间序列分析及其应用》你看过没有

首先,用GP方法计算关联维数的时候,并不用计算关联积分,它通过d(m)=lnC(r)/lnr,C(r)为关联函数,而非你上面写的关联积分,由拟合求得对应于预先定义的较小的m0的关联维数预计值d(m0)

然后,增加嵌入维数m1>m0,重复计算d(m),直到d(m)不再随着m的增加而在一定误差范围内不变为止。

建议你检查一下你的程序或者方法,看看是否有问题!

第二个问题——在陆振波文章中指出,曲线y(i)~i最终达到饱和之前,曲线y(i)-y(i-1)~i随着i的变化相对较小的区域即是理想的线性区域,其线性区域的下界为(m-1)t+1,t为时间延迟,

这方面的我没有做过,你可以参考一下这篇文章:
陆振波——关于小数据量法计算最大Lyapunov指数的讨论

chenwenjuan86 发表于 2007-7-27 10:01

回复 #24 octopussheng 的帖子

不好意思,刚才打错了,是计算出的关联函数在m>10后为0
程序如下:
function D=GP_Algorithm(data,tau,max_m)
% GP算法求关联维和嵌入维
%clc
%---------------------------------------------------
x=data;
X = normalize_1(x);

%---------------------------------------------------'

disp('----- GP算法求关联维和嵌入维 -----');

% t = 1;
m_vector = 1:max_m;
r_vector = exp(-5:0.25:1);

num_m = length(m_vector);
num_r = length(r_vector);
ln_Cr = zeros(num_m,num_r);

%------------------------------------------------------
% tic
type_norm = 2;       % 使用范数类型 (缺省值为2)
                  % type_norm = 0,1,2时,分别对应无穷范数、1范数和2范数
block = 1;         % 分块计计算关联积分 - 分块数 (缺省值为1)
                  % t越大速度越快,但有误差
for i = 1:num_m
    i
    for j = 1:num_r
      % 计算关联积分S(m,N,r,t), 参见 <<混沌时间序列分析及应用>> P35 式(2.29)
      m = m_vector(i);
      r = r_vector(j);
      %ln_Cr(i,j) = log(CorrelationIntegral(m,X,r,t)); % 缺省用法
      ln_Cr(i,j) = log(CorrelationIntegral(m,X,r,tau,type_norm,block));
    end
end
% t = toc
subplot(211)
ln_r = log(r_vector);
plot(ln_r,ln_Cr','+:');grid;
xlabel('ln(r)'); ylabel('ln(C(r))');
title(['norm = ',num2str(type_norm),', block = ',num2str(block),', t = ',num2str(tau)]);
legend('m=2','m=3','m=4','m=5',4)
subplot(212)
%------------------------------------------------------
    % 拟合线性区域
for i=1:num_m
   A=find(ln_Cr(i,:)~=-inf);
   t=A(1);
    LinearZone = ;
    F = polyfit(ln_r(LinearZone),ln_Cr(i,LinearZone),1);
    D(i) = F(1);
end
plot(D,'+:'); grid;

无水1324 发表于 2007-7-27 10:08

原帖由 chenwenjuan86 于 2007-7-27 09:30 发表 http://www.chinavib.com/forum/images/common/back.gif
但关联积分为什么会等于零呢?

 没有遇到过,这个只能在理论上出现吧

chenwenjuan86 发表于 2007-7-27 10:13

原帖由 无水1324 于 2007-7-27 10:08 发表 http://www.chinavib.com/forum/images/common/back.gif


 没有遇到过,这个只能在理论上出现吧

我用的数据是15#中的 1600:4000。
用G-P算法运算,当m>10,关联函数就为0
理论上什么时候会出现这种情况呢?

octopussheng 发表于 2007-7-27 10:20

呵呵,这个就不知道了,没有遇到这种情况!

chenwenjuan86 发表于 2007-7-27 10:43

再请问一下,使用tstool读取mat格式的数据时,会出现一个对话框,enter variable to load,应该在对话框中输入什么呢?

octopussheng 发表于 2007-7-29 10:14

没有用过你说的这个tstool,呵呵,不好意思帮不上忙!
页: 1 [2] 3
查看完整版本: 判断混沌时间序列有哪些方法