Skip to content

Latest commit

 

History

History
61 lines (55 loc) · 4.92 KB

异常点识别.md

File metadata and controls

61 lines (55 loc) · 4.92 KB

统计方法

  • 3∂原则
    • 数据需要服从正态分布
    • 只能解决一维问题:
  • 基于正态分布的离群点检测方法
    • 一元高斯分布校验:,如果概率值大小离群则代表为异常点
    • 多元高斯分布检测:
      • 假设 n 维的数据集合 ,可以计算 n 维的均值向量
      • 的协方差矩阵:
      • 得到
  • 马氏距离
    • 假设是均值向量,其中S是协方差矩阵。
  • 统计检验
    • 是a在第i维上的取值,是所有对象在第 i 维的均值,n是维度
  • 箱型图
    • IQR,[Q1-3/2(Q3-Q1),Q3+3/2(Q3-Q1)]

矩阵分解方法

  • PCA
    • 去除均值后的协方差矩阵对应的特征值和特征向量,按照特征值排序,topN个特征向量组成新的低维空间
    • 核心:在于组合原始的特征,使得新的原始数据在新的低维度空间中的方差更大,特征更有区分力
    • 问题是没有做到剔除,只是对空间上的表现进行了优化,尽可能的压缩异常点在新空间中作用
  • SVD
    • 假设 dataMat 是一个 p 维的数据集合,有 N 个样本,它的协方差矩阵是 X。那么协方差矩阵就通过奇异值分解写成:
    • 其中 P 是一个 (p,p) 维的正交矩阵,它的每一列都是 X 的特征向量。D 是一个 (p,p) 维的对角矩阵,包含了特征值
    • 可以认为是dataMat在主成分topj上的映射
    • 最后还需要拉回原空间:
    • 异常值分数(outlier score): +

特征值和特征向量的本质是什么?

  • 一个特征向量可以看成 2 维平面上面的一条线,或者高维空间里面的一个超平面
  • 特征向量所对应的特征值反映了这批数据在这个方向上的拉伸程度

矩阵乘法的实际意义?

  • 两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。
  • 矩阵点乘向量的意义是将右边的向量变换到左边矩阵中每一行行向量为基所表示的空间中去。

密度的离群点检测

  • 定义密度为到k个最近邻的平均距离的倒数。如果该距离小,则密度高,反之亦然。另一种密度定义是使用DBSCAN聚类算法使用的密度定义,即一个对象周围的密度等于该对象指定距离d内对象的个数。
    • 我们可以通过随机选择联通点,人为设置联通点附近最小半径a,半径内最小容忍点个数b,再考虑密度可达,形成蓝色方框内的正常数据区域,剩下的黄色区域内的点即为异常点。
  • Local Outlier Factor算法
  • 孤立森林:
    • 经验1:每棵树的最大深度limit length=ceiling(log2(样本大小))
    • 经验2:树的个数在256棵以下 缺点:
    • 计算量大:o(n^2)
    • 需要人为选择阈值

聚类的离群点检测

  • 一个对象是基于聚类的离群点,如果该对象不强属于任何簇,那么该对象属于离群点。
  • 缺点也就是聚类的缺点,包括初始点对结果的影响,数据是否保持凸型对结果对影响,簇的个数的选择

如何处理异常点?

  • 删除含有异常值的记录:直接将含有异常值的记录删除;
  • 视为缺失值:将异常值视为缺失值,利用缺失值处理的方法进行处理;
  • 平均值修正:可用前后两个观测值的平均值修正该异常值;
  • 生成列新特征:category异常
  • 不处理:直接在具有异常值的数据集上进行数据挖掘;