task3:线性相关方法
1前言
真实数据集中不同维度的数据通常具有高度的相关性,这是因为不同的属性往往由相同的基础过程以密切相关的方式产生的。在古典统计学中这被称为回归建模,一种参数化的相关性分析。一类相关性分析试图通过其他变量预测单独的属性值,另一类用一些潜在变量来代表整个数据。前者的代表是线性回归,后者的一个典型例子是主成分分析。
需要明确的是,这里有两个重要的假设:
假设一:近似线性相关假设。线性相关假设是使用两种模型进行异常检测的重要理论基础。
假设二:子空间假设。子空间假设认为数据是镶嵌在低维子空间中的,线性方法的目的是找到合适的低维子空间使得异常点在其中区别于正常点。
2线性回归
假设不同维度的变量具有一定的相关性,并可以通过一个相关系数矩阵进行衡量,因此对于特定的观测值,可以通过线性方程组来建模。但是,在实际应用中,观测值的数量往往远大于数据维度,导致线性方程组是一个超定方程,不能直接求解。因此需要通过优化的方法,最小化模型预测值与真实数据点的误差。
异常检测中不会对任何变量给与特殊对待,异常值的定义基于基础数据点的整体分布。
2.1基于自变量与因变量的线性回归
最小二乘法:
以多元线性回归为例,
X为自变量,Y为因变量,余下的为可训练参数。假设数据共包含N个样本,第j个样本包含的数据为xj1,…,xjd和yj,可得:
ϵj 表示第j个样本的误差。
因变量矩阵可表示为[y1,…,yn]T,自变量矩阵为N*(d+1)维,用U表示,其中第j个样本的自变量向量为[x1,x2,…,xd,1],A表示系数矩阵,系数矩阵为(d+1)维,A=[a1,a2,…,ad+1]T。模型可以表示为:
f(U,A)=U⋅A
以均方差定义目标函数:
目标函数是关于A的凸函数,其对A求偏导:
令∂L(A)/∂A=0 ,得到最优解:
A=(UT⋅U)−1⋅(UT⋅Y)
上面的求解过程要求(UT⋅U)可逆,当(UT⋅U)不可逆时可以通过两种方法进行参数估计。
第一种方法是先使用主成分分析法来预处理数据,消除不同特征之间的相关性,然后使用最小二乘法。主成分分析就是对原始的存在相关性的特征的线性组合,得到新的特征,新的特征线性无关,此时新的特征的(UT⋅U)就是可逆的,就可以使用最小二乘法实现最优值的求解。
第二种方法是使用梯度下降法。
梯度下降法:
解析解:最小化问题可以直接用公式表达出来。
数值解:大多数深度学习模型没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。
在数值解的求取中,小批量随机梯度下降被广泛使用。
原理:先选取一组模型参数的初始值,如随机选取;接下来对参数进行多次迭代,使每次迭代都可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量(mini-batch),然后求小批量中数据样本的平均损失和该批次中模型参数的平均梯度,最后用此结果与预先设定的学习率的乘积作为模型参数在本次迭代的减小量。如下式所示:
3主成分分析
3.1原理推导
对于 d 维,包含 N 个样本的数据,用 Ri 表示其中第 i 行为:[xi1,…,xid]。由此可以得到d*d的协方差矩阵(标准的PCA应当计算相关系数矩阵):
Σ 是对称并且半正定的,对Σ 进行相似对角化:
P为标准正交矩阵,每一行为对应的特征向量,提供了数据应该投影的轴线方向。
与异常检测相关的主成分分析的主要性质如下:
(1)如果前 k 的特征向量选定之后(根据最大的k个特征值),由这些特征向量定义的 k 维超平面是在所有维度为 k 的超平面中,所有数据点到它的均方距离尽可能小的平面。
(2)如果将数据转换为与正交特征向量对应的轴系,则转换后的数据沿每个特征向量维的方差等于相应的特征值。在这种新表示中,转换后的数据的协方差为0。
(3)由于沿特征值小的特征向量的转换数据的方差很低,因此当沿这些方向的变换数据与平均值存在显著偏差时可能表示离群值。
在得到这些特征值和特征向量之后,可以将数据转换到新的坐标系中。以 Y1…YN 表示新坐标系中的数据,这些数据可以通过原始向量 Ri 与包含新轴系的标准正交特征向量矩阵 P 的乘积来实现。
Yi=Ri⋅P
在不选取任何特定的 k 维集合的情况下,一种更精确的异常检测建模方法是使用特征值来计算数据点沿每个主分量方向到质心的归一化距离。设 ej为第 j 个特征向量,λj 为沿该方向的方差(特征值)。数据点X¯相对于对数据质心μ¯的总体归一化异常得分可以由下式给出:
3.2归一化
当不同维度的尺度差别较大时,使用 PCA 有时并不能得到直观有效的结果。因此,时常需要对数据进行均值为0方差为1的标准化处理。这隐含地导致在主成分分析中使用相关矩阵而不是协方差矩阵。
4回归分析的局限性
(1)为了使回归分析技术有效,数据需要高度相关,并沿着低维子空间对齐。当数据不相关,但在某些区域高度聚集时,这种方法可能不会有效。
(2)数据中的相关性在本质上可能不是全局性的,子空间相关性可能是特定于数据的特定位置的。在这种情况下,由主成分分析发现的全局子空间对于异常检测是次优的。因此,为了创建更一般的局部子空间模型,有时将线性模型与邻近模型结合起来用。
5总结
真实数据中,数据不同属性之间往往具有显著的相关性。在这种情况下,线性建模可以提供一种有效的工具来从底层数据中移除异常值或者进行异常检测。对于基于因变量回归的应用,线性建模是一种工具,去除异常值对于提高此类应用的性能是非常重要的。在大多数情况下,主成分分析提供了去除异常值和进行异常检测最有效的方法,因为它对存在少数异常值的数据更有鲁棒性。