跳转至

执行阶段

在执行阶段,通过创建置信区间来识别离群值。

置信区间从训练阶段训练的模型(如果存在外生特征)中提取。它们通过应用于模型在训练阶段遇到的误差标准差的一个线性时间函数获得。

将待测试点(ACTUAL)与该置信范围进行比较,如果它落在其区间内,则为正常值,否则为离群值。这使我们能够将与预期预测一致的点识别为正常值。用户可以自由设置所需的置信水平。

成为离群值的概率通过将测试点的百分位数相对于均值为精确预测值、标准差为误差的历史标准差的标准正态分布重新按比例计算得出。 重新按比例计算以非线性方式进行:概率值越接近分布中心,越快地趋近于 0。

每个外部特征对预测的贡献值以不含外部特征的预测值作为基准值进行计算。这样,贡献就由某个变量相对于不含外部特征的情况为预测带来的概率量构成。

附录 1:输入和输出数据集

训练阶段的数据集:

  • 一个输入数据集

执行阶段的数据集: - 一个输入数据集 - 两个输出数据集

数组可以定义一些字段,这意味着可以将多个数据集列与该字段关联。

数组定义为构成我的维度或时间键的一组字段。

所有数据集的键必须相同(字段顺序也相同)。

附录 1.1:输入训练数据集

此数据集包含每个维度组合的历史数据,包括三 (3) 个固定字段和两 (2) 个数组。您需要识别时间 ID 和时间序列维度键:

  • ACC_TO_PREDICT:要从离群性角度分析的目标变量。

此字段对于所有需要预测的历史序列包含一个"X"(文本)

  • REF_DATE_1:标识行数据时间的第一个字段(文本/数字)
  • REF_DATE_2:标识行数据时间的第二个字段(文本/数字)
  • AMOUNT:所选维度的金额(数字)
  • DIMENSION_1:标识维度的第一个字段(文本/数字)
  • DIMENSION_2:标识维度的第二个字段(文本/数字)
  • MEASURE:这是历史序列的科目(包括目标变量以及外部和可选变量)(文本)

REF_DATE 和 DIMENSION 列的数量可以根据上下文而变化。

例如:

ACC_TO_PREDICT REF_DATE_1 REF_DATE_2 AMOUNT DIM_1 DIM_2 MEASURE
X 2025_ACTUAL 1 8510 EN_00 C1 VOLUME
X 2025_ACTUAL 1 9892 EN_00 C2 VOLUME
X 2025_ACTUAL 2 9979 EN_00 C3 VOLUME
2025_ACTUAL 1 0.098 EN_00 C1 DISCOUNT
2025_ACTUAL 1 0.082 EN_00 C2 DISCOUNT
2025_ACTUAL 2 0.100 EN_00 C3 DISCOUNT

在上面的示例中:

  • REF_DATE_1 表示场景维度
  • REF_DATE_2 表示期间维度
  • DIM_1 表示实体维度
  • DIM_2 表示渠道维度

附录 1.2:输入执行数据集

此数据集包含要预测的数据,包括三 (3) 个固定字段和两 (2) 个数组。您需要识别时间 ID 和时间序列维度键:

  • ACC_TO_PREDICT:要从离群性角度分析的目标变量。此字段对于所有需要预测的历史序列包含一个"X"(文本)
  • REF_DATE_1:标识行数据时间的第一个字段(文本/数字)
  • REF_DATE_2:标识行数据时间的第二个字段(文本/数字)
  • AMOUNT:所选维度的金额(数字)
  • DIMENSION_1:标识维度的第一个字段(文本/数字)
  • DIMENSION_2:标识维度的第二个字段(文本/数字)
  • DIMENSION_3:标识维度的第三个字段(文本/数字)
  • MEASURE:这是历史序列的科目(文本)

例如:

ACC_TO_PREDICT REF_DATE_1 REF_DATE_2 AMOUNT DIM_1 DIM_2 MEASURE
X 2025_ACTUAL 12 8510 EN_00 C1 VOLUME
X 2025_ACTUAL 12 9892 EN_00 C2 VOLUME
X 2025_ACTUAL 12 9979 EN_00 C3 VOLUME
2025_ACTUAL 12 0.098 EN_00 C1 DISCOUNT
2025_ACTUAL 12 0.082 EN_00 C2 DISCOUNT
2025_ACTUAL 12 0.100 EN_00 C3 DISCOUNT

附录 1.3:用于离群值检测的输出执行数据集

此数据集包含每个目标变量的预测值和置信区间,包括七 (7) 个固定字段和两个 (2) 个数组的附加字段。您需要识别时间 ID 和时间序列维度键:

  • DIMENSION_1:标识时间序列的第一个字段(文本/数字)
  • DIMENSION_2:标识时间序列的第二个字段(文本/数字)
  • DIMENSION_3:标识时间序列的第二个字段(文本/数字)
  • REF_DATE_1:标识历史序列时间 ID 的第一个字段(文本/数字)
  • REF_DATE_2:标识历史序列时间 ID 的第二个字段(文本/数字)
  • TARGET:这是目标历史序列的科目(文本)
  • LOW:这是置信区间的下界(数字)
  • HIGH:这是置信区间的上界(数字)
  • LOW2:这是考虑外部变量后的置信区间下界(数字)
  • HIGH2:这是考虑外部变量后的置信区间上界(数字)
  • IS_OUTLIER_PRED:是否为离群值的预测(1 表示是,0 表示否)(二进制)
  • IS_OUTLIER_PRED_PROBA:成为离群值的概率(数字)

例如:

HIGH HIGH_2 IS_OUTLIER_PRED IS_OUTLIER_ PRED_PROBA TARGET LOW LOW_2
11,596.158 11,038.75 0 0.381 VOLUME 6,567.920 9,384.999
10,211.06 11,645.83 0 0.383 VOLUME 6,830.001 7,223.23
9,994.04 12,102.696 1 0.902 VOLUME 7,001.222 7,933.23
11,596.158 11,038.75 0 0.381 VOLUME 6,567.920 9,384.999

附录 1.4:用于贡献的输出执行数据集

此数据集包含被归类为离群值的数据的贡献,包括两 (2) 个固定字段和三 (3) 个数组。您需要识别时间 ID 和时间序列维度键:

  • CONTRIBUTE:贡献(数字)
  • REF_DATE_1:标识行数据时间的第一个字段(文本/数字)
  • REF_DATE_2:标识行数据时间的第二个字段(文本/数字)
  • DIMENSION_1:标识维度的第一个字段(文本/数字)
  • DIMENSION_2:标识维度的第二个字段(文本/数字)
  • TARGET:贡献所指向的目标变量(文本)
  • VAR:贡献所指向的外部特征(文本)

例如,当"期间之间的步长"= 2 时:

CONTRIBUTE TARGET DIM_1 REF_DATE_1 REF_DATE_2 DIM_2 VAR
0.320466298 VOLUME EN_00 2025_ACTUAL 1 C1 SALES_ST
0.597585804 VOLUME EN_00 2025_ACTUAL 2 C1 SALES_ST
0.152630153 VOLUME EN_00 2025_ACTUAL 3 C1 SALES_ST
0.162333094 VOLUME EN_00 2025_ACTUAL 4 C1 DISCOUNT
0.078367095 VOLUME EN_00 2025_ACTUAL 5 C1 DISCOUNT
0.464040635 VOLUME EN_00 2025_ACTUAL 6 C1 DISCOUNT

附录 2:维度和参考日期

维度列表:如果您需要多个维度来标识时间序列键(例如 ENTITY、CHANNEL、PRODUCT),您可以直接在配置窗口中映射字段。

REF_DATE:如果您需要多个维度来标识历史序列的时间 ID(例如 SCENARIO、PERIOD),您可以直接在配置窗口中映射字段。

例如:

附录 3:参数

训练阶段需要设置的参数包括以下内容:

  • LOG LEVEl:

  • DEBUG(记录所有信息)

  • INFO(记录所有警告、错误、严重错误和一般信息,不记录调试信息)
  • WARNING(记录所有警告、错误和严重错误)
  • ERROR(记录所有错误和严重错误)
  • CRITICAL(仅记录严重错误)

严重程度低于为参数指定级别的日志消息将被忽略;严重程度等于或高于该级别的日志消息将被发出。 - TARGET_VARIABLE_SEASONALITY:

默认设置为 AUTO:ML 模型自动检测识别季节性所需的偏移数。

或者,可以输入一个正整数来指定应应用多少个偏移,并相应地指定要考虑多少个滞后。

例如:如果该值设置为 2,则表示将创建 2 个滞后——即时间序列将先偏移一个时间点,然后再偏移两个。

  • METRIC:训练阶段预测模型要优化的指标。

  • R2 (r2)

  • MAPE (mean_absolute_percentage_error)
  • MAE (mean_absolute_error)
  • INCLUDE FIT WITHOUT EXTERNAL VARIABLES:Y(是)、N(否),表示是否考虑外部变量
  • CHUNK_SIZE_MB_THRESHOLD
  • AVAILABLE_MEMORY_PERCENTAGE_THRESHOLD

例如:

执行阶段需要设置的参数包括:

  • Log level:

  • DEBUG(记录所有信息)

  • INFO(记录所有警告、错误、严重错误和一般信息,不记录调试信息)
  • WARNING(记录所有警告、错误和严重错误)
  • ERROR(记录所有错误和严重错误)
  • CRITICAL(仅记录严重错误)

严重程度低于为参数指定级别的日志消息将被忽略;严重程度等于或高于该级别的日志消息将被发出。 - PERCENTAGE_DIVERGENCE_TO_BE_OUTLIER:在执行阶段生成置信区间时要考虑的置信水平的百分比值(值介于 0 和 1 之间)。数值越低,发现的离群值越多。 - GET_CONTRIBUTIONS:Y(是)、N(否),表示是否考虑外部变量。

注意:如果在训练阶段将 INCLUDE FIT WITHOUT EXTERNAL VARIABLES 参数设置为 Y,则可以在执行阶段选择 Y 或 N。但是,如果在训练阶段选择了 N 选项,则必须在执行阶段也选择 N。

例如