异常检测-task 02

基于统计学的异常检测

1. 概述

 统计学方法对于数据的正常行做出假定,其假定正常的数据对象由一个统计模型生成,而不遵守该模型的数据是异常点。异常检测的一般思想是:对于已有的数据拟合一个生成模型,然后识别该模型低概率区域中的对象,将其视为异常点。统计模型的学习主要分为两种:

  • 参数方法:假定正常的数据是以 θ \theta θ为参数的参数模型产生的,该参数的分布为 f ( θ ) f(\theta) f(θ),该值越小,表明 x x x为异常点的可能性越小
  • 非参数方法:非参数方法试图从输入数据确定模型,通常假定参数的个数和性质是灵活的,不预先确定(非参数方法并不是说模型是完全没有参数的)

2. 参数方法

(1) 基于正态分布的一元异常点检测:通常采用3 σ \sigma σ原则或者箱线图
(2) 多元异常点检测:设计两个或者多个属性或者变量的数据称为多元数据
在这里插入图片描述
一般而言各个属性之间不是相互独立的,因此采用多元高斯分布:
在这里插入图片描述
在这里插入图片描述

(3) 混合参数模型
 在许多情况下假定数据是由正态分布模型生成的,而当实际数据非常复杂时,这种假定过于简单,因此可以假定数据是由混合分布生成的。
在这里插入图片描述
在这里插入图片描述

4. 非参数方法

 在异常检测的非参数方法中,正常数据的模型从输入数据进行学习,而非假定一个先验,非参数方法通常对数据做较少的假定,因此在很多场景下可以使用,如采用直方图进行异常检测:
(1) 构造直方图:使用输入数据构造一元或者多元直方图
(2) 检测异常点:(a)若一个对象落入直方图的某些箱中,则认为数据是正常的,否则认为是异常的(b) 更复杂的方法是采用直方图为每个对象赋予一个异常点得分,如令对象的异常点得分为该对象落入的箱的容积的倒数
 采用直方图的方法是一种非参数方法(不需要对数据的分布进行假定),但是缺点在于需要指定直方图的相关参数(如箱子是等宽还是等深的,直方图中每个箱子的大小等),如果箱子太小,则许多正常对象会被误认为异常点,而箱子太大时许多异常点会被认为是正常的

5. 基于角度的方法

 基于角度的方法主要是假定边界上的数据可能将数据点包围在一个较小的角度内,而内部数据点可能以不同的角度对其进行包围。如果数据点与其余点离得较远,则潜在角度可能较小,因此具有较小角幅度得数据点是异常点,而具有较大角度谱的数据点不是异常点。考虑三个点 X X X Y Y Y Z Z Z,则有:
    W C o s ( X Y → , X Z → ) = < X Y , X Z > ∣ ∣ X Y ∣ ∣ ∣ ∣ X Z ∣ ∣ WCos(\overrightarrow{XY},\overrightarrow{XZ})=\frac{<XY,XZ>}{||XY||||XZ||} WCos(XY ,XZ )=XYXZ<XY,XZ>
这是一个加权余弦,因为分母中包含 L 2 L_{2} L2范数,其通过距离的逆加权进一步缩小了异常点的加权角,而这也对角谱产生了影响,然后,通过改变数据点 Y Y Y Z Z Z,保持 X X X的值不变而计算所有角度的方法,相应的,数据点 X X X的基于角度的异常分数 ( A B O F ) ∈ D (ABOF)\in{D} (ABOF)D为:
A B O F ( X ) = V a r Y , Z ∈ D W C o s ( X Y → , X Z → ) ABOF(X)=Var_{Y,Z\in{D}}WCos(\overrightarrow{XY},\overrightarrow{XZ}) ABOF(X)=VarY,ZDWCos(XY ,XZ )

6. HBOS

  HBOS(Histogram-based Outlier Score)算法
是一种单变量方法的组合,其无法对特征之间的依赖关系进行建模,但是计算速度快,对大数据集比较友好。其基本假设是数据集的每个维度之间相互独立,然后对每个维度进行区间(bin)划分,区间的密度越高,异常评分越低。

  • HBOS算法流程:
    (1) 为每个数据点做出数据直方图,对分类数据统计每个值的频数并计算相对频率,对数值数据根据分布的不同采用以下两种方法:
    (a) 静态宽度直方图:标准的直方图构建方法,在值范围内使用K个等宽值。当样本落入每个桶的频率(相对数量)作为密度(箱子高度)的估计,其时间复杂度为 O ( n ) O(n) O(n)
    (b) 首先对所有的值进行排序,然后固定数量的 N k \frac{N}{k} kN个连续值装入一个箱内,其中N是总实例数,k是箱个数;直方图中的箱面积表示实例数,因为箱的宽度是由箱中第一个值和最后一个值决定的,所有箱的面积都是可计算的。这意味着跨度大的箱的高度低,即密度小,只有一种情况例外,超过k个数相等,此时允许在同一个箱里超过 N k \frac{N}{k} kN值。时间复杂度: O ( n × l o g ( n ) ) O(n\times log(n)) O(n×log(n))
    (2)对所有维度都计算了一个独立的直方图,其中每个箱子的高度表示密度的估计,为了使得最大高度为1(确保每个特征与异常值得分的权重相等),对直方图进行归一化计算,最后,每一个实例的HBOS值由以下公式得到:
    在这里插入图片描述

总结

1.异常检测的统计学方法由数据学习模型,以区别正常的数据对象和异常点。使用统计学方法的一个优点是,异常检测可以是统计上无可非议的。当然,仅当对数据所做的统计假定满足实际约束时才为真。

2.HBOS在全局异常检测问题上表现良好,但不能检测局部异常值。但是HBOS比标准算法快得多,尤其是在大数据集上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识图谱异常检测是指在知识图谱中找出与预期行为差异较大的数据对象的过程。这种检测可以帮助发现知识图谱中的异常点或离群点。异常点检测在许多领域中都有应用,例如广告点击反作弊和设备损坏等。异常点通常是与其他数据对象明显不同的数据对象。在知识图谱中,异常检测可以基于模式或基于社区的方法进行。基于模式的方法可以增强解释性,便于安全人员或领域专家进行事后分析追溯异常原因。然而,这些方法可能存在高假阳性率和难以确定阈值的问题。另一方面,基于社区的方法可以通过检测知识图谱中的社区结构来发现异常。这些方法可以提供更全面的异常检测,但可能缺乏解释性。因此,在知识图谱异常检测中,可以根据具体需求选择适合的方法。\[1\]\[3\] #### 引用[.reference_title] - *1* [无监督算法与异常检测](https://blog.csdn.net/weixin_41362649/article/details/105192615)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [知识图谱构建实战](https://blog.csdn.net/qq_40671063/article/details/123912566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [论文笔记——图异常检测](https://blog.csdn.net/qq_30101409/article/details/109134261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值