wanra 发表于 2010-11-1 16:39

matlab中的独立变量分析fastica

想用matlab中的fastcia做去噪处理,一共分析21个电极,即21维。经过=fastica(sig)之后,被降至5维。我想知道的是得到这些后,怎么做才能得到噪声信号,和去噪之后的信号。请大家帮忙,谢谢

wanra 发表于 2010-11-2 10:16

可能是我表述的不够清楚。再补充一下,为什么用ICA处理后,不是得到和原始数据同样维数的icasig,而是进行了降维,这个结果是否说明了信号中只有5个独立变量。那么对原始信号,消去这几个独立变量?
因为论坛里关于这个问题很少有讨论,希望借用这个帖子和大家讨论一下。

wanra 发表于 2010-11-2 16:45

既然没有人指导,我就试着自己缕一下思路。说不定也能帮助大家。但还是希望有经验的大侠们能够给予指导。
我在文献中看到主要思路是:
1.求出门限算子g (s)= sign (s)max (0, |s| - 2^(1/2)*Q^2)
其中s是通过=fastica(sig)计算得到,Q是噪声的方差。这里又存在一个问题,噪声是未知的,如何求噪声的方差呢?

ChaChing 发表于 2010-11-3 00:41

楼主的ICA好像比较接近讯号处理专业, fastica这函数并非matlab自带的, 个人还没能玩过!
或许请版主帮忙移动下版块, 或自己去那转转, 或静待高人路过

wanra 发表于 2010-11-3 11:25

回复 ChaChing 的帖子

谢谢教授的支持.
关于我在三楼说的求噪声的方差的问题,我想继续和大家探讨一下.mle函数是matlab中的最大似然估计函数,其形式是=mle(data,'distribution',dist),其中得到的PHAT是两位,前一位为均值,后一位为标准差。问题出在dist怎么选择,也就是如何确定数据的分布。具体方法我也没有想出,但是通过各个分布得到的均值与标准差,与用mean等简单方法得到的均值与标准差做比对,哪一组最接近,那么就属于哪一种分布。
这样就可以求出门限算子g (s),修正后的数据就是A×g (s)
期待大家的讨论

zhouyang664 发表于 2010-11-3 13:24

我感觉你应该去信号处理区看看!

ChaChing 发表于 2010-11-4 00:28

研学论坛有一专区"盲信号处理", 或许LZ可以去转转
希望学完再与大家分享:@)

wanra 发表于 2010-11-5 20:04

=fastica(data,'numOfIC',21,'g','tanh','stabilization','on', 'finetune','tanh', 'interactivePCA','on');
通过这些参数的限定,可以得到预期的维数的icasig。也就解决了降维的问题。但是新的问题是,每次得到的icasig的具体数据都不一样。还需要继续努力啊!

wanra 发表于 2010-11-10 09:02

问题解决了。主要是由于matlab的fastica工具箱中使用的算法对初始值的设定非常敏感,当遇到无法收敛时,就会重新设定初始值,而初始值的设定是随机的,因此就会导致每次得到的结果都有可能不同。
RobustICA工具箱也是matlab中用于处理独立变量分析的方法,这一方法更快速,而且避免了初始值问题。我用该方法进行了分析,得到了一致的结果,推荐大家使用

轴系摩擦 发表于 2012-2-23 22:27

回复 7 # ChaChing 的帖子

嗨 怎么收不到验证码呢 急死我啦 呵呵 不过还是谢谢你推荐的学研论坛

yazhoulong 发表于 2013-7-31 22:52

RobustICA工具箱可以介绍一下么?LZ

keshuang 发表于 2014-5-24 09:31

楼主,能给我发一下RobustICA工具箱吗?急,急,%>_<%跪谢了,邮箱bingu94@126.com

chybeyond 发表于 2014-5-24 11:15

keshuang 发表于 2014-5-24 09:31
楼主,能给我发一下RobustICA工具箱吗?急,急,%>_


zooney 发表于 2014-10-15 10:04

感觉ICA和PCA有很大的区别啊

qwelove44 发表于 2015-1-19 20:22

chybeyond 发表于 2014-5-24 11:15


hi,能发一下RobustICA工具箱吗?急用!非常感谢!1964370607@qq.com
页: [1] 2
查看完整版本: matlab中的独立变量分析fastica