执行阶段
此步骤的目标是利用模型在训练期间学到的内容,对目标变量的未来值进行预测。目标变量以及(几乎)所有选定的特征都存储在输入执行数据集或数据源中。
此阶段预测目标变量的值。此阶段包含两个步骤:
- 预处理
- 预测
预处理步骤¶
预测计划(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(否)以减少处理时间。
例如:

执行阶段需要设置的参数包括:
- Forecast Confidence Level:用于计算预测金额置信区间的百分比。
- Get Shapley Values contributions:Y(是)或 N(否),用于决定在训练阶段是否使用 Shapley 值贡献度。默认值为 N(否)。 如果保持默认值不变,则不会填充贡献度数据集。但这不会影响在执行阶段所做的选择。 可以在训练阶段跳过 Shapley 值贡献度,而在执行阶段启用它(反之亦然)。
-
Log level:
-
DEBUG(记录所有信息)
- INFO(记录所有警告、错误、严重错误和一般信息,不记录调试信息)
- WARNING(记录所有警告、错误和严重错误)
- ERROR(记录所有错误和严重错误)
- CRITICAL(仅记录严重错误)
例如
