第 1 步:收集和聚合数据
下图显示了预测问题的心理模型。目标是预测未来的时间序列 z_t,使用尽可能多的相关信息使预测尽可能准确。因此,第一步也是最重要的一步是收集尽可能多的正确数据。

时间序列 z_t 以及相关特征或协变量(x_t)和多个预测
在上图中,垂直线的右侧显示了多个预测。这些预测是概率预测分布的样本(或者相反,可以用来表示概率预测)。
零售企业需要记录的关键信息是:
-
交易销售数据 – 例如,库存单位(SKU, stock keeping unit)、地点、时间戳和销售单位。
-
SKU 商品详情数据 – 商品的元数据。示例包括颜色、部门、尺寸等。
-
价格数据 – 带有时间戳的每件商品的价格时间序列。
-
促销信息数据 – 不同类型的促销,要么针对一组商品(类别),要么针对带有时间戳的个别商品。
-
库存信息数据 – 在每个时间单位内,SKU 是否有货或可购买与 SKU 是否缺货的信息。
-
位置数据 – 商品或销售在给定时间点的位置可以表示为字符串
location_id
或store_id
或实际地理位置。地理位置可以是国家代码加上五位数的邮政编码或latitude_longitude
坐标。位置被视为交易销售的一个“维度”。
在 Amazon Forecast
请注意,库存信息很重要,因为这个问题关注的是预测需求,而不是销售,但企业仅记录销售额。当 SKU 缺货时,销售数量低于潜在需求,因此了解和记录此类缺货事件何时发生非常重要。
其他需要考虑的数据集包括网页访问量、搜索词详情、社交媒体和天气信息。拥有过去和未来的数据通常很重要,这样才能在模型中使用这些数据。这是许多预测模型和回测中的一个要求(如第 4 步:评估预测部分所述)。
对于某些预测问题,原始数据的频率与预测问题的频率自然匹配。示例包括服务器容量的请求,该请求是按分钟采样的,此时您要按分钟频率进行预测。
数据通常以更精细的频率记录,或者只是在某个时间范围内的任意时间戳记录,但预测问题的粒度更粗。这种情况在零售案例研究中很常见,在零售案例研究中,销售数据通常记录为交易数据;例如,该格式由一个时间戳组成,其细粒度显示了销售发生的时间。在预测使用案例中,可能不需要这种低粒度,将这些数据聚合为每小时或每天的销售额可能更合适。在这里,聚合水平对应于下游问题;例如,库存管理或资源规划。
示例
在下图中,左图显示了可作为逗号分隔值(CSV, comma separated value)文件输入到 Amazon Forecast 的原始客户销售数据示例。在此示例中,销售数据是在更精细的每日时间网格上定义的,问题是预测未来更粗的时间网格上的每周需求。Amazon Forecast 在create_predictor
API 调用中汇总给定一周的每日值。
结果是将原始数据转换为一组格式良好的时间序列,每周频率固定。右图使用默认的求和聚合方法说明了目标时间序列上的这种聚合。其他聚合方法包括求平均值、最大值、最小值或选择单个点(例如,第一个点)。必须选择聚合粒度和方法,使其与数据的业务使用案例最匹配。在此示例中,聚合值与每周聚合值保持一致。其他聚合方法可以由用户使用 create_predictor
API 的 FeaturizationConfig
参数的 FeaturizationMethodParameters
键进行设置。

将原始销售数据作为事件(左)聚合到等间隔时间序列(右)