<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
你好,
我目前正在寻找一种自动从分布中剔除异常值的方法。
我想知道是否有人有一个脚本在 JMP 数据表上执行 Dixon 的 Q 检验。
提前致谢,
热罗姆
感谢您使用我们的脚本。 我很高兴它很有用。 文件交换的众多原因之一是提供有用的工具来补充 JMP。 如果您希望将此异常值测试内置到 JMP 中,请访问 JMP 社区中的 JMP 愿望清单并提出请求。 您可以先搜索它(我没有),如果您发现已经提交了这样的请求,那么对其进行投票以增加其机会。
我不知道你引用的论文(Rorabacher 1991),所以它不是我剧本的基础。 不过,我使用了他引用的来源之一。 我使用了巴特利特和刘易斯(1994),尽管比罗拉巴赫使用的版本更新。 我同意他的观点,即此类测试很重要并且很有用。 我希望更多的科学家了解它们的含义以及如何正确使用它们。 我通常会看到一些人称之为“p 值钓鱼”的行为,其中应用测试直到其中之一“具有统计显着性”。 这种行为在异常值测试中尤其猖獗。
这些测试已经开发并重新审视了数十年。 计算技术和统计理论的改进使旧方法受益,因此我们都受益。这些测试是基于客观的,但它们依赖于主观选择:
- 合理测试异常值的最小样本量是多少?
- 我愿意承担 I 类错误和 II 类错误的哪些风险?
- 测试假设的满足程度如何?
- 我如何确定假设的满足程度?
- 我应该使用哪个测试? 也就是说,我对这些数据的具体污染过程有何看法?
至于你的具体问题,你说:“第一个问题是,脚本中的临界值似乎是指单尾测试,或者实际上是选择 0.05 选项时 90% 的 CL。 请参阅罗拉巴赫对于临界值列表,特别是对于 95% CL 的情况。 ”
我仔细检查了脚本并确认它使用了正确的临界值集,置信度为 95% 和 99%。 我进一步测试了与脚本结果一致的已发布示例。
另请注意,只有脚本提供的第一个测试(“上离群值或下离群值”)才能正确应用为双边测试。 所有其他测试都是单方面的,因此将这些测试的 alpha 加倍或使用两侧置信区间是没有意义的。 罗拉巴赫似乎在第 141 页犯了这个错误。 在任何检验或构建任何置信区间时,明确零假设和替代假设非常重要。
你说, ”在所附示例中,值 11.66 显然是异常值。 ”
我希望事情就这么简单明了。 在我作为分析化学家的这些年里,我见过很多案例,我想将一个观察结果称为异常值,但仅基于 3 个观察结果,这样的调用是没有根据的。 我如何知道这两个负值不是异常值? 随机变化(例如在总体样本中看到的随机变化)可以提供令人惊讶但仍然有效的观察结果。 有关总体的先验知识可用于增强测试,但这些测试不使用样本外部的信息。
使用临界值还会造成观察结果是异常值或不是异常值的错觉。 事实上,这些测试中使用的距离越远,证据就越有力。 这是信念的连续且非线性的变化。
你说, ”脚本显示的临界值是 Q0=1,实际上它应该是 0.971,与测试结果 Q=0.98 相比应该表明存在异常值。 ”
Rorabacher 指出了几十年来如何出现不同的临界值,所以我不会说“事实上,它应该是 0.971”。 每位作者都诚实地努力发展基于上述主观选择的批判价值观。 该值 0.971 代表了这些测试的另一个主观选择。 我坚持我对来源的选择q0我在脚本中使用的值。 但如果您更喜欢 Rorabacher 的值,欢迎您修改脚本。 脚本的优点之一是您不必等待 JMP 开发人员添加或增强该功能。
你好马克,
感谢您提供 Dixon 测试脚本,该脚本非常有帮助(我希望运行 Dixon 测试的能力将成为 JMP 的标准功能)。 我正在查看这个脚本,除非我遗漏了某些内容,否则我认为它可能存在两个问题。
为了演示它们,我使用了带有三个数字的双尾测试(列表中的第一个选项),如所附示例中所示。
第一个问题是,脚本中的临界值似乎是指单尾测试,或者实际上是选择 0.05 选项时 90% 的 CL。 请参阅罗拉巴赫对于临界值列表,特别是对于 95% CL 的情况。
在所附示例中,值 11.66 显然是异常值,如果使用单尾或双尾测试,则应检测到该异常值。 脚本显示的临界值是 Q0=1,实际上它应该是 0.971,与测试结果 Q=0.98 相比应该表明存在异常值。
再次,谢谢你。 我将感谢您的反馈。
Grubbs 测试和 Dixon Q 测试的脚本现在可在新的 JMP 文件交换中使用。
格拉布斯离群值检验
异常值的 Dixon Q 检验
我的剧本快完成了。 我正在验证它的操作和计算,并添加更多的查找表。 我会尽快将其提交到 JMP 用户社区中的文件交换。 我还将提交我为 Grubb 测试完成的脚本。