当数据中存在显著异常值时,量化值范围以保持精度的方法



请告诉我以下情况下是否有合适的量化方法(最好在python中实现)?

存在一个输入范围,其中大多数值距离平均值在+-2 std内,而存在一些巨大的异常值。例:[1,2,3,4,5,1000]将其量化到输出范围(例如0-255)将导致精度损失,因为巨大的异常值1000(1,2,3,4,5都将变为0)。

然而,重要的是要保持精度的值在几个std内的平均值。

丢弃异常值或用NaN替换它们是不可接受的。它们应该以某种形式保存下来。粗略地说,使用上面的例子,量化的输出应该类似于[1,2,3,4,5,255]

非常感谢您的意见。

我能想到两个答案。

  1. 你写了"巨大的异常值"。"离群值"一词表明,这个数字并不真正符合数据。如果你确实有证据表明这个观察结果不具有代表性(比如因为测量设备暂时损坏),那么我会忽略这个观察结果。
  2. 或者,可能会出现如此高的值,因为该变量可以真正跨越大范围的结果(例如,样本中有Elon Musk的收入变量)。在这种情况下我认为转换的输入,说先看数字的对数。这将把列表[1,2,3,4,5,1000]转换为[0,0.69,1.10,1.39,1.61,6.91]。

然而,无论选择1还是2,最好还是比较有和没有这个异常值的结果。你真的想避免你的结论是由这个单一的观察驱动的。

相关内容

  • 没有找到相关文章

最新更新