跳转至

训练阶段

训练阶段的目标是利用输入数据集或数据源中提供的历史数据来训练模型。该数据集包括目标变量(即我们想要预测的变量)的时间序列,以及可能影响目标变量的所有其他变量(特征)的时间序列。

在此阶段,仅选择相关特征。然后测试不同的模型,并选择准确度最佳的模型。

训练阶段包含 4 个步骤:

  • 预处理
  • 特征工程
  • 特征选择
  • 模型选择

预处理步骤

对每个变量进行分析,以确定它在多大程度上能够解释其他变量。

分析以成对方式进行:变量 A 在多大程度上解释变量 B,B 在多大程度上解释 A,A 在多大程度上解释 C,以此类推,对所有变量对进行分析。选择过程保留:

  • 独立变量,即不被其他变量解释的变量。

![Blue dots on a white background

Description automatically generated](../../../assets/img/e846c75859_PrPl_Train-Phase.png)

![A diagram of a network

Description automatically generated](../../../assets/img/1e9d299cb9_PrPl_Train-Phase_1.png) - 基于特定阈值(可在参数中设置)的因变量。如果发现一个变量对另一个变量的解释程度超过某个阈值,则只选择两者之一(具体而言,选择 R 平方值较高的那个——参见参数部分)。

![A diagram of a network

Description automatically generated](../../../assets/img/75b5a60068_PrPl_Train-Phase_2.png)

例如,输入训练数据集/数据源中的特征包括:

  • COVID_RATE
  • PRICE
  • MARKETING
  • SALES_ST
  • DISCOUNT_P
  • CUST_SATISF
  • QUAL_INDEX
  • MARKET_VOL

而 VOLUME 是目标变量。

图依赖检测算法对所有特征运行,并排除 CUST_SATISF,因为它依赖于:

  • PRICE
  • DISCOUNT_P
  • QUAL_INDEX

特征工程步骤

预测计划(Predictive Planning)为每个目标变量和特征计算季节性,并通过将原始特征从 1 偏移到该特征的季节性来创建新特征(如果 Use Target Feature Seasonality 参数为 Y)。

例如,预测计划(Predictive Planning)计算目标变量的季节性为 12,软件为每个特征计算季节性:

  • COVID_RATE(LAG -6)
  • PRICE(LAG -12)
  • MARKETING(LAG -6)
  • SALES_ST(LAG -12)
  • DISCOUNT_P(LAG –6)
  • CUST_SATISF(LAG –12)
  • QUAL_INDEX(LAG –12)
  • MARKET_VOL(LAG -12)

然后,预测计划(Predictive Planning)计算偏移,直至达到 Feature max lag 参数中设置的值:

Features Ref_Date Amount
COVID_RATE 2024.02 0,20
COVID_RATE (LAG -1) 2024.02 0,15
COVID_RATE (LAG -2) 2024.02 0,01
MARKETING 2024.02 -141000
MARKETING (LAG -1) 2024.02 -166300
MARKETING (LAG -2) 2024.02 -165000

特征选择步骤

预测计划(Predictive Planning)使用 Boruta 算法执行特征选择(如果 Perform Features Selection 参数为 Y)。

例如,Boruta 算法为预测变量 VOLUME 选择了三个特征:

  • COVID_RATE
  • MARKETING-2
  • DISCOUNT_P

模型选择步骤

在模型选择步骤中,Model List 参数中的所有模型都会应用于训练数据。该参数的默认值是所有方法的列表:

  • AdaBoost
  • ElasticNetReg
  • DecisionTree
  • GradientBoosting
  • LinearRegressor
  • RidgeRegressor
  • LassoRegressor
  • SGDRegressor
  • KNeighbors
  • SupportVector
  • ExtraTreesReg
  • RandomForestReg
  • Sarimax
  • HoltWinters
  • LightGBM

此步骤计算训练数据上的拟合值、特征重要性以及要优化的指标。该参数的默认指标为 MAPE(平均绝对百分比误差),但可选项包括:

  • 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)

然后选择指标得分最佳的模型。

最后,对于每个目标变量,预测计划(Predictive Planning)在不同的数据集中返回特征重要性、带有指标得分的方法、训练数据的拟合值以及每个变量对实现目标变量的贡献度。例如,以下列表中的所有模型都应用于训练数据并计算 MAPE:

  • AdaBoost Regressor;MAPE = 12%
  • Decision Tree Regressor;MAPE = 15%
  • Elastic Net Regressor;MAPE = 7%
  • Extra Trees Regressor;MAPE = 14%
  • Grandient Boost Regressor;MAPE = 5%
  • Linear Regressor;MAPE = 8%
  • Ridge Regressor;MAPE = 12%
  • Sarimax;MAPE = 3%
  • SDG Regressor;MAPE = 11%
  • Random Forest Regressor;MAPE = 10%
  • Holt-Winters;MAPE = 7%
  • Light GBM;MAPE = 6%
  • LassoRegressor;MAPE = 11%
  • KNeighbors;MAPE = 8%
  • SupportVector;MAPE = 12%

预测计划(Predictive Planning)选择 MAPE = 3% 的 Sarimax 方法。

保存该信息以便在训练阶段重复使用。

预测计划(Predictive Planning)使用诸如 "shapely" 值之类的 "可解释性" 技术,为每个变量计算对实现目标变量的贡献度。

预测计划(Predictive Planning)在不同的数据集中返回特征重要性、带有 MAPE 的方法、训练数据拟合值以及每个变量对实现目标变量的贡献度。