异常检测 task03 — 线性模型

两种典型的线性模型

  真实数据集中不同维度的数据通常都具有高度的相关性,这是因为不同的属性往往是由相同的基础过程以密切相关的方式产生的,在古典统计学中,这被称为回归建模,一种参数化的相关性分析。
  相关性分析分为两种:一种是通过其他变量对某属性的值进行预测,其代表是线性回归;而另一种则是采用潜在变量来代表整个数据,其典型代表是主成分分析。

  • 两个重要假设:
    (1) 近似线性相关假设
    (2) 子空间假设:子空间假设认为数据是镶嵌在低维子空间中的,线性方法的目的是寻找到合适的低维子空间使得其中的异常点有别于正常点。

线性回归

 以一元线性回归为例:
     线性关系检验和回归系数检验的目的_线性关系检验和回归系数检验的目的
由于最小二乘算法一般要求观测矩阵线性关系检验和回归系数检验的目的_线性关系检验和回归系数检验的目的_02式可逆的,因此在其不可逆的时候往往是通过两种方式进行求解,一种是采用主成分分析来进行数据预处理,消除不同特征之间的相关性,然后再使用最小二乘法,第二种方法则是采用梯度下降算法。

  • 基于异常检测的线性回归:
      传统回归分析建模的目的是降低因变量的MSE,而异常检测中并不会给任何变量以特殊对待,异常值的定义是基于所有数据点的整体分布,因此需要一种更一般的回归建模:即以相似的方式对待所有变量,通过最小化数据对该平面的投影误差来确定最佳回归平面,在此情形下,假定我们有一组变量线性关系检验和回归系数检验的目的_特征值_03,则其对应的回归平面如下所示:
           线性关系检验和回归系数检验的目的_线性关系检验和回归系数检验的目的_04
    为了保证解的唯一性,对参数进行如下约束:
           线性关系检验和回归系数检验的目的_特征向量_05
    线性关系检验和回归系数检验的目的_特征向量_06范数为目标函数:
           线性关系检验和回归系数检验的目的_特征值_07
    本质上是寻找超平面使得投影误差最小。

主成分分析

线性关系检验和回归系数检验的目的_数据_08维平面,从而使得投影误差最小。
 对于线性关系检验和回归系数检验的目的_数据挖掘_09维数据,包含线性关系检验和回归系数检验的目的_线性关系检验和回归系数检验的目的_10个样本的数据,采用线性关系检验和回归系数检验的目的_线性关系检验和回归系数检验的目的_11表示其中第线性关系检验和回归系数检验的目的_数据挖掘_12行,由此可以得到线性关系检验和回归系数检验的目的_特征值_13维的协方差卷矩阵,而协方差仅需要减去均值即可:
   线性关系检验和回归系数检验的目的_特征向量_14
易知协方差矩阵线性关系检验和回归系数检验的目的_数据_15为对称半正定矩阵,因此可进行相似对角化运算:
   线性关系检验和回归系数检验的目的_特征值_16
 这里的线性关系检验和回归系数检验的目的_特征值_17为对角矩阵,对角元素为特征值,线性关系检验和回归系数检验的目的_数据挖掘_18为标准正交矩阵,每一行为对应的特征向量;这些标准正交向量提供了数据应当投影的轴线防线。与异常检测相关的主成分分析主要性质如下:

  • 如果前线性关系检验和回归系数检验的目的_特征值_19的特征向量选定之后(根据最大的线性关系检验和回归系数检验的目的_特征值_19个特征值),由这些特征向量定义的线性关系检验和回归系数检验的目的_特征值_19维超平面是在所有维度为线性关系检验和回归系数检验的目的_特征值_19的超平面中,所有数据点到它的均方距离尽可能小的平面
  • 若将数据转换为与正交特征向量对应的轴系,则转换之后的数据沿每个特征向量的方差等于相应的特征值,在这种新表示中,转换后的数据协方差为0
  • 由于沿着特征值较小的特征向量转换数据的方差较小,因此沿着这些方向的变换数据与平均值的显著偏差可能表示离群值
     需要注意的是,与线性回归模型相比,主成分分析提供了一个更为普遍的解决方法,线性回归的方法可以视为主成分分析中仅保留最大特征值对应的特征向量的过程(线性回归相当于仅寻求一组基函数使得离差平方和最小)。得到这些特征值和特征向量之后,可以将数据转换到新的坐标系中,以线性关系检验和回归系数检验的目的_数据_23来表示新坐标系中的数据,这些数据可以通过原始的向量线性关系检验和回归系数检验的目的_特征值_24与包含新轴系的标准正交特征向量矩阵线性关系检验和回归系数检验的目的_数据_25的乘积来实现:线性关系检验和回归系数检验的目的_特征向量_26。在许多涉及高维数据集的真实场景中,很大一部分特征值往往是趋于0的,这意味着大多数数据都沿着一个低维的子空间进行排列。
     在不选取任何特定的线性关系检验和回归系数检验的目的_特征值_19维集合的情况下,一种更精确的异常检测建模放大是采用特征值来计算数据点沿着每个主分量方向到质心的归一化距离。设线性关系检验和回归系数检验的目的_数据挖掘_28为第线性关系检验和回归系数检验的目的_线性关系检验和回归系数检验的目的_29个特征向量,线性关系检验和回归系数检验的目的_数据挖掘_30为沿着该方向的方差(特征值),数据点线性关系检验和回归系数检验的目的_特征向量_31相对于数据质心线性关系检验和回归系数检验的目的_数据挖掘_32的总体归一化异常得分可以由下式给出:
       线性关系检验和回归系数检验的目的_特征值_33
     值得注意的是,对异常得分的大部分贡献是由线性关系检验和回归系数检验的目的_数据挖掘_30较小的主成分的偏差提供的,这一点上文中有提及过。主成分分析比因变量回归更稳定的处理少数异常值的讯在。这是因为主成分分析是根据最优超平面来计算误差的,而不是一个特定的变量。当数据中加入更多的离群点时,最优超平面的变化通常不会达到影响离群点的选择。因此这种方法更有可能选择正确的异常值,因为回归模型一开始就相对准确。

归一化问题

 当不同维度的尺度差异很大的时候,采用PCA有时并不能得到直观有效的结果。部分数值较大数据可能会影响小数值数据的重要性。因此一个自然的想法是对数据进行标准化处理,这个问题并不是线性模型所独有的,对于大多数异常检测算法,均需要采用该方法对数据进行处理。

回归分析的局限性

 回归分析作为检测离群值得工具具有一定得局限性。这些缺点中最重要的就是在本章的一开始就讨论了:为了使得回归分析技术有效,数据需要高度相关,并且沿着低维子空间对齐。当数据不相关,但在某些我区域高度聚集时,这种方法可能不会有效。
 另一个相关的问题是,数据中的相关性在本质上可能不是全局性的,子空间相关性可能是特定于数据的特定位置的。在该种情形下,由主成分分析发现的全局子空间对于异常值是次优的,因此为了创建更一般的局部子空间模型,有时将线性模型与邻近模型结合起来是有用的。

总结

 真实数据中,数据不同属性之间往往具有显著的相关性,在这种情况下,线性建模可以提供一种有效的工具来从底层数据中移除异常值或者进行异常检测。对于其他基于因变量回归的应用,线性建模是一种工具,取出异常值对于提高此类应用的性能是非常重要的。在大多数情况下,主成分分析提供了去除异常值和进行异常检测的最有效的方法,因为其对于少数异常值的数据更具有鲁棒性。