为了对波形进行预处理以便以后执行独立分量分析(ICA)的正确步骤是什么?我知道如何做,尽管对此做进一步的解释并没有什么坏处,但是我对原因更感兴趣。
为了对波形进行预处理以便以后执行独立分量分析(ICA)的正确步骤是什么?我知道如何做,尽管对此做进一步的解释并没有什么坏处,但是我对原因更感兴趣。
Answers:
独立成分分析(ICA)用于将统计独立且最重要的是非高斯†成分的线性混合物分离为其成分。无噪声ICA的标准模型是
其中是观测值或数据向量,s是源信号/原始分量(非高斯),A是定义向量信号线性混合的变换向量。通常,A和是未知的。
ICA中有两种主要的预处理策略,即居中和美白/滚圆。进行预处理的主要原因是:
摘自G. Li和J. Zhang的介绍,“球形及其特性”,《印度统计》,第1卷。60,系列A,第一部分,第119-133页,1998:
离群值,聚类或其他类型的组以及曲线或非平坦表面附近的浓度可能是数据分析人员感兴趣的重要特征。通常,仅靠样本均值和协方差矩阵的知识就无法获得它们。在这种情况下,最好将均值和协方差矩阵中包含的信息分开,并迫使我们检查数据集的某些方面,而不是那些容易理解的性质。定心和球形化是一种简单直观的方法,它消除了均值协方差信息,并有助于突出显示超出线性相关性和椭圆形状的结构,因此通常在探索显示或分析数据集之前执行
1.居中:
居中是一个非常简单的操作,仅指减去均值。在实践中,可以使用样本平均值,并创建一个新的矢量X c ^ = X - ‾ X,其中¯ X是平均数据。在几何上,减去均值等效于将坐标中心平移到原点。始终可以将平均值重新添加到结果的末尾(这是可能的,因为矩阵乘法是分布式的)。
2.美白:
美白是变换该转换的数据,使得它具有同一性的协方差矩阵,即。通常,您使用样本协方差矩阵,
其中只是我对于适当的归一化因子(取决于x的维)的惰性占位符。创建一个新的增白矢量
这将具有的协方差。从几何学上讲,增白是缩放转换。这是Mathematica中的一个小例子:
s = RandomReal[{-1, 1}, {2000, 2}];
A = {{2, 3}, {4, 2}};
x = s.A;
whiteningMatrix = Inverse@CholeskyDecomposition[Transpose@x.x/Length@x];
y = x.whiteningMatrix;
FullGraphics@GraphicsRow[
ListPlot[#, AspectRatio -> 1, Frame -> True] & /@ {s, x, y}]
第一个图是两个均匀分布的随机向量或分量的联合密度。第二个显示乘以转换向量A的效果。正方形偏斜并缩放为菱形。通过与增白矩阵相乘,接合点密度回到一个正方形,该正方形从原始点开始稍微旋转。
如果在变换之后,存在接近零的特征值,则可以安全地丢弃这些特征值,因为它们只是噪声,只会由于“过度学习”而妨碍估计。
3.其他预处理
在某些特定的应用程序中可能涉及其他预处理步骤,这些步骤不可能在答案中涵盖。例如,我看过一些使用时间序列日志的文章,以及其他一些过滤时间序列的文章。尽管它可能适合于他们的特定应用/条件,但结果并不会延续到所有领域。
† 我相信,最多可以使用ICA的情况是可以使用ICA的,尽管我现在无法找到参考。
{-1,1}
NormalDistribution[]
第一个是两个不相关的高斯的联合密度,第二个是变换后的,第三个是变白后的。实际上,只有步骤2和3可见。