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

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



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

寻找任何建议或建议洞察力。

#1 楼

从概念上讲,要使ICA起作用,它需要对SAME现象进行N次观察,并且它将尝试将这些信号(混合物)分解为
根据您的描述,每个探测器都在计数不同的能量粒子。也就是说,“混合物”实际上已经是三个不同的信号。考虑以下示例,在该示例中,您使用4个不同麦克风的录音来尝试区分2个不同(相互独立)的声源。在这种情况下,每个麦克风都记录(不同)两个声源的总和。在您的情况下,由于您观察到的现象,每个“麦克风”(检测器)都不会同时记录(不同)两个源,而是(大多数情况下)分别记录每个源。

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

因此,也许您应该考虑一些简单的事情,例如获得三个事件中每个事件记录的事件之间的互相关。

但是在这种情况下,您没有创建1000个三重观测值,而是创建了三个不同的时间序列。每个探测器一个时间序列,描述每个探测器的事件(时间)。

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

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

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

#2 楼

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