我正在绘制来自各种测试的一些数据。有时在测试中我碰巧有一个异常值(比如 0.1),而所有其他值都小三个数量级。
使用 matplotlib,我绘制了范围 [0, max_data_value]
我怎样才能只放大我的数据而不显示异常值,这会弄乱我的图中的 x 轴?
我应该简单地取 95 个百分位数并在 x 轴上有范围 [0, 95_percentile]
吗?
原文由 Ricky Robinson 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在绘制来自各种测试的一些数据。有时在测试中我碰巧有一个异常值(比如 0.1),而所有其他值都小三个数量级。
使用 matplotlib,我绘制了范围 [0, max_data_value]
我怎样才能只放大我的数据而不显示异常值,这会弄乱我的图中的 x 轴?
我应该简单地取 95 个百分位数并在 x 轴上有范围 [0, 95_percentile]
吗?
原文由 Ricky Robinson 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答857 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
没有针对异常值的单一“最佳”测试。理想情况下,您应该合并先验信息(例如“这个参数不应该超过 x 因为等等……”)。
大多数异常值测试使用中位数绝对偏差,而不是第 95 个百分位数或其他一些基于方差的度量。否则,计算出的方差/stddev 将被异常值严重扭曲。
这是一个实现更常见的离群值测试之一的函数。
作为使用它的示例,您将执行以下操作: