hnlzx 发表于 2007-3-22 18:06

我试一下EMD程序,做了4个已知道函数和1个实际问题的EMD分解,感觉其分解能力有了很大提高,4个已知函数中有3个是完全分解,没有趋势性余量;1个,出现了一个趋势余量,只点方差贡献率的0.1%。在一实际问题中,IMF数相同、趋势分量也有,但前面几个IMF在方差贡献率中占的比例比以前大,趋势分量占的比例要小;另外,各IMF和R的方差和同原数据的方差很接近,IMF等方差和为0.3992,原数据的方差为0.3894;老程序这两个方差分别为0.4248和0.3894。
由此看来,从试验结果看产生虚假信号的可能性大大降了,试验信号普遍少了一个。

程序性能改进较大!

[ 本帖最后由 zhlong 于 2007-6-14 23:08 编辑 ]

eight 发表于 2007-3-22 18:10

原帖由 hnlzx 于 2007-3-22 18:06 发表
我试一下EMD程序,做了4个已知道函数和1个实际问题的EMD分解,感觉其分解能力有了很大有提,4个已知函数中有3个是完全分解,没有趋势性余量;1个,出现了一个趋势余量,只点方差贡献率的0.1%。在一实际问题中, ...


赞一个,不过麻烦你再仔细修改一下你的错别字,行文不通顺,很难阅读的

qinle 发表于 2007-3-22 18:55

我用他的程序时,出现了isvector不存在的问题,在网上找了一下,说功能为:若为向量则为真. help 了一下6.5没有.是不是7.1有? hnlzx: 你是在7.1下运行的吗?并且压缩包中的example也运行不了,都说有错.还都是语法上的.难道真是我6.5的问题?

[ 本帖最后由 qinle 于 2007-3-22 18:59 编辑 ]

hnlzx 发表于 2007-3-22 22:42

我是在MATLAB7.0下运行程序的,用的是自己写的例子,其中一个是本论坛讨论边际谱时的例子。
按受老八的批评,下面我把试验结果重写一下:

1、用新版EDM程序对4组设定数据(都为两个不同周期成分相加)进行了分解。其中3组数据被分解2个IMF,没有趋势性分量,做到了完全分解!而老版程序会分解出2个IMF和1个趋势性分量。
      另外1组数据则被分解成2个IMF和1个趋势性分量,但趋势性分量的方差贡献率只有0.1%;而老版EMD则把此组数据分解成3个IMF和1个趋势分量。

2、还用新版EMD程序对1组实际观测数据进行了分解,结果显示两个版本的EMD都会分解出相同数量的IMF和趋势性分量。
   但新版程序分解出的前几个IMF的方差贡献率比老版程序分解出的要大,新版程序分解出的趋势分量的方差贡献率比老版程序的小;
   另外还比较一下两版EMD分解出的各分量的方差和与原始数据方差的关系:
   新版程序:各IMF和R的方差和同原数据的方差很接近,IMF和R方差和为0.3992,原数据的方差为0.3894;
   老程序:IMF和R方差和0.4248,原数据的方差为0.3894。

3、 从试验结果看,新版EMD程序产生的虚假信号成分少了,分解更彻底。程序性能有较大提高!

[ 本帖最后由 hnlzx 于 2007-3-22 22:44 编辑 ]

form 发表于 2007-3-23 14:50

hnlzx:弱弱问一下能否解释一下IMF方差贡献率这个含义,是不是有相关的文章,我想看看具体用途

qinle 发表于 2007-3-24 08:21

大家在试新程序时,用的是EMD? 我看了一下,CEMDC应该是新的吧,可是得编译才能用,我用了它提供的make_emdc总是不能成功: 选Lcc c version2.4就直接说不能成功, 选VC说没有complex.h,请用过的说一下怎么编译和设置,谢谢

hnlzx 发表于 2007-3-24 09:31

原帖由 form 于 2007-3-23 14:50 发表
hnlzx:弱弱问一下能否解释一下IMF方差贡献率这个含义,是不是有相关的文章,我想看看具体用途


      不好意思,我记得在一个与方差贡献率的贴子里,我们已经说得很多了,我知道的也就那么多,也提出了一些建议。我是从直观上理解的,方差贡献率大的成分比较重要。如果你不同意的,可以去查资料,统计方面的,因子分析等书和资料中都应该有。      这方面的资料你得自己、去证实,如果你还在上大学到图书找找这些书并不困难,如果已经参加工作那到书店或网上找找也一样可以了解的。
      光我说,你是很难理解的,最好你自己弄清楚。再说,我现在非常忙,没有时间去找详细资料、去从理论上给你解释,很抱谦。

hnlzx 发表于 2007-3-24 09:35

原帖由 qinle 于 2007-3-24 08:21 发表
大家在试新程序时,用的是EMD? 我看了一下,CEMDC应该是新的吧,可是得编译才能用,我用了它提供的make_emdc总是不能成功: 选Lcc c version2.4就直接说不能成功, 选VC说没有complex.h,请用过的说一下怎么编译和设置,谢谢


   EMD是新版的(看程序中的注释可知),CEMDC也是新版的,只是后者用了C语言承担部分运算功能,如老八说速度要快一些,我也没有编译成功,也没有时间去琢磨它。只要数据量不是太大,用EMD也行的。

eight 发表于 2007-3-24 10:00

原帖由 hnlzx 于 2007-3-24 09:35 发表



   EMD是新版的(看程序中的注释可知),CEMDC也是新版的,只是后者用了C语言承担部分运算功能,如老八说速度要快一些,我也没有编译成功,也没有时间去琢磨它。只要数据量不是太大,用EMD也行的。

正解,至于编译,我也没有太多时间搞,大家暂时用emd吧

form 发表于 2007-3-24 10:12

谢谢hnlzx ,我自己来找,以前看的文章没有提到过这个词。大家都是用7.0版本运行新emd吗?我的6.5有些问题

eight 发表于 2007-3-24 10:18

原帖由 form 于 2007-3-24 10:12 发表
谢谢hnlzx ,我自己来找,以前看的文章没有提到过这个词。大家都是用7.0版本运行新emd吗?我的6.5有些问题

Flandrin的网站对此做了说明,建议使用7.0以上版本运行最新的程序

tangaoming 发表于 2007-3-25 10:32

我是初学者,请问一下Flandrin网站地址是多少?谢谢

eight 发表于 2007-3-25 10:37

原帖由 tangaoming 于 2007-3-25 10:32 发表
我是初学者,请问一下Flandrin网站地址是多少?谢谢


google 搜索 emd.m, 第一个链接

下次遇到问题请先搜索论坛

hnlzx 发表于 2007-3-25 11:54

原帖由 form 于 2007-3-24 10:12 发表
谢谢hnlzx ,我自己来找,以前看的文章没有提到过这个词。大家都是用7.0版本运行新emd吗?我的6.5有些问题

我用的MATLAB7.0版本。
有关于方差贡献率,我是从下面的文章中看到的,也跟着做了一下:
张明阳,王克林,刘会玉,等.基于EMD的洪涝灾害成灾面积波动的多时间尺度分析.中国农业气象,2005,26(4):220-224.
刘会山,林振山,张明阳.基于EMD的我国粮食产量波动及其成因多尺度分析.自然资源学报,2005,20(51):745-751.

但上面两篇文章都只是应用的,里面用到方差贡献率,但没有定义。定义得另外去找了。

huangyong87 发表于 2007-3-26 16:21

关于G.Rilling2007年3月的EMD程序,我认为与2005年5月版主要不同之处在于:
1、EMD.M改进:改stop_sift系列3个子程序中平均与幅值计算。(特别是幅值改为amp=2./mean(abs(envmax-envmin),1);这个地方我不太理解,似乎原来的abs(envmax-envmin))/2并无不妥之处。请高手指点!)
2、增加复数EMD分解内容。(详情须看到作者的文章才能知道所说的算法1和算法2的内容。)
3、增加了EMD的C语言程序,缺少复数EMD需要的complex.h,但emdc和emdc_fix可编译。
4、emd_local和emd_online没有变化,和2003年时的一样。
这套程序只能在Matlab7.1SP3以上用,同时还需要TF Tool Box。
愿和大家交流!
页: 1 2 [3] 4 5 6 7 8 9 10
查看完整版本: EMD估计有新进展