极少量检测异常值


12

给定十二个样本亮度值,我需要获得尽可能精确的主要稳定光源的亮度值。传感器不完美,光线有时会“闪烁”变亮或变暗,可以忽略不计,因此我需要进行异常检测(我认为?)。

我已经在这里阅读了各种方法的一些知识,但无法决定采用哪种方法。离群数事先未知,通常为零。闪烁通常与稳定的亮度有很大的偏差(足以与当前存在的平均值相混淆),但不一定如此。

以下是12个测量值的示例集合,以确保问题的完整性:

295.5214、277.7749、274.6538、272.5897、271.0733、292.5856、282.0986、275.0419、273.084、273.1783、274.0317、290.1837

我的直觉是,尽管292和295看起来有点高,但在特定的集合中可能没有异常值。

因此,我的问题是,这里最好的方法是什么?我应该提到的是,这些值是从零(黑色)点取光的RG和B分量的欧几里得距离得出的。如果需要,返回到这些值在程序上会很痛苦,但有可能。欧几里德距离被用作“整体强度”的量度,因为我对颜色不感兴趣,而对输出强度不感兴趣。但是,我提到的闪烁有一个合理的机会与通常的输出具有不同的RGB组成。

目前,我正在玩某种功能,该功能会重复执行,直到通过以下方式达到允许的措施的稳定成员身份为止:

  1. 求标准偏差
  2. 将外面的所有内容说2个SD放入忽略列表
  3. 重新计算平均值和标准差(不包括忽略列表)
  4. 根据新的平均值和SD重新确定要忽略的人(评估所有12个)
  5. 重复直到稳定。

这种方法有什么价值?

感谢所有评论!


尽管令人痛苦,但您认为闪烁可能实际上具有不同的RGB成分(尽管有时与黑色之间的距离相似)的推测值得尝试。另一种选择是根据您的目标,仅使用中位数而不是均值。
韦恩

Answers:


7

小样本中的异常值通常很难检出。实际上,在大多数情况下,我会主张,如果您认为自己的数据没有被过分损坏,那么“异常”值可能就不会有问题,并且将其排除可能是不合理的。可能使用可靠的统计技术将更加明智,并且更接近于中庸之道。你有一个小样本;尝试使每个采样点计数。:)

关于您建议的方法:我不会急于对您的数据使用68-95-99.7规则执行正态性假设(因为您似乎以某种方式使用了2SD启发式规则)。切比雪夫(Chebyshev)的不等式曾一度以75-88.9-93.8的规则适用于他们,显然不那么严格。其他“ 规则 ”也存在;维基百科中“ 离群值”引理中的“ 识别离群值”部分具有许多启发式方法。

这是另一个:我在此问题上遇到的免费书籍参考,《 NIST / SEMATECH统计方法电子手册》,提出了Iglewicz和Hoaglin(1993)提出的以下想法:使用经过修改的得分,使得:ž中号

中号一世=.6745X一世-X/中号一个d

其中是您的中位数,MAD是样本的中值绝对偏差。然后假设绝对值大于3.5是潜在的离群值。这是一个半参数建议(大多数情况下,此处的参数为)。在您的示例案例中,它将略微排除您的295.5,但明确保留您的292.6度量...(对于有价值的情况,我不会在您的示例案例中排除任何值。)X中号3.5

同样,假设您的样本量很小,如果您认为样本没有明显损坏(人高9'4”),我建议您不要急于排除数据。您的“可疑异常值”可能是未损坏的数据。使用它们实际上可以帮助而不是损害您的分析。


1
这是一个很小的要点,但很可能会咬人,特别是如果您的文档不小心被阅读或引用时:强烈建议不要使用表示中间值,因为它通常用于平均值。奇怪的是,似乎没有任何符号通常用于中位数,但是几乎任何东西都比更好,例如med或。X¯X¯X
Nick Cox 2013年

1
+1强调强大摘要的价值。另请参阅此站点上的其他线程。
Nick Cox 2013年

1
@NickCox:好点,我不知道我在想什么。现在更改了。谢谢你的建议。
usεr11852


0

首先指出-可能值得回到rgb颜色。丢弃数据很少会很好,并且rgb向量的大小不是表示亮度的唯一方法- 感知的亮度是不同的,HSV中的也是如此。

但是,将其放在一边并处理您拥有的数据,您是否考虑过将其作为分类问题而不是建模问题,并进行一些机器学习?您有一个输入,它是一个向量,其中有12个实数值(亮度读数)。您有一个输出,该输出是12个二进制值的向量(1 =内部,0 =离群)。获取几组亮度读数,并自己手工贴上标签,显示每组中哪个亮度读数是一个内部/异常值。像这样:

然后,通过某种分类器运行全部商品:

  • 您可以使用一个输出12个不同二进制值的单一分类器-神经网络将使您轻松进行设置。
  • 或者,您可以使用标准的二进制分类器(例如SVMlite)并训练12种不同的模型,一个模型对输出的每个元素是否是一个内部/异常值进行分类。

大功告成!无需大惊小怪地尝试找到将规则与孤立规则区分开的“规则”。只需获取一些看似合理的数据,然后让机器为您完成:)

~~~

编辑:顺便说一句,您提出的方法,其中您迭代拟合高斯,然后将每个样本分类为两个以上的标准差,作为一个离群值,看起来很像期望最大化算法。像这样:

  • 单个高斯分量(对Inlier建模)
  • 统一的背景成分(离群值)
  • 每一个的先验概率非显而易见地取决于高斯的宽度(“分类为2个标准差”规则)。
  • 在期望步骤中进行硬分类。

如果您确实选择了这条路线,那么可能值得使用EM算法并检查要在模型中建立哪些假设。

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.