[求教]关于IMF分量对原数据的方差贡献率的问题
:@) emd分解后,每个IMF分量对原数据的方差贡献率,怎样求啊?[ 本帖最后由 zhlong 于 2007-6-4 21:18 编辑 ] 我也试算一下方差贡献率,程序代码如下(代码中的imf是EMD的输出),也请大家顺便看看有没有什么问题?
%--------------------------------------------------------------------
%计算各IMF的方差贡献率
%定义:方差为平方的均值减去均值的平方
%均值的平方
imfp2=mean(imf,2).^2
%平方的均值
imf2p=mean(imf.^2,2)
%各个IMF的方差
mse=imf2p-imfp2
%方差百分比,也就是方差贡献率
mseb=mse/sum(mse)*100
%显示各个IMF的方差和贡献率
:@) 首先感谢一下。
我也是这样想的,但是这样计算imf的方差贡献率的方法,行得通吗?有理论支持吗?有书或文章支持吗? 还有方差表示本数据离散程度的,怎么解释就是对原数据的贡献率的大小呢? 不知道,我没有看到文章做详细说明的,可能得多找些文献(统计方面?)。
因为我们主要是看看数据的变化情况,对应的大概也就是数据的离散情况了。从这个角度看有一定道理。 你是说,用imf分量的方差来说对原数据贡献是合理的吗? 我认为是比较合理的
首先,IMF已经不是离散数据了,类似单一频率。
其它理由,上面已经说了。
要证明的话,可以做如下尝试:
已知的不同贡献率的东东合成一组数据,再用你的程序处理于看看合理不合理,至少这可算是一个简单的验证吧。
当然,最好的方法是查到或问到贡献率的定义!!!
我最近很忙没时间去查,可能得你自己动手去查去问了,要不就得等哪位高手看到这帖子,且有兴趣指点一二,才能了解了。 N = 200;% # of data samples
t = linspace(0,1,N);
x1 =sin(2*pi*50*t);
x2 =sin(2*pi*15*t);
x = x1+x2;
= emd(x);
emd_visu(x,t,imf,1);
%均值的平方
imfp2=mean(imf,2).^2
%平方的均值
imf2p=mean(imf.^2,2)
%各个IMF的方差
mse=imf2p-imfp2
%方差百分比,也就是方差贡献率
mseb=mse/sum(mse)*100
%显示各个IMF的方差和贡献率
方差贡献:
分量 方差 百分率
imf1 0.4967 49.4990
imf2 0.5058 50.4053
imf3 0.0005 0.0513
imf4 0.0002 0.0171
imf5 0.0003 0.0273 上面是我做了个实验:
x=sin(2*pi*40*t+2*pi*15*t)
结果不错.但是当在频率在2倍之外(如40/15)情况好,两倍以内高频贡献高多.不知道原因.
“我认为是比较合理的
首先,IMF已经不是离散数据了,类似单一频率。”对红色字怎样理解.
就是说单一频率的方差就能代表对原数据贡献大小吗?声明一下,我是学气候的,在信号处理上有应用,能不能介绍一下“信号处理方法”基础方面书或文献. 我还发现了一个规律:
原序列如果是sin+sin构造,贡献率比 1:1
2*sin+sin, 4:1
3*sin+sin, 9:1
3*sin+2*sin, 9:4
贡献率比是振幅的平方比,与频率(两频率是不同,要有一定差异)没有关系. 我上面说的话不是很准确,可能没有什么道理。只是想说明不是乱七八糟没有规律的数据。
你分析数据肯定是想要看它的变化情况(演变情况),方差是一定程度反映数据变化的一个指标,这在统计分析方面有定义,可以到网上查查。
关于贡献率,我是这么主观理解的(我没有查到过定义,只看到过结果):
即每个IMF是原数据分解而来的,所以IMF加起来就是原始数据了。就如你的例子,两个加起来就原始数据,它们的贡献率就应该它们在某个指标方面的比例。方差也是这样。
你要有时间的话,可以做几个尝试去验证:计算x1、x2和x的方差,看x1方差加上x2的方差是否等于x的方差,要是等就没有问题了;要是不相等的话,就只好给出一个定义了,x1的方差贡献率= x1的方差/分量方差的总和
其实,这个问题也没有太多可讨论的,我认为主要是一个定义问题,你如果是要写文章的话,你可以在文章里把上面的定义放进去,别人也就不能说你什么,因为你的意思是明确的。
要不就去查别人的原始定义,在多种中找,要费一点时间。但没有办法的。
方差可能要查统计方面的书,“信号处理方法”的书太多了,随便找本看一下就行,网上也有电子书。这方面我也不精通,让别人给你介绍吧。
[ 本帖最后由 hnlzx 于 2007-3-10 15:36 编辑 ] 原帖由 wyong0210 于 2007-3-10 15:25 发表
我还发现了一个规律:
原序列如果是sin+sin构造,贡献率比 1:1
2*sin+sin, 4:1
3*sin+sin, 9:1
3*sin+2*sin, ...
这个是应该的,因为在计算方差时,有幅值的平方运算。 有收获,感谢讨论 方差贡献率和能量比是一致的,其实方差就体现了信号的波动,也就能体现信号能量的大小。 shuihai707 发表于 2013-5-17 20:14 static/image/common/back.gif
方差贡献率和能量比是一致的,其实方差就体现了信号的波动,也就能体现信号能量的大小。
请问你有EMD的程序吗?能不能给我发一份,谢谢邮箱new13java@16{:{15}:}3.com
页:
[1]
2