调用预测引擎概述

本主题概述使用 CallForecastEngine 命令调用预测引擎并为选定项目和位置生成预测时所需满足的要求。

  • 用户或其中一个用户角色必须有权访问该宏以及引擎名称参数中包含的预测引擎。否则,执行中的宏会引发以下错误:

    用户 {1} 无法访问预测引擎 {0}。

  • 当确定要传递给预测引擎进行计算的货品和库位元素时,将根据传递的货品分级结构级别和选择以及库位分级结构级别和选择,应用当前执行宏的用户的数据安全规则。例如:
    • CallForecastEngine("BATS engine","","TUPLE_EXISTS","Brand","Brand A","Region","US","Months")
    • 如果当前用户的数据安全不允许他们查看“品牌 A”,或在货品分级结构中“品牌 A”下的任何基础货品,则不会将选择传递到引擎。如果用户可以访问“品牌 A”下的基本元素子集,则只有这些货品会生成预测。
    • 如果当前用户的数据安全不允许在库位分级结构中查看美国或美国下的任何基准库位,则不会将选择传递到引擎。如果用户可以访问美国下的基准库位子集,则只有这些库位会生成预测。
    • 如果任何周期限制阻止他们访问循环周期的整个范围,那么只有具有访问权限的基础周期子集才有引擎结果。例如,如果用户限制为未来基准期间,则不会保留任何写入到历史周期的结果。
  • 要准备并通过 CallForecastEngine 宏命令调用预测引擎的 SCP 的基本序列,如下所示:
    • 标识预测引擎、类型和默认设置。
    • 确定传递预测引擎的参数。
    • 无效的参数设置将不会传递到预测引擎进行处理。
    • 缺少的必填参数未传递到预测引擎进行处理。
      注意:该参数适用于为预测引擎执行的所有货品/库位,因此无效值或缺少的必填参数会取消处理,并在作业管理器和审查日志中报告错误。
    • 确定要计算的货品和库位选择。
    • 根据预测引擎度量映射设置,检索传递到引擎的适当方案值(所有输入映射)。
  • 系统准备对预测引擎的个别项目和位置调用并排定顺序,从而为每个项目和位置传递适用参数和度量值。过程:
    • 系统确保历史和比重度量至少链接到一个大于 0 的周期,以生成预测。否则,项目和位置不会传递到预测引擎以供处理,并显示消息“无拟合内容”
    • 对于每个项目和位置选择,可以使用针对预测引擎定义的预测引擎参数和默认参数代码列表来确定参数设置。
    • 必须通过传递参数以及适用于每个项目和位置调用的度量值,准备对预测引擎的个别项目和位置调用并排定顺序。
    • 根据为预测引擎定义的度量映射设置,可以检索必须传递到引擎的相应方案值(对于历史、历史屏蔽和周期比重输入值)。
      注意:使用无效参数设置的项目和位置组合不会传递到预测引擎进行处理。参数中的错误仅对参数代码列表报告一次(在废弃日志中)。
    • 如果算法不是“仅事件”,则根据“短历史”参数,在删除前置零和用户定义掩码后,执行短历史测试以检查历史数据点的数量。
      注意:
      • 当历史点小于短历史参数时,货品/库位会标记为短历史,并且不会传递到预测引擎。
      • 将第一个非零周期之后的历史值 = 0 作为 0 添加到历史向量中,并作为短历史测试的一部分计数。
      • 如果在此预测引擎设置中映射,则“1”值会写入到短历史异常度量。
      • 放弃日志中包含添加到短历史异常中的货品/库位计数。
    • 如果为循环周期历史范围设置了历史屏蔽值(大于 0),则数据无法用于预测。项目和位置选择不会传递到预测引擎以供处理,并且相应的异常会记录在废弃日志中。
      • 预测引擎会返回包含异常的项目和位置(以及周期),因为所有异常都基于上次调用预测引擎期间标记的问题。
    • 必须清除针对传递到预测引擎的每个项目和位置映射到异常(无效统计异常、废弃、界外值、短历史异常、步骤更改异常和跟踪信号异常)输出的度量。
      • 如果引擎为 ATT 类型,算法为 HOLTWINTERS、LEASTSQUARES、MOVINGAVERAGE 或 CROSTONS,并且 SMP 度量为 0 或者未定义,则必须使用 fitModelGivenAlgorithm() 绕过指定算法来调用预测引擎。
    • 历史向量和屏蔽向量必须长度相同。
      注意: 所有周期的屏蔽值 0(或空)均有效。这表示未屏蔽任何周期。
    • 在历史值传递到引擎之前,将使用指定比重度量进行规范化。
  • 当生成预测时,系统将使用度量映射设置,将每个项目和位置的预测引擎结果保存到已定义的输出度量的方案值中。这包括:
    • 在保存预测数据之前,使用循环周期日后范围的指定周期比重向量规范化预测。
    • 在保存预测数据之前(如果已映射),使用循环周期历史范围的指定周期比重向量规范化“在线模型拟合”和“模型拟合历史”值。
    • 如果废弃异常映射到特定预测引擎的度量,则 SCP 会针对每个返回的项目和位置执行其他废弃检查:
      • 定义:循环周期日后范围(预测周期)中预测级别为负数(小于 0)的项目和位置。
      • 计算:级别 + (增长 * 预测周期)< 0。
      • 仅当增长小于 0 时,才会发生废弃。因此,不会考虑增长大于等于 0 的项目和位置。
      • 计算中不包含修改的宏步骤和增长抑制。
      • 12 月日后范围 = 级别 + (增长 * 12)。如果级别等于 100 且增长等于 -10,则此项目和位置被视为废弃。
    • 若映射,则可派生季节性索引:
      • 当算法为 Holt-Winters(或按照最佳算法选定为 Holt-Winters)时适用,生成的模型表单为季节性的。返回的季节性索引类型通过“季节类型”来指示。
      • 这会作为 n 个数值的向量返回,其中 n 是传递给预测引擎的“周期性”。
      • 该值将写入到最近的 n 个历史周期。
      例如:预测引擎周期性 =12(月),循环周期性 = 月数,循环周期 = FY14 M07。12 个周期索引应用到 FY13 M07 到 FY14 M06 这几个月份。
      注意:适用时,值按比例调整到方案值存储的水平。
    • 预测引擎的调用结果将更新为循环周期日后范围的周期、循环周期历史范围的周期,或者作为静态值更新为 PCONST。
    • “预测和界外值”、“步骤更改”和“记录信号异常”的结果(值的向量)将写入到循环周期预测范围的将来周期。
    • “标准差”、“级别”、“增长”和“短历史异常”的结果(单个值)将写入到周期维度的 PCONST 元素。
    • “模型拟合历史”和“在线模型拟合”的规范化结果(值的向量)将写入到循环周期历史范围的历史周期。
  • CallForecastEngine 宏的结果将传输到作业管理器和审查日志。过程:
    • 系统生成预测引擎输出中其他信息的日志文件。
    • 不含有效历史、比重和屏蔽输入值的项目和位置将作为“无拟合内容”返回。
    • 不含有效参数设置的项目和位置将与错误以及不正确值一起返回。
    • 对于参数代码列表中的每个无效参数,会在参数集中记录一个错误。例如,“参数代码列表“默认 BATS 参数”包含无效值 (1):(2)。1= 参数,2 = 错误”
    • 如果使用 SCP 验证识别了未成功处理的项目和位置组合,或者使用预测引擎返回了项目和位置组合但包含错误代码,则错误将记录在废弃日志中并包含详细错误消息。例如,“无非零历史。无法拟合模型”
    • 将针对作业中的每个异常在废弃日志中更新预测异常。这包括“短历史”、“废弃”、“界外值”、“跟踪信号”、“步骤更改”和“无效统计”等异常。例如,“22 个项目/位置标记为界外值”