1

我试图了解 Amazon Forecast 使用我的历史销售数据创建需求预测所需的数据。我已经多次阅读文档。我仍然对相关时间序列中的“in_stock”字段应该如何运作感到困惑。这是我所指的“in_stock”字段描述的链接:

https://docs.aws.amazon.com/forecast/latest/dg/retail-domain.html#related-time-series-type-retail-domain

它说:

以下字段是可选的,可能有助于改进预测结果:

  • in_stock (integer; 1=true, 0=false) – 指定商品是否有货的标志。

这个字段到底是什么意思?是不是只有在销售数量为0时才设置为0?换句话说,如果给定日期的销售数量为 0,并且 in_stock 设置为 0,那么系统知道销售为 0 是因为产品不可用,而不是因为没有需求。

如果产品在一天中途缺货怎么办。会不会是您可能有 in_stock = 0 但当天也有销售的情况?

我也很困惑这个 in_stock 字段在他们的另一篇文档中如何发挥作用:

https://d1.awsstatic.com/whitepapers/time-series-forecasting-principles-amazon-forecast.pdf?did=wp_card&trk=wp_card

在第 10 页,他们说:

在零售案例研究中,零售商售出零件可用商品的信息与售出零件不可用商品的信息不同,要么是在其存在之外的时期,例如在其推出之前或在其弃用之后,要么在存在的期间,例如部分缺货,或者在此时间范围内没有记录销售数据。默认零填充适用于前一种情况。在后者中,即使相应的目标值通常为零,在被标记为缺失的值中也会传递附加信息。您必须保留丢失数据的信息,而不是丢弃此信息(请参阅以下示例,了解保留信息为何重要的说明)。要将不表示可用产品的零销售额的值编码为真正缺失的值,Amazon Forecast 允许用户在 create_predictor API 的 FeaturizationConfig 参数的 FeaturizationMethodParameters 键中指定中间填充和回填的填充类型。要将值标记为真正缺失,这些参数的填充类型应设置为 NaN。与零填充不同,使用 NaN 编码的值被视为真正缺失,并且不用于度量评估组件。这些参数的填充类型应设置为 NaN。与零填充不同,使用 NaN 编码的值被视为真正缺失,并且不用于度量评估组件。这些参数的填充类型应设置为 NaN。与零填充不同,使用 NaN 编码的值被视为真正缺失,并且不用于度量评估组件。

这似乎表明,当产品缺货且没有销售时,这些行应标记为NaN,这有效地从数据集中删除了这些行。

我想我的问题归结为:

  1. 销售额为 0 且 in_stock = 0 的一天与销售额 = NaN 的一天之间有什么区别,后者有效地从数据集中删除了这一天?

  2. 当产品在一天中途缺货时,您会怎么做?in_stock = 0 并且仍然有给定日期的销售数据吗?

4

2 回答 2

1
  1. 不同之处在于,使用 in_stock 您的模型包含更多信息,允许您根据 in_stock 对未来进行预测。只要您有历史数据,最好使用 in_stock 而不是 sales = NaN。

  2. 如果您需要将 in_stock 表示为部分日期,则您的时间序列需要更细化。如果您无法获得更多的粒度,您应该能够指定 sales > 0 和 in_stock = 0,所有这一切都将针对该 Id 训练模型,当商品缺货时会产生一定数量的销售额因此最好有一个更细粒度的时间序列。

于 2020-04-26T17:19:57.017 回答
0

对于此用例,建议在特定产品不可用/缺货时在 TARGET_TIME_SERIES 中指定 sales = 'NaN'。这是按照以下概述的方法:https ://d1.awsstatic.com/whitepapers/time-series-forecasting-principles-amazon-forecast.pdf 。图 6(第 11 页)中的示例进一步详细说明了这一点。对于产品在一天中部分缺货的情况,应指定销售价值。

还值得注意的是,在撰写本文时,Amazon Forecast 中的 RELATED_TIME_SERIES 要求相关时间序列数据集中每个项目的最后一个时间戳必须在目标时间序列中的最后一个时间戳加上用户指定的预测窗口之后或之后(称为预测范围)。有关其他详细信息,请参阅:https ://docs.aws.amazon.com/forecast/latest/dg/related-time-series-datasets.html 。

希望这可以帮助。

于 2020-02-24T19:48:32.700 回答