wyong0210 发表于 2007-3-7 17:34

[求教]关于IMF分量对原数据的方差贡献率的问题

:@) emd分解后,每个IMF分量对原数据的方差贡献率,怎样求啊?

[ 本帖最后由 zhlong 于 2007-6-4 21:18 编辑 ]

hnlzx 发表于 2007-3-8 08:10

我也试算一下方差贡献率,程序代码如下(代码中的imf是EMD的输出),也请大家顺便看看有没有什么问题?

%--------------------------------------------------------------------
%计算各IMF的方差贡献率
%定义:方差为平方的均值减去均值的平方
%均值的平方
imfp2=mean(imf,2).^2
%平方的均值
imf2p=mean(imf.^2,2)
%各个IMF的方差
mse=imf2p-imfp2
%方差百分比,也就是方差贡献率
mseb=mse/sum(mse)*100
%显示各个IMF的方差和贡献率

wyong0210 发表于 2007-3-8 13:16

:@) 首先感谢一下。
我也是这样想的,但是这样计算imf的方差贡献率的方法,行得通吗?有理论支持吗?有书或文章支持吗?

wyong0210 发表于 2007-3-8 14:54

还有方差表示本数据离散程度的,怎么解释就是对原数据的贡献率的大小呢?

hnlzx 发表于 2007-3-9 08:16

不知道,我没有看到文章做详细说明的,可能得多找些文献(统计方面?)。
因为我们主要是看看数据的变化情况,对应的大概也就是数据的离散情况了。从这个角度看有一定道理。

wyong0210 发表于 2007-3-9 20:01

你是说,用imf分量的方差来说对原数据贡献是合理的吗?

hnlzx 发表于 2007-3-10 10:00

我认为是比较合理的
首先,IMF已经不是离散数据了,类似单一频率。
其它理由,上面已经说了。

要证明的话,可以做如下尝试:
已知的不同贡献率的东东合成一组数据,再用你的程序处理于看看合理不合理,至少这可算是一个简单的验证吧。

当然,最好的方法是查到或问到贡献率的定义!!!
我最近很忙没时间去查,可能得你自己动手去查去问了,要不就得等哪位高手看到这帖子,且有兴趣指点一二,才能了解了。

wyong0210 发表于 2007-3-10 14:19

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

wyong0210 发表于 2007-3-10 14:41

上面是我做了个实验:
x=sin(2*pi*40*t+2*pi*15*t)
结果不错.但是当在频率在2倍之外(如40/15)情况好,两倍以内高频贡献高多.不知道原因.


“我认为是比较合理的
首先,IMF已经不是离散数据了,类似单一频率。”对红色字怎样理解.
就是说单一频率的方差就能代表对原数据贡献大小吗?声明一下,我是学气候的,在信号处理上有应用,能不能介绍一下“信号处理方法”基础方面书或文献.

wyong0210 发表于 2007-3-10 15:25

我还发现了一个规律:
原序列如果是sin+sin构造,贡献率比 1:1
            2*sin+sin,                  4:1
            3*sin+sin,               9:1
            3*sin+2*sin,            9:4
贡献率比是振幅的平方比,与频率(两频率是不同,要有一定差异)没有关系.

hnlzx 发表于 2007-3-10 15:28

我上面说的话不是很准确,可能没有什么道理。只是想说明不是乱七八糟没有规律的数据。
你分析数据肯定是想要看它的变化情况(演变情况),方差是一定程度反映数据变化的一个指标,这在统计分析方面有定义,可以到网上查查。

关于贡献率,我是这么主观理解的(我没有查到过定义,只看到过结果):
    即每个IMF是原数据分解而来的,所以IMF加起来就是原始数据了。就如你的例子,两个加起来就原始数据,它们的贡献率就应该它们在某个指标方面的比例。方差也是这样。
   你要有时间的话,可以做几个尝试去验证:计算x1、x2和x的方差,看x1方差加上x2的方差是否等于x的方差,要是等就没有问题了;要是不相等的话,就只好给出一个定义了,x1的方差贡献率= x1的方差/分量方差的总和

其实,这个问题也没有太多可讨论的,我认为主要是一个定义问题,你如果是要写文章的话,你可以在文章里把上面的定义放进去,别人也就不能说你什么,因为你的意思是明确的。

要不就去查别人的原始定义,在多种中找,要费一点时间。但没有办法的。

方差可能要查统计方面的书,“信号处理方法”的书太多了,随便找本看一下就行,网上也有电子书。这方面我也不精通,让别人给你介绍吧。

[ 本帖最后由 hnlzx 于 2007-3-10 15:36 编辑 ]

hnlzx 发表于 2007-3-10 15:40

原帖由 wyong0210 于 2007-3-10 15:25 发表
我还发现了一个规律:
原序列如果是sin+sin构造,贡献率比 1:1
            2*sin+sin,                  4:1
            3*sin+sin,               9:1
            3*sin+2*sin,            ...

这个是应该的,因为在计算方差时,有幅值的平方运算。

唐三否 发表于 2013-5-17 10:35

有收获,感谢讨论

shuihai707 发表于 2013-5-17 20:14

方差贡献率和能量比是一致的,其实方差就体现了信号的波动,也就能体现信号能量的大小。

西域狼人 发表于 2013-6-6 23:52

shuihai707 发表于 2013-5-17 20:14 static/image/common/back.gif
方差贡献率和能量比是一致的,其实方差就体现了信号的波动,也就能体现信号能量的大小。

请问你有EMD的程序吗?能不能给我发一份,谢谢邮箱new13java@16{:{15}:}3.com
页: [1] 2
查看完整版本: [求教]关于IMF分量对原数据的方差贡献率的问题