跳转至

执行阶段

此步骤的目标是利用模型在训练期间学到的内容,对目标变量的未来值进行预测。目标变量以及(几乎)所有选定的特征都存储在输入执行数据集或数据源中。

此阶段预测目标变量的值。此阶段包含两个步骤:

  • 预处理
  • 预测

预处理步骤

预测计划(Predictive Planning)读取所选模型的实例,并使用它来计算预测值。例如,输入执行数据集/数据源中的特征包括:

  • COVID_RATE
  • PRICE
  • MARKETING
  • SALES_ST
  • DISCOUNT_P
  • CUST_SATISF
  • QUAL_INDEX
  • MARKET_VOL
  • VAX_P
  • PPI
  • UNEMPL_RATE

而 VOLUME 是目标变量,预测计划(Predictive Planning)使用在训练阶段由 Boruta 算法选出的特征:

  • COVID_RATE
  • MARKETING-2:该特征偏移了两个(2)期间
  • DISCOUNT_P

预测计划(Predictive Planning)利用训练阶段的信息对数据进行缩放,以读取所选模型的实例并使用它来计算预测值。

预测步骤

使用在模型选择步骤中选择的模型来计算预测值和置信区间。

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

有两个输入数据集:

  • 一个用于训练阶段
  • 一个用于执行阶段

有六个输出数据集:

  • 四个用于训练阶段
  • 两个用于执行阶段

数组可以定义某些字段,这意味着可以将更多的数据集列关联到该字段。

数组定义为一组构成维度键或时间键的字段。所有数据集的键必须相同(字段顺序也相同)。

从 Tagetik 的 SP31 版本开始,可以将数据源用作训练阶段和执行阶段的输入。

附录 1.1:训练输入数据集

该数据集包含历史数据,其中包括三(3)个固定字段以及两个(2)数组的附加字段。需要标识时间 ID 和时间序列维度键:

  • MEASURE:历史序列的科目(文本)
  • REF_DATE_1:标识历史序列时间 ID 的第一个字段(文本/数字)
  • REF_DATE_2:标识历史序列时间 ID 的第二个字段(文本/数字)
  • TARGET_WEIGHTS:在此字段中,根据需要预测的历史序列的重要性分配一个数字。(文本)该值必须为正数。 如果将 TARGET_WEIGHTS=0,这意味着模型将该变量识别为目标变量,但对该字段组合赋予零权重。
  • AMOUNT:每个历史序列的金额(数字)
  • DIMENSION_1:标识时间序列维度键的第一个字段(文本/数字)
  • DIMENSION_2:标识时间序列维度键的第二个字段(文本/数字)

例如:

MEASURE REF_DATE_1 REF_DATE_2 TARGET_WEIGHTS AMOUNT DIMENSION_1 DIMENSION_2
VOLUME 2023_ACT 12 1 1500 CHANNEL_1 PRODUCT_1
VOLUME 2024_ACT 01 0 2000 CHANNEL_1 PRODUCT_1
VOLUME 2024_ACT 02 2 1980 CHANNEL_1 PRODUCT_1
COVID_RATE 2013_ACT 12 0,01 CHANNEL_1 PRODUCT_1
COVID_RATE 2024_ACT 01 0,15 CHANNEL_1 PRODUCT_1
COVID_RATE 2024_ACT 02 0,20 CHANNEL_1 PRODUCT_1
MARKETING 2013_ACT 12 -165000 CHANNEL_1 PRODUCT_1
MARKETING 2024_ACT 01 -166300 CHANNEL_1 PRODUCT_1
MARKETING 2024_ACT 02 -141000 CHANNEL_1 PRODUCT_1

附录 1.2:执行输入数据集

该数据集包含要预测的数据,其中包括三(3)个固定字段以及两个(2)数组的附加字段。

  • MEASURE:历史序列的科目(文本)
  • REF_DATE_1:标识历史序列时间 ID 的第一个字段(文本/数字)
  • REF_DATE_2:标识历史序列时间 ID 的第二个字段(文本/数字)
  • TARGET_WEIGHTS:在此字段中,根据需要预测的历史序列的重要性分配一个数字。(文本) 该值必须为正数。如果将 TARGET_WEIGHTS=0,这意味着模型将该变量识别为目标变量,但对该字段组合赋予零权重。
  • AMOUNT:历史序列的金额。对于要预测的变量,该值为零(数字)
  • DIMENSION_1:标识时间序列维度键的第一个字段(文本/数字)
  • DIMENSION_2:标识时间序列维度键的第二个字段(文本/数字)

例如:

MEASURE REF_DATE_1 REF_DATE_2 TARGET_WEIGHTS AMOUNT DIMENSION_1 DIMENSION_2
VOLUME 2026_PLAN 01 1 0 CHANNEL_1 PRODUCT_1
VOLUME 2026_PLAN 02 0 0 CHANNEL_1 PRODUCT_1
VOLUME 2026_PLAN 03 2 0 CHANNEL_1 PRODUCT_1
COVID_RATE 2026_PLAN 01 0,60 CHANNEL_1 PRODUCT_1
COVID_RATE 2026_PLAN 02 0,65 CHANNEL_1 PRODUCT_1
COVID_RATE 2026_PLAN 03 0,72 CHANNEL_1 PRODUCT_1
MARKETING 2026_PLAN 01 -165800 CHANNEL_1 PRODUCT_1
MARKETING 2026_PLAN 02 -166890 CHANNEL_1 PRODUCT_1
MARKETING 2026_PLAN 03 -140900 CHANNEL_1 PRODUCT_1

附录 1.3:用于方法的训练输出数据集

该数据集包含在训练步骤中所选指标得分最佳的方法。它包括四(4)个固定字段以及数组的附加字段。需要标识时间序列维度键:

  • MEASURE:历史序列的科目(文本)
  • MODEL_NAME:在训练阶段选择的方法(文本)
  • METRIC_TYPE:所选的指标(文本)
  • METRIC_SCORE:所选指标的值(数字)
  • DIMENSION_1:标识时间序列维度键的第一个字段(文本/数字)
  • DIMENSION_2:标识时间序列维度键的第二个字段(文本/数字)

例如:

MEASURE MODEL_NAME METRIC_TYPE METRIC_SCORE DIMENSION_1 DIMENSION_2
VOLUME SARIMAX MAPE 3 CHANNEL_1 PRODUCT_1

附录 1.4:用于拟合的训练输出数据集

该数据集包含模型对每个日期的拟合值。需要标识时间 ID 和时间序列维度键:

  • MEASURE:历史序列的科目(文本)
  • REF_DATE_1:标识历史序列时间 ID 的第一个字段(文本/数字)
  • REF_DATE_2:标识历史序列时间 ID 的第二个字段(文本/数字)
  • FIT:历史序列的拟合值(数字)
  • DIMENSION_1:标识时间序列维度键的第一个字段(文本/数字)
  • DIMENSION_2:标识时间序列维度键的第二个字段(文本/数字)

例如:

MEASURE REF_DATE_1 REF_DATE_2 FIT DIMENSION_1 DIMENSION_2
VOLUME 2023_ACT 12 1503 CHANNEL_1 PRODUCT_1
VOLUME 2024_ACT 01 2010 CHANNEL_1 PRODUCT_1
VOLUME 2024_ACT 02 1975 CHANNEL_1 PRODUCT_1

附录 1.5:用于解释的训练输出数据集

该数据集包含特征的重要性。

需要标识时间序列和变量:

  • MEASURE:针对目标变量通过特征选择所选出的特征(文本)
  • MEASURE_TARGET:目标变量(文本)
  • DIMENSION_1:标识该变量的第一个字段(文本/数字)
  • DIMENSION_2:标识该变量的第二个字段(文本/数字)
  • IMPORTANCE:特征重要性(数字)
  • DIMENSION_TARGET_1:标识目标维度键的第一个字段(文本/数字)
  • DIMENSION_TARGET_2:标识目标维度键的第二个字段(文本/数字)
  • LAG:需要向前回溯的期间数(文本)

例如:

MEASURE_TARGET IMPORTANCE MEASURE DIMENSION_TARGET_1 DIMENSION_TARGET_2 DIMENSION_1 DIMENSION_2 LAG
VOLUME 0.15 COVID_RATE CHANNEL_2 PRODUCT_2 CHANNEL_1 PRODUCT_1 0
VOLUME 0.60 MARKETING CHANNEL_1 PRODUCT_2 CHANNEL_1 PRODUCT_1 -2
VOLUME 0.25 DISCOUNT_P CHANNEL_2 PRODUCT_1 CHANNEL_1 PRODUCT_1 -1

附录 1.6:用于贡献度的训练输出数据集

该数据集包含预测中每个变量和日期的贡献度。

需要标识时间 ID、时间序列维度键和变量:

  • MEASURE:针对目标变量通过特征选择所选出的特征(文本)
  • MEASURE_TARGET:目标变量(文本)
  • DIM_1:标识该变量的第一个字段(文本/数字)
  • DIM_2:标识该变量的第二个字段(文本/数字)
  • CONTRIBUTION:贡献度(数字)
  • MEASURE:要预测的科目(文本)
  • REF_DATE_1:标识历史序列时间 ID 的第一个字段(文本/数字)
  • REF_DATE_2:标识历史序列时间 ID 的第二个字段(文本/数字)
  • DIM_TARGET_1:标识目标维度键的第一个字段(文本/数字)
  • DIM_TARGET_2:标识目标维度键的第二个字段(文本/数字)
  • LAG:需要向前回溯的期间数(文本)

例如:

MEASURE_TARGET CONTRIBUTION MEASURE REF_DATE_1 REF_DATE_2 DIM_TARGET_1 DIM_TARGET_2 DIM_1 DIM_2 LAG
VOLUME -340 COVID_RATE 2023_ACT 12 CHANNEL_2 PRODUCT_2 CHANNEL_1 PRODUCT_1 0
VOLUME -289 COVID_RATE 2024_ACT 01 CHANNEL_2 PRODUCT_2 CHANNEL_1 PRODUCT_1 0
VOLUME -378 COVID_RATE 2024_ACT 02 CHANNEL_2 PRODUCT_2 CHANNEL_1 PRODUCT_1 -1
VOLUME 468 MARKETING 2023_ACT 12 CHANNEL_1 PRODUCT_2 CHANNEL_1 PRODUCT_1 -2
VOLUME 550 MARKETING 2024_ACT 01 CHANNEL_1 PRODUCT_2 CHANNEL_1 PRODUCT_1 0
VOLUME 491 MARKETING 2024_ACT 02 CHANNEL_1 PRODUCT_2 CHANNEL_1 PRODUCT_1 -1
VOLUME 578 DISCOUNT_P 2023_ACT 12 CHANNEL_2 PRODUCT_1 CHANNEL_1 PRODUCT_1 0

附录 1.7:执行输出数据集

该数据集包含每个目标变量的预测值和置信区间。

需要标识时间 ID 和时间序列维度键:

  • MEASURE:历史序列的科目(文本)
  • REF_DATE_1:标识历史序列时间 ID 的第一个字段(文本/数字)
  • REF_DATE_2:标识历史序列时间 ID 的第二个字段(文本/数字)
  • LOWER:置信区间的下界(数字)
  • UPPER:置信区间的上界(数字)
  • FORECAST:预测值(数字)
  • DIMENSION_1:标识时间序列维度键的第一个字段(文本/数字)
  • DIMENSION_2:标识时间序列维度键的第二个字段(文本/数字)

例如:

MEASURE REF_DATE_1 REF_DATE_2 LOWER UPPER FORECAST DIMENSION_1 DIMENSION_2
VOLUME 2026_PLAN 01 1420 1620 1520 CHANNEL_1 PRODUCT_1
VOLUME 2026_PLAN 02 1930 2130 2030 CHANNEL_1 PRODUCT_1

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

该数据集包含预测中每个变量和日期的贡献度。

需要标识时间 ID、时间序列维度键和变量:

  • MEASURE:针对目标变量通过特征选择所选出的特征(文本)
  • MEASURE_TARGET:目标变量(文本)
  • DIM_1:标识该变量的第一个字段(文本/数字)
  • DIM_2:标识该变量的第二个字段(文本/数字)
  • CONTRIBUTION:贡献度(数字)
  • MEASURE:要预测的科目(文本)
  • REF_DATE_1:标识历史序列时间 ID 的第一个字段(文本/数字)
  • REF_DATE_2:标识历史序列时间 ID 的第二个字段(文本/数字)
  • DIM_TARGET_1:标识目标维度键的第一个字段(文本/数字)
  • DIM_TARGET_2:标识目标维度键的第二个字段(文本/数字)
  • LAG:需要向前回溯的期间数(文本)
MEASURE_TARGET CONTRIBUTION MEASURE REF_DATE_1 REF_DATE_2 DIM_TARGET_1 DIM_TARGET_2 DIM_1 DIM_2 LAG
VOLUME -340 COVID_RATE 2026_PLAN 01 CHANNEL_2 PRODUCT_2 CHANNEL_1 PRODUCT_1 0
VOLUME -289 COVID_RATE 2026_PLAN 02 CHANNEL_2 PRODUCT_2 CHANNEL_1 PRODUCT_1 0
VOLUME -378 COVID_RATE 2026_PLAN 03 CHANNEL_2 PRODUCT_2 CHANNEL_1 PRODUCT_1 -1
VOLUME 468 MARKETING 2026_PLAN 01 CHANNEL_1 PRODUCT_2 CHANNEL_1 PRODUCT_1 -2
VOLUME 550 MARKETING 2026_PLAN 02 CHANNEL_1 PRODUCT_2 CHANNEL_1 PRODUCT_1 0
VOLUME 491 MARKETING 2026_PLAN 03 CHANNEL_1 PRODUCT_2 CHANNEL_1 PRODUCT_1 -1
VOLUME 578 DISCOUNT_P 2026_PLAN 01 CHANNEL_2 PRODUCT_1 CHANNEL_1 PRODUCT_1 0

例如:

附录 2:维度和参考日期

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

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

例如:

附录 3:参数

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

  • Log level:

  • DEBUG(记录所有信息)

  • INFO(记录所有警告、错误、严重错误和一般信息,不记录调试信息)
  • WARNING(记录所有警告、错误和严重错误)
  • ERROR(记录所有错误和严重错误)
  • CRITICAL(仅记录严重错误)
  • Models List:列出用于训练数据的模型。该参数可设置为模型列表中的全部模型或子集:

  • AdaBoost

  • ElasticNetReg
  • DecisionTree
  • GradientBoosting
  • LinearRegressor
  • RidgeRegressor
  • LassoRegressor
  • SGDRegressor
  • KNeighbors
  • SupportVector
  • ExtraTreesReg
  • RandomForestReg
  • Sarimax
  • HoltWinters
  • LightGBM
  • Metric to optimize:用于评估所有模型的指标。该参数可设置为列表中的某一指标:

  • MAPE(mean_absolute_percentage_error)

  • MGD(mean_gamma_deviance)
  • MPD(mean_poisson_deviance)
  • R2(r2)
  • MEAE(median_absolute_error)
  • MSLE(mean_squared_log_error)
  • MSE(mean_squared_error)
  • MAE(mean_absolute_error)
  • ME(max_error)
  • E_VARIANCE(explained_variance)

  • Use the seasonality of the target feature:Y(是)或 N(否),用于决定是否创建目标特征的季节性。默认值为 Y(是)。根据季节性周期,取目标变量并计算其平均值。

  • Use the seasonality of the exogenous features:Y(是)或 N(否),用于决定是否创建外部特征的季节性。默认值为 Y(是)。根据季节性周期,取外生变量并计算其平均值。
  • Seconds threshold for expensive methods:创建特征之间依赖图的时间。如果算法超过该参数设置的时间,算法将停止,并选择所有特征。默认值为 1800,但该参数可设置为区间 [0, 86400] 内的值。
  • Remove collinear features:Y(是)、N(否),用于决定是否执行共线性测试以移除共线特征。共线性测试可能耗时较长,如果不希望执行该测试以节省时间,请选择 'N' 选项。
  • Get Shapley Values contributions:Y(是)或 N(否),用于决定在训练阶段是否使用 Shapley 值贡献度。默认值为 N(否)。如果保持默认值不变,则不会填充贡献度数据集。但这不会影响在执行阶段所做的选择。可以在训练阶段跳过 Shapley 值贡献度,而在执行阶段启用它(反之亦然)。
  • Use all exogenous features or only those with the same dimensionality:Y(是)或 N(否),用于决定是使用所有外生特征还是仅使用具有相同维度的外生特征。设置为 Y 时,模型在同一次处理中使用所有外生特征;设置为 N 时,模型对具有相同维度组合的特征运行不同的处理。
  • Accuracy threshold for features selection:回归方法用于检测独立特征的阈值。默认值为 0.7,但该参数可设置为区间 [0;1] 内的值。值越高,检测到的特征依赖性越低。
  • Perform Boruta features selection:Y(是)或 N(否),用于决定是否使用 Boruta 算法执行特征选择。
  • Use the lagged exogenous features:Y(是)或 N(否),用于创建外生特征的滞后版本。默认值为 Y(是),但可以设置为 N(否)以减少处理时间。
  • Feature max lag:可应用于所选变量(目标变量或外生变量)的最大滞后值。默认值为 AUTO,对应季节性值。
  • Use the lagged target feature:Y(是)或 N(否),用于创建目标特征的滞后版本。默认值为 Y(是),但可以设置为 N(否)以减少处理时间。

例如:

![A screenshot of a computer

AI-generated content may be incorrect.](../../../assets/img/5d2c2f509d_PrPl_Execute-Phase_1.png)

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

  • Forecast Confidence Level:用于计算预测金额置信区间的百分比。
  • Get Shapley Values contributions:Y(是)或 N(否),用于决定在训练阶段是否使用 Shapley 值贡献度。默认值为 N(否)。 如果保持默认值不变,则不会填充贡献度数据集。但这不会影响在执行阶段所做的选择。 可以在训练阶段跳过 Shapley 值贡献度,而在执行阶段启用它(反之亦然)。
  • Log level:

  • DEBUG(记录所有信息)

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

例如

![A screenshot of a computer

AI-generated content may be incorrect.](../../../assets/img/1388f3e4df_PrPl_Execute-Phase_2.png)