我知道 Holt Winters 的预测可能会由于趋势而导致负值。我确实降低了趋势成分值,但预测值仍然是负值。我们的数据集永远不会是负值(如电力数据集,它永远不会低于零)。
我们可以应用什么样的后置算法技术来使这个值成为非负值?任何帮助,将不胜感激。
这个实现是在 Java 中的,所以我现在不能使用ets()包(我假设ets()也不能避免负值)。

我知道 Holt Winters 的预测可能会由于趋势而导致负值。我确实降低了趋势成分值,但预测值仍然是负值。我们的数据集永远不会是负值(如电力数据集,它永远不会低于零)。
我们可以应用什么样的后置算法技术来使这个值成为非负值?任何帮助,将不胜感激。
这个实现是在 Java 中的,所以我现在不能使用ets()包(我假设ets()也不能避免负值)。

为了解决与 R 相关的部分问题,预测包中的 ets 函数包含一个 lambda 参数——如果为真,则使用 Box-Cox 转换,以保持预测严格为正。您也许可以在 Java 中使用相同的通用方法。
当你的数据必须是正数时,你不应该拟合一个可能会变成负数的模型,如果你这样做了,你不应该对它可能在那里预测感到惊讶。
如果您的值都严格,一种常见的方法是采用对数并在该比例上拟合(和预测)模型。
还有其他方法可以解决此类问题,但这可能是最简单的起点。
但是,您在转换预测时确实需要小心 - 如果您只是将它取幂,那么在对数尺度上的平均预测将不会是您将其转换回来后的平均值(但是,它可能是对中位数的一个很好的估计,并且如果你必须有一个平均值,可以进行调整)。