具有虚拟功能(和其他离散/分类功能)的异常检测


18

tl; dr

  • discrete在执行异常检测时,推荐的处理数据的方法是什么?
  • categorical在执行异常检测时,推荐的处理数据的方法是什么?
  • 该答案建议使用离散数据仅过滤结果。
  • 也许用观察的机会代替类别值?

介绍

这是我第一次在此处发布信息,因此,如果在格式或使用正确的定义方面在技术上似乎不正确,那么我很想知道应该使用什么代替。

向前。

我最近参加了Andrew Ng 的机器学习课程

对于异常检测,我们已经教过如何确定给定特征/变量在数据集中的正态/高斯分布参数,然后在给定特定条件下确定一组选定的训练示例/观测值的概率高斯分布,然后取特征概率的乘积。xi

方法

选择我们认为可以解释所讨论活动的特征/变量: { x 1x 2x i }xi

{x1,x2,,xi}

适合高斯的参数对于每个特征: σ2=1

μj=1mi=1mxj(i)
σ2=1mi=1m(xj(i)μj)2

对于每个训练样例,,计算: p X = Ñ Π Ĵ = 1个 p X Ĵ ; μ Ĵσ 2 Ĵx

p(x)=j=1n p(xj;μj,σj2)

然后,给定:y = { 1,我们将其标记为异常(y=1

y={1p(x)<ϵ0p(x)ϵ

这为我们提供了确定示例是否需要进一步检查的方法。

我的问题

对于连续变量/功能,这似乎很好,但不处理离散数据。

什么虚拟变量,例如性别标志的特征,可能是所谓的[IsMale],可以是值?为了考虑虚拟特征,我们将使用二项分布代替来计算p x 吗?0,1p(x)

那么诸如汽车颜色之类的分类数据呢?虽然我们可以将颜色映射到数值,例如red1,blue2red1log()

问题:(更新时间:2015-11-24)

  • p(x)
  • p(x)
  • 是否有另一种方法可以完全考虑到我在这里可以进一步研究/学习的内容?
  • discrete在执行异常检测时,推荐的处理数据的方法是什么?
  • categorical在执行异常检测时,推荐的处理数据的方法是什么?

编辑:2017-05-03

  • 该答案建议使用离散数据仅过滤结果。
  • 也许用观察的机会代替类别值?

<免责声明>我是具有足够统计背景的人,很危险。</ disclaimer>让我们变得危险...。我的直觉与您的观点一致,即高斯不是处理非连续数据的方法。对于连续数据,数字行上的一个值与所有其他值的关系不同于整数行或二进制变量上的数字。二项分布描述了二元变量。多项式分布描述多项式变量。这些不是所有指数家庭成员吗?
EngrStudent-恢复莫妮卡


可能增加讨论范围的另一个问题:主题:绝对异常值?
Adrian Torrie 2013年

@iValueValue 第四个公式中的是多少?是吗pp(x;μ,σ2)=1σ2πe(xμ)22σ2
亚历山德罗·贾科普森

@uvts_cvs是,使用的是高斯概率密度函数。
阿德里安·托里

Answers:


4

通常,对于离散*和分类特征,此方法都不适合进行异常值分析。由于没有与分类预测变量相关的量,因此我们正在与:

  • 全球数据中观察到的类别的频率
  • 在数据子空间中观察到的类别的频率

请注意,正如您的高斯方法所要求的那样,无法单独分析这些品质。取而代之的是,我们需要一种将分类特征关联化并考虑数据相关性的方法。

以下是基于Aggarwal的异常值分析的一些用于分类和混合属性数据的技术:

  • 如果可以定义它建立在所有观测(无论数据类型的)一个半正定矩阵的相似度函数,计算所述相似性矩阵,发现其对角化小号= Q ķ λ 2 ķ Q Ť ķ,并使用非零本征向量Q ķ以计算特征嵌入ë = Q ķ λSS=Qkλk2QkTQkE=QkλkE
  • 如果您具有纯粹的分类特征,请拟合混合模型则将到原始分类数据。异常点的生成概率最低。
  • 对分类预测变量使用一键编码,对于具有非表观连续映射的序数变量,可以选择使用潜变量分析 **
    • 标准化非一键热特征(一键热特征已经隐式标准化)并执行主成分分析。使用最主要的成分进行降维(或使用特征值对特征向量加权的软PCA方法)并运行典型的连续离群值分析方法(例如,混合模型或高斯方法)
    • 执行基于角度的分析。对于每个观察,计算所有点对之间的余弦相似度。这些相似性的方差最小的观测值(称为“基于角度的离群因子”)最有可能是离群值。可能需要对ABOF的经验分布进行最终分析,以确定什么是异常。
    • 如果您标记了异常值:将预测模型拟合到工程数据(逻辑回归,SVM等)。

*离散特征大概可以用高斯方法处理。在适当的条件下,特征可以通过正态分布很好地近似(例如,npq> 3的二项式随机变量)。如果不是,请按照上述常规处理它们。

**这类似于您的“用观察的百分比机会替换类别值”的想法


ķ=1个

@Akababa例如,您可以使用EM算法计算多项式参数的MLE。假设多项式RV的独立性,此方法可推广到任意类别的预测变量集。这里的
khol

0

Andrew Ng类数学处理“离散”数据就像处理“非离散”数据一样。我们要做的就是凭经验估计正态分布参数,并且对于离散数据可以完美地完成。

如果您考虑一下,机器学习总会处理离散数据:数据点的数量不是无限的,计算机处理的位数也不是无限的。

如果可以比较离散的数据点之间的距离,则在处理长度为1.15英尺1.34英尺3.4英尺时,机器学习方法没有根本区别。

或树上有多少分支:1 2 3 5

您可以将总和与平均浮点数或整数相同。

现在,要分类数据。无法比较分类数据点(汽车,摩托车与船)。我们该如何处理?

类别的数量必须至少为两个才有意义,否则恒定功能的意义何在?在2个类别的情况下,我们可以将类别特征表示为二进制特征{0,1}。0和1可以用于数学运算,因此请参见上文。

如果类别数(K)为[3 .. inf],则将我们的单个特征映射到K个二进制互斥特征。例如,“摩托车”类别变为二进制特征{IsCar:0,IsMotorcycle:1,IsBoat:0}的组合,划船点变为{IsCar:0,IsMotorcycle:0,IsBoat:1},依此类推。

我们可以根据这些新功能估算经验分布参数。我们将仅拥有更多的维度,仅此而已。


1
这是在解释伪编码,但这并不是问题的答案
Pieter
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.