如果我将两个离散的信号源混合在一起,是否可以使用独立分量分析?


10

我了解(主要是)独立成分分析(ICA)如何处理来自一个总体的一组信号,但是如果我的观察值(X矩阵)包含来自两个不同总体(具有不同均值)的信号,并且我我想知道这是否是ICA的固有限制,或者我是否可以解决这个问题。我的信号不同于正在分析的常见类型,因为我的源矢量非常短(例如3个值长),但是我有很多(例如1000个)观察值。具体来说,我正在测量3种颜色的荧光,其中宽泛的荧光信号会“溢出”到其他检测器中。我有3个检测器,并在粒子上使用3个不同的荧光团。可以将其视为分辨率很差的光谱。任何荧光粒子可以具有任意数量的3种不同的荧光团。但是,我有一组混合的粒子,这些粒子倾向于具有截然不同的荧光团浓度。例如,一组通常可能具有大量的荧光团#1和少量的荧光团#2,而另一组通常具有#1的少量和大量的#2。

基本上,我想对溢出效应进行反卷积,以估计每个粒子上每种荧光团的实际量,而不是将来自一种荧光团的信号的一部分加到另一种荧光团的信号上。对于ICA来说似乎是有可能的,但是在某些重大失败之后(矩阵变换似乎优先考虑了分离总体而不是旋转以优化信号独立性),我想知道ICA是否不是正确的解决方案,或者我是否需要以其他方式预处理我的数据以解决此问题。

1个数据集中具有2个总体的FastICA算法的结果

这些图显示了用于证明问题的我的综合数据。从由两个人口组成的“真实”来源(面板A)开始,我创建了“真实”混合(A)矩阵并计算了观察(X)矩阵(面板B)。FastICA估计S矩阵(显示在C面板中),而不是找到我的真实来源,在我看来,它旋转数据以使两个总体之间的协方差最小。

寻找任何建议或见解。

Answers:


1

从概念上讲,要使ICA正常工作,需要对SAME现象进行N次观察,并且将尝试将这些信号(混合物)分解为<N个分量。

根据您的描述,每个探测器都在计数不同的能量粒子。也就是说,“混合物”实际上已经是三个不同的信号。考虑以下示例,在该示例中,您使用4个不同麦克风的录音来尝试区分2个不同(相互独立)的声源。在这种情况下,每个麦克风都记录(不同)两个声源的总和。在您的情况下,由于您正在观察的现象,每个“麦克风”(检测器)都没有记录(不同)两个源的总和,而是(大部分时间)分别记录了每个源。

正如您所描述的,有时SAME事件可能由多个检测器记录(溢出)。在这种情况下,如果您坚持使用ICA,则它将尝试分解THAT sum。

因此,也许您应该考虑一些更简单的事情,例如获得三个不同探测器中的每个探测器所记录的事件之间的互相关,以作为溢出量的指标。

但是在这种情况下,您无需创建1000个“三元组”观测值,而是创建三个不同的时间序列。每个探测器一个时间序列,描述每个探测器的事件(时间)。

如果您的检测器和aparatus足够快,则该信号将看起来像一系列指数衰减的脉冲。如果不是这样,您的信号将看起来像一连串脉冲,与系统的脉冲响应(平滑版本)卷积在一起。无论哪种情况,如果同一事件被多个检测器检测到,则这些检测器的输出将同时提高电平(并增加互相关或其他某种形式的相关度量)。在第一种情况下(快速系统),将更容易检测到上升。

因此,问题现在就变成了一个问题,您必须决定将哪个事件分配给该事件才能正确计数。有多种方法可以执行此操作(不使用ICA),但是您将必须了解检测器的频谱响应(脉冲幅度VS能量或电压输出VS能量)。然后,您可以通过查找检测器响应上每个脉冲的“权重”来创建计数粒子的加权总和。或者,您可以对脉冲应用“窗口”。也就是说,请考虑在检测器的峰值响应附近设置一个尖锐的阈值,并且仅对生成此类(通常为高)脉冲的事件进行计数。考虑到检测器峰值性能附近的区域较短,将拒绝由溢出产生的(较低)脉冲。

我希望这有帮助。我希望正确理解您的配置。


0

听起来您的“信号”确实不适合ICA。但是,看来您可能会从聚类算法中受益,尤其是如果您知道每种荧光团类型预期的不同信号(能级或波长)。您可以创建理想的合成聚类,并与之一起聚集成观测数据。通过改变簇的数量和其他参数,您应该能够将每个荧光团的溢出物弹出作为其他簇。频谱或层次聚类方法可能是最好的方法(与k均值相反)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.