当某些数据点为 0 时,在给定时间跨度内处理百分比变化的最佳实践?

Best practice for processing percent change over a given timespan when some data points are 0?

我有一个数据集,其中一些数据点为 0,我正在尝试对其进行处理,以便每个数据点都与前一个点相比发生百分比变化。问题是其中一些点的值为 0,因此有时计算相对于前一个数据点 0 的百分比变化会导致当前数据点等于无穷大。

有没有更好的方法来处理百分比变化,或者循环神经网络使用无穷大作为它的一些数据点是否合适?

我正在将这些数据输入由 Keras 支持的循环神经网络。

这是机器学习中的经典问题。在处理此类问题时,您需要应用 所谓的 平滑,通常是向分母添加一个小常数 eps。所以你需要应用以下转换:

ration = next_step / (eps + small_step)

我建议您将eps设置为大于1e5,因为1e6keras中使用的float32格式的小数点精度。