2. 成都理工大学地球物理学院 成都 610059;
3. 电子科技大学成都学院 成都 610051
2. College of Geophysics, Chengdu University of Technology Chengdu 610059;
3. Chengdu College of University of Electronic Science and Technology of China Chengdu 610051
独立成分分析(independent component analysis, ICA)是文献[1]提出的一种重要的盲源分离方法。该方法基于反馈神经网络,仅能用于两个混迭源信号的分离。文献[2]提出了一种解决非线性混迭信号盲分离问题的算法,文献[3-6]进一步研究了非线性混迭信号盲分离。传统的ICA方法没有考虑异常数据的影响[7-17]。而异常数据检测在信号诊断、财务监控、网络入侵检测、贷款审批等很多领域有重要用途。
异常数据检测的方法有多种,目前常用的方法大致有以下4种。
1) 基于统计模型。通过数据的变异指标发现数据中的异常点,如:极差、均差、四分位数距离等。变异指标的值越大表示变异越大、散布越广;值越小表示离差越小,越密集。
2) 基于距离模型。该方法避免了过多的计算问题,不依赖统计检验,将不具有多个“邻居”的对象检测出来。基于单元、索引的算法和嵌套-循环算法都是属于目前比较成熟的基于距离模型的异常数据挖掘算法。
3) 基于密度模型。计算对象的局部异常因子越大,发生异变的可能性越大。
4) 基于偏离模型。该方法模拟人的思维方式,通过对一个连续序列的观察,发现其中个别数据与其他数据的不同。常采用序列异常技术和OLAP数据立方体技术。
在异常值的常规研究中,以上方法是检测异常数据集最重要的方法。基于统计学方法针对单个属性的数据,而数据挖掘问题要求在多维空间中发现异常点。当没有特定的分布检验时,检测出所有的异常点数据非常困难。而基于距离的异常数据挖掘方法要求用户多次试探设置参数。基于偏差的异常数据挖掘方法对实现复杂数据的效果不佳,这类方法往往不能检测误差较小的点。因此,上述方法不适合用于ICA数据流,特别是数据量大的多维数据流。
本文提出了一个有效的异常值检测技术,该方法主要基于影响函数并对观测数据进行投影分析,从而发现数据中的异常值。
1 算法原理假设存在n个随机变量,这些随机变量是在不考虑噪声的情况下,用n个未知独立源信号与混合矩阵A经过线性混合而得到,如图 1所示。ICA实际是对非高斯数据的一种线性变换,使得输出的分量之间是统计独立或尽可能独立。即它是依赖于源信号s彼此独立的条件完成分离任务,并寻求一个分离矩阵W,将其作用于观测信号x,估计出源信号y,故有:
$ \mathit{\boldsymbol{y}}(\mathit{\boldsymbol{t}}) = \mathit{\boldsymbol{WAs}}(t) $ | (1) |
式中,W为正交的分离矩阵,被定义为:
$ {\rm{E}}[({\boldsymbol{Wx}}) \cdot {({\boldsymbol{Wx}})^{\rm{T}}}] = {\boldsymbol{I}} $ | (2) |
$ \mathit{\boldsymbol{W}}{\mathit{\boldsymbol{W}}^{\rm{T}}}{\bf{ = }}{\boldsymbol{I}} $ | (3) |
式中,E(·)表示数学期望;T表示转置。
由于源信号s(t)和分离矩阵W都是不确定参数,在没有先验知识的情况下无法同时确定出这两个相关参数。优化分离矩阵W通过某种算法使得分离信号y(t)各分量之间相互独立性最大,以获得估计的源信号。
在ICA分析中,异常值可能出现在源信号或者观察到的信号中,噪声观测信号的模型为:
$ \mathit{\boldsymbol{y}}(t) = \mathit{\boldsymbol{WA}}[\mathit{\boldsymbol{s}}(t) + \mathit{\boldsymbol{N}}] $ | (4) |
式中,
如果N为脉冲噪声,它可以表示为:
$ \mathit{\boldsymbol{N}}= \sum\limits_{i = 1}^N {{b_i}\delta ({n_i})} $ | (5) |
式中,bi为脉冲噪声的振幅。脉冲噪声的特征具有近似平坦的频谱,作用时间短、幅值大。其产生原因主要由交流供电线路的干扰、继电器等引起的瞬时干扰。
然而,如果源信号中混入脉冲噪声信号,采用独立成分分析的传统方法不再有效。脉冲噪声可损害所观察到信号的统计学特性,此时,如果想让一个很小的残余点被显示出来,在使用传统的ICA方法之前,应采用以下方式对观测数据进行预处理操作。
为了分析ICA观测数据中的异常值,影响函数被定义为[7]:
$ {\bf{IF}}(\mathit{\boldsymbol{z}},\hat \theta ) = \mathit{\boldsymbol{B}}\psi (\mathit{\boldsymbol{z}},\hat \theta ) $ | (6) |
$ \mathit{\boldsymbol{B}}\psi (\mathit{\boldsymbol{z}},\hat \theta ) = \mathit{\boldsymbol{B}}\left( {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{z}}g({\mathit{\boldsymbol{w}}^{\rm{T}}}\mathit{\boldsymbol{z}}) + e\lambda \mathit{\boldsymbol{w}}}\\ {{{\left\| \mathit{\boldsymbol{w}} \right\|}^2} - 1} \end{array}} \right) $ | (7) |
式中,e是一个常数;g(·)是非多项式函数;B是一个不依赖于z的不相干的可逆矩阵,z是已预处理过的随机矢量:
$ \mathit{\boldsymbol{z}} = \mathit{\boldsymbol{V\bar x}} $ | (8) |
设
$ \mathit{\boldsymbol{V}} = {\mathit{\boldsymbol{D}}^{ - \frac{1}{2}}}{\mathit{\boldsymbol{E}}^{\rm{T}}} $ | (9) |
因此,有:
${\left\| {{\bf{IF}}(\mathit{\boldsymbol{z}},(\lambda ,\mathit{\boldsymbol{w}}))} \right\|^2} = {K_0}{\left[ {\left| \mathit{\boldsymbol{z}} \right|g({\mathit{\boldsymbol{w}}^{\rm{T}}}\mathit{\boldsymbol{z}})} \right]^2} $ | (10) |
式中,K0是一个常数。
为简化分析,本文考虑两个信号源的情况。假设
如果选用一个具有较强鲁棒性的非多项式函数,根据
适合被选用的非多项式函数应该具有以下特征:1)估算g(·)不应该有统计上的困难。2)为了区分异常值和正常值,g(·)应该具有适当的鲁棒性,但不应该对异常值有强烈的鲁棒性。3) g(·)必须捕捉到
通过实验,本文选择一些适合的非多项式函数:
$ {g_1}(\xi ) = a\xi $ | (11) |
$ {g_1}(\xi ) = b(1 - {\tanh ^2}(b\xi )) $ | (12) |
$ {g_3}(\xi )\left\{ {\begin{array}{*{20}{l}} {\beta \xi \;\;\;\;\xi \le C}\\ {{\xi ^2} + \beta C - {C^2}\;\;\;\;\xi > C} \end{array}} \right. $ | (13) |
式中,a为常数;
异常值的检测阈值定义为:
$ {\rm{threshold}} = \sqrt {\sum\limits_{i = }^N {(\mathit{\bf{IF}}(z,(\lambda ,\mathit{\boldsymbol{w}})))_i^4} } $ | (13) |
式中,
为了验证该方法的有效性,本文从两个方面进行验证。仿真实验和非多项式函数所选用的参数都相同,所有的信号都具有零均值和单位方差。将正弦波信号、三角波信号和锯齿波信号(各自幅度分别为1.5, 1, 1)进行混合,并在已混合的信号中加入脉冲噪声信号,得到观测信号。
考虑源信号未混入与已混入高斯噪声这两种情况,通过对观察的信号和预测的非多项式函数信号之间进行比较,判断影响函数是否能满足要求。通过仿真,发现基于影响函数的异常值检测方法可以有效地找出混合信号中的异常值,如图 2、图 3所示。
图 2是观测信号不与高斯白噪声混合的情况下,利用
图 3是观测信号与幅度为1的高斯白噪声混合的情况下,利用
本文介绍了一种从观测信号中检测异常值的方法,该方法基于所观察到的信号的影响函数。不管在异常值检测中使用什么方法,主要目的是检测一组输入数据中的异常值,而不是预测新输入数据的异常值。与其他方法相比,本文所提出的异常检测方法可以避免计算的复杂性和先验知识的约束,采用非多项式函数查找观测数据的异常值,并通过实验结果证明了该方法能够有效地找到混合在ICA的观测数据中的异常值。
[1] |
HERAULT J, JUTTEN C. Space or time adaptive signal processing by neural network models[C]//AIP Conference Proceedings. [S. l. ]: [s. n. ], 1986: 151-206.
|
[2] |
BUREL G. Blind separation of sources: a nonlinear neural algorithm[J].
Neural Networks, 1992, 5(6): 937–947.
DOI:10.1016/S0893-6080(05)80090-5 |
[3] |
PARRA L, DECO G, MIESBACH S. Statistical independence and novelty detection with information preserving nonlinear maps[J].
Neural Computation, 1996, 8(2): 260–269.
DOI:10.1162/neco.1996.8.2.260 |
[4] |
YANG H H, AMARI S. Adaptive online learning algorithms for blind separation: maximum entropy and minimum mutual information[J].
Neural Computation, 1997, 9(7): 1457–1482.
DOI:10.1162/neco.1997.9.7.1457 |
[5] |
HYVÄRINEN A, OJA E. Independent component analysis: Algorithms and applications[J].
Neural Networks, 2000, 13(4): 411–430.
|
[6] |
DELORME A, MAKEIG S. EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics including independent component analysis[J].
Journal of Neuroscience Methods, 2004, 134(1): 9–21.
DOI:10.1016/j.jneumeth.2003.10.009 |
[7] |
CARDOSO J F, SOULOUMIAC A. Blind beamforming for non-Gaussian signals[J].
IEE Proceedings F (Radar and Signal Processing), 1993, 140(6): 362–370.
DOI:10.1049/ip-f-2.1993.0054 |
[8] |
BELL A J, SEJNOWSKI T J. An information-maximization approach to blind separation and blind deconvolution[J].
Neural Computation, 1995, 7(6): 1129–1159.
DOI:10.1162/neco.1995.7.6.1129 |
[9] |
BELOUCHRANI A, ABED-MERAIM K, CARDOSO J F, et al. A blind source separation technique using second-order statistics[J].
Signal Processing, IEEE Transactions on, 1997, 45(2): 434–444.
DOI:10.1109/78.554307 |
[10] |
史习智.
盲信号处理:理论与实践[M]. 上海: 上海交通大学出版社, 2008.
SHI Xi-zhi. Blind signal processing-theory and practice[M]. Shanghai: Shanghai Jiao Tong University Press, 2008. |
[11] |
HECKERLING P S. Parametric receiver operating characteristic curve analysis using mathematica[J].
Computer Methods and Programs in Biomedicine, 2002, 69(1): 65–73.
DOI:10.1016/S0169-2607(01)00179-1 |
[12] |
张兰勇, 刘繁明, 李冰. 基于聚谱分析的多通道盲信号自适应分离算法[J].
电子与信息学报, 2014, 36(1): 158–163.
ZHANG Lan-yong, LIU Fan-ming, LI Bing. Multichannel blind signal adaptive separation algorithm based on polyspectra analysis[J]. Journal of Electronics & Information Technology, 2014, 36(1): 158–163. |
[13] |
ANGIULLI F, FASSETTI F. Distance-based outlier queries in data streams: the novel task and algorithms[J].
Data Mining and Knowledge Discovery, 2010, 20(2): 290–324.
DOI:10.1007/s10618-009-0159-9 |
[14] |
BANERJEE R. Fair m-estimators as a cost function for FASTICA[C]//Signal Processing and Communication (ICSC), 2013 International Conference on. [S. l. ]: IEEE, 2013: 445-448.
|
[15] |
ALI R, ZAHRAN O, ELKORDY M, et al. Blind source separation for different modulation techniques with wavelet denoising[J].
Digital Signal Processing, 2013, 5(12): 418.
|
[16] |
KE-LIN D U, SWAMY M N S.
Neural networks and atatistical learning[M]. London: Springer, 2014.
|
[17] |
XU Bing-lin, LI Zhan-huai. An anomaly detection method for spacecraft using ICA technology[C]//International Conference on Advanced Computer Science and Electronics Information. Beijing: [s. n. ], 2013: 50-54.
|