微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以通过应用 tanh(x) 来处理数据中的异常值吗?

如何解决我可以通过应用 tanh(x) 来处理数据中的异常值吗?

我正在处理财务数据,无法假设呈高斯分布。所以我通过减去中位数并除以四分位距来标准化我的数据。这将 95% 的数据放入范围 [-2,2]。其余的是一堆疯狂的异常值,可能高达 -8、28、47 等。

但我仍然不想把异常值扔掉。因此,我将 tanh(x) 应用于我的整个标准化时间序列,并且 [-2,-2] 范围内的大多数数据现在映射到 [-0.95,0.95],并且疯狂的异常值现在已饱和接近 -1 和 1,真正疯狂的都精确地映射到 -1 和 1。在整个过程中保持顺序,因为 tanh(x) 是一个单调函数。而且机器学习算法不必在绝对值比其他数字大得多的数字上浪费时间和精力。极端异常值现在都分为两组,-1 和 1。

顺便说一下,tanh 压缩不会破坏太多的唯一值。也就是说,接近值不会被 tanh 折叠为相同的值。在 tanh 之前和之后的时间序列中,我获得的唯一值数量几乎完全相同。

数据将输入神经网络、随机森林和梯度提升决策树。 (尽管决策树不太关心异常值,但我还是想强制所有指标都在相同的范围内 [-1,1])。

与丢弃异常值相比,我的方法有哪些不良后果?我错过了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。