ATT 预测引擎的默认参数集
本主题说明了为 ATT 预测引擎的配置指定的默认参数。此列表包含用于配置预测引擎的单个值输入参数。使用“最佳”拟合(拣选算法)的初始模型的默认参数列表:
名称 | 说明 | 使于算法 | 接受范围 | 默认值(Demand+ 模板) |
---|---|---|---|---|
边界常量 | ATTEngineDataClass.boundaryConstant 在稳健 Holt-Winters 算法中使用。如果不需要界外值检测,则建议的值是 100。如果需要界外值检测,则值为 3.5。边界常量表示历史值与预测值相比时代标准偏差数量。 |
Best、H-W | 正小数 | 3.5 |
置信度极限 | BatsEngineDataClass.confidenceLimit 这表示 Ljung-Box 测试的置信度极限。Ljung-Box 测试检查模型拟合残差的统计意义。如果测试有意义,则残差不是随机的,这对于良好拟合的模型无效。值零表示引擎不计算此统计量。值越接近 1,便越可能生成有意义的结果。不过,即使结果有意义,也仍能够使用模型。 |
BATS | 0 < x <= 1 | 0.95 |
决策条件 | MainDataClass.decisionCriterion 这将确定要用于测试哪个模型为“最佳”的决策条件类型。在“最佳”算法和优化中使用。AIC(Akaike 信息标准)和 BIC(Bayesian 信息标准)通常比 SD(标准偏差)模型要好。 |
Best、H-W(优化 = 真) | AIC、BIC、SD | AIC |
Epoch | 模型执行以计算模型系数的整个数据集的循环数。 提高 epoch 值,模型更准确,但会影响性能 注意:当“”选项设置为“开启”时适用。
|
ML 培训测试、ML 培训测试随机选择、ML 交叉验证、ML 完整数据集或 ML 完整数据集随机选择中任何一个 = “真”时为最佳 | 正整数 | 50 |
折叠 | 用于设置交叉验证数据集的折叠数。 注意:当“”选项设置为“开启”时适用。
|
机器学习交叉验证 = “真”时为最佳 | 正整数 | 50 |
预测测试度量值 | 表示预测相对历史的度量值。也能提供用于评估未来预测拟合度的检查。 | 所有 | 正小数 | 0 |
历史趋势减幅因子 | ModelDataClass.historyTrendDampingFactor 这表示 Holt-Winters 算法的历史趋势减幅因子。该因子用于在模型拟合过程中减少趋势幅度。该因子还用于在预测中继续减少趋势幅度。如果数据的趋势很强,则趋势减幅因子必然接近 1,因此值 0.95 被视为可接受。如果不需要趋势减幅,则必须使用值 1。 |
Best、H-W | 0 < x <= 1 | 1 |
初始化类型 | ModelFitController:InitialisationType 确定算法为 Holt-Winters 时必须使用的初始化技术。在使用“最佳”算法 (fitmodelPickingAlgorithm) 调用引擎时不适用,因为此时将使用初始化技术的子集。 |
H-W | NOINITIALI SATION、MEDIANS、AVERAGING、DECOMPO SITION、LEAST SQUARE、BACKCASTING | MEDIANS |
介入回归折扣 | BatEngineDataClass.interventionRegressionDiscount 用于纠正预测的回归系数。在特定情况下用于代替常规版本,例如界外值或步骤更改。 注意:该值必须小于标准折扣因子。
|
BATS | 0 =< x < 1 | 0 |
介入季节折扣 | BatEngineDataClass.interventionSeasonalDiscount 用于纠正预测的季节系数。在特定情况下用于代替常规版本,例如界外值或步骤更改。注意:该值必须小于标准折扣因子。
|
BATS | 0 =< x < 1 | 0 |
介入趋势折扣 | BatEngineDataClass.interventionTrendDiscount 用于纠正预测的趋势元素(级别和增长)。在特定情况下用于代替常规版本,例如界外值或步骤更改。注意:该值必须小于标准折扣因子。
|
BATS | 0 =< x < 1 | 0 |
介入差异折扣 | BatEngineDataClass.interventionVarianceDiscount 用于纠正预测的差异估算(级别和增长)。在特定情况下用于代替常规版本,例如界外值或步骤更改。 |
BATS | 0 =< x < 1 | 0 |
移动平均权重指数值 Lambda | ATTEngineDataClass.exponentiallyWMALambda 表示移动平均指数值算法使用的加权因子。这用于增加或降低新观察对移动平均值的影响。当系数为 0 时,新观察对移动平均值没有任何影响。当系数为 1 时,新观察变为移动平均值。例如,值 0.05 <= x <= 0.25 和 0.2 <= x <= 0.3 是合理的。 |
Best、EWMA | 0 < x <= 1 | 0.2 |
最小平方界外值标准差 | ATTEngineDataClass.leastSquaresOutlierSD 对于最小平方算法,与预测进行比较来标记为与界外值相同时某个数据点的标准差最小数量(默认值为 0,可有效停止界外值检测)。如果需要进行界外值测试,则建议使用较小的值,例如 2。仅当发生严重错误时,界外值才会生效。这是由于最小平方模型拟合在初始计算中包含任何界外值观察,因此相对而言对界外值无响应。 |
BEST、LS | 整数 | 2 |
级别膨胀因子 | BatsEngineDataClass.levelInflationFactor 用于当前标准差估算,以创建两个与当前模型进行比较的替代模型(一个较高,一个较低)。该值用于 BATS 监视。 |
BATS | 0 - 99.9 | 3.5 |
级别膨胀阈值 | BatsEngineDataClass.levelInflationThreshold 在激活跟踪信号之前,级别变更的贝氏因子的最小接受值。该值用于 BATS 监视。 如果贝氏因子在单个周期内低于阈值,则会声明一个界外值。 如果贝氏因子按累积低于阈值,则会激活跟踪信号和流程。 |
BATS | 0 < x <= 1 | 1 |
级别平滑系数 | ModelDataClass.alpha 表示 Holt-Winters 算法的级别平滑系数。这用于增加或降低新观察对 Holt-Winters 模型的级别组件的影响(权重、衰减速率等等)。当系数为 0 时,新观察对模型的级别没有任何影响。当系数为 1 时,新观察变为平滑级别(如果适用的话,在移除任何季节影响之后)。 注意:如果 optimize macro 参数为 TRUE,则引擎通过将生成模型的值与所选决策条件的最小值配合使用,从而应用若干值。
|
Best、 H-W(优化 = 真) |
0 < x <= 1 | 0.4 |
学习比率 | 确定模型系数计算过程中生成回模型的错误。 注意:当“”选项设置为“开启”时适用。
|
ML 培训测试、ML 培训测试随机选择、ML 交叉验证、ML 完整数据集或 ML 完整数据集随机选择中任何一个 = “真”时为最佳 | 正小数 | 0.001 |
模型条件数量上限 | BatsEngineDataClass.maximumModelTerms 生成的模型中条件的最大数量。包括:级别、趋势和 6 次谐波(6 对 sine 和 cosine)。 注意:不包括回归因子。
|
BATS | 1-14 | 14 |
SMP 的最少周期数 | 确定要将货品视为非 SMP(滞销产品或间歇性/少量需求的产品)的最小非零历史值数量。 注意:在测试之前,会移除用户定义的掩码。
|
所有,除 EVO 外 | 整数 >= 0 | 0 |
模型表单 | ModelDataClass.ModelForm 这将确定要使用的模型类型,例如,常量(仅级别)、线性(级别和趋势)、季节(级别、趋势和季节性)。该参数必须与选定的 SeasonalType 参数一起使用。 注意:
|
所有 | NOTSET、CONSTANT、LINEAR、CONSTANT_ SEASONAL、SEASONAL | NOTSET |
移动平均数界外值标准差 | ATTEngineDataClass.movingAverageOutlierSD 对于移动平均数算法,与预测进行比较来标记为与界外值相同时某个数据点的标准差最小数量(默认值为 0,可有效停止界外值检测)。如果需要进行界外值测试,则建议使用较小的值,例如 2。仅当必然发生严重错误时,界外值才会生效。这是由于移动平均数模型拟合在初始计算中包含任何界外值观察,因此相对而言对界外值无响应。 |
BEST、MA、EWMA | 整数 | 2 |
移动平均数据点值 | ModelDataClass.movingAveragePoint) 这表示在每个移动点计算中使用的数据点数量。 注意:该值不是中间的移动平均数。
|
BEST、EWMA、MA | 正整数 | 4 |
MLR 剪裁系数 | 这会在合并过程之前移除每个时段内的最高预测和最低预测 (x)。这代表删除单面值,即移除第一个和最后一个值,x =1。 注意:当“”选项设置为“开启”时适用。
|
ML 培训测试、ML 培训测试随机选择、ML 交叉验证、ML 完整数据集或 ML 完整数据集随机选择中任何一个 = “真”时为最佳 | 正整数 | 0 |
优化增量 | OptimisationDataClass.optimisationIncrement Late Acceptance Hill Climbing (LAHC) 优化启发式参数用于确定在对优化算法进行迭代时,相关 Holt-Winters 平滑系数的增加量子。降低该值至零会增加迭代次数,进而会降低总体优化性能。 |
BATS、BEST、H-W | 0 =< x <= 1 | 0.1 |
优化百分比 | OptimisationDataClass.optimisationPercentage Late Acceptance Hill Climbing (LAHC) 优化启发式参数用于确定未保存解决方案以完成优化运行时必须连续计算的候选解决方案数量。这是可以发生的总运行次数百分比(基于增量优化和模型表单)。如果该值等于 1,则优化用于确定根据增量优化和模型表单可以发生的运行总数。如果该值为零,则会使用相关平滑系数的优化起始值来执行一次运行。建议使用默认值。在该值达到 1 时,运行长度增加,因此性能下降。但是,达到所需全局最小值的可能性(最佳平滑参数)增加。 |
BEST、H-W | 0 =< x <= 1 | 0.1 |
优化起始值 Alpha | OptimisationDataClass.OptimisationStartingValueAlpha Late Acceptance Hill Climbing (LAHC) 优化启发式参数用于确定 Holt-Winters 算法的趋势平滑系数的起始值。 |
BATS、BEST、H-W | 0 =< x <= 1 | 0 |
优化起始值 Beta | OptimisationDataClass.OptimisationStartingValueBeta Late Acceptance Hill Climbing (LAHC) 优化启发式参数用于确定 Holt-Winters 算法的趋势平滑系数的起始值。 |
BATS、BEST、H-W | 0 =< x <= 1 | 0 |
优化起始值 Gamma | OptimisationDataClass.OptimisationStartingValueGamma Late Acceptance Hill Climbing (LAHC) 优化启发式参数用于确定 Holt-Winters 算法的季节平滑系数的起始值。 |
BATS、BEST、H-W | 0 =< x <= 1 | 0 |
界外值异常范围 | 确定计算预测的周期级别的界外值异常测试中的历史范围(例如,如果周期级别 = 月,则为月数)。界外值是为完整历史设置的,但是只有覆盖例外范围的最近周期内的界外值才会标记为静态警报(在 pconst)。如果未指定,则考虑所有历史范围。 | BATS、BEST、EWMA、LS、MA | 正整数 | 空 |
执行界外值测试 | MainDataClass.performOutlierTesting 确定是否对 Holt-Winters、最小平方、移动平均数和移动平均指数值算法中的界外值执行检查。 |
BATS、BEST、EWMA、H-W、LS、MA | True 或 False | True |
执行步骤更改 | MainDataClass.performStepChanges 确定是否对 Holt-Winters 算法中的步骤更改执行检查。 |
BATS、BEST、H-W | True 或 False | True |
执行跟踪 | MainDataClass.performTracking 确定引擎是否对 Holt-Winters、最小平方、移动平均数和移动平均指数值算法中的跟踪信号执行检查。 |
BATS、BEST、EWMA、H-W、LS、MA | True 或 False | True |
周期性 | MainDataClass.period
历史传递和屏蔽信息的周期性。这表示用于预测季节性影响的数据的重复性质(例如,月 = 12/13,周 = 52,季度 = 4,等等)。 |
所有 | Holt-Winters 和 BATS 算法:4 (季度数据)、12/13(月数据)、52(周数据)、7 和 365(日数据)。对于所有其他算法,周期为 0 有效。 | 12(月),52(周) |
随机数种子 | 可能的值:
注意:当“”选项设置为“开启”时适用。
|
ML 培训测试随机选择、ML 交叉验证或 ML 完整数据集随机选择中的一个 = “真”时为最佳 | 整数 | -1 |
最近历史 | ModelDataClass.recentHistory 指示最近的历史周期数,以检查货品是否有任何销售历史记录。如果货品在参数中指定的历史周期数内没有销售历史,则引擎不会返回周期的预测,但会标记/指示最近的历史异常。 |
所有 | 整数 >= 0,基于周期性 | 引擎中未设置默认值 |
常规回归折扣 | BatEngineDataClass.trendDiscount 用于增加或降低新观察对 BATS 模型的回归组件的影响(权重或衰减速率)。如果折扣因子趋于 1,模型将变得更加动态;如果趋于 0,模型的动态性将减弱。 |
BATS | 0 =< x < 1 | 0 |
常规季节折扣 | BatEngineDataClass.seasonalDiscount 用于增加或降低新观察对 BATS 模型的季节性组件的影响(权重或衰减速率)。如果折扣因子趋于 1,模型将变得更加动态;如果趋于 0,模型的动态性将减弱。 |
BATS | 0 =< x < 1 | 0 |
常规趋势折扣 | BatEngineDataClass.trendDiscount 用于增加或降低新观察对 BATS 模型的趋势组件的影响(权重或衰减速率)。如果折扣因子趋于 1,模型将变得更加动态;如果趋于 0,模型的动态性将减弱。 |
BATS | 0 =< x < 1 | 0 |
常规差异折扣 | BatEngineDataClass.varianceDiscount 用于增加或降低新观察对 BATS 模型的差异组件的影响(权重或衰减速率)。如果折扣因子趋于 1,模型将变得更加动态;如果趋于 0,模型的动态性将减弱。 |
BATS | 0 =< x < 1 | 0 |
运行长度限制 | BatsEngineDataClass.runLengthLimit 定义要监视的级别和/或差异方面重要变更的周期数量,以及在标记跟踪信号(如果尙未标记)之前其可运行的最大长度。检测到跟踪信号时,货品/库位组合会在映射时写入到跟踪信号异常。该值用于 BATS 监视。 |
BATS | 正整数 | 4 |
比例膨胀因子 | BatsEngineDataClass.scaleInflationFactor 用于开发替代模型以监视差异估算增加的因子。该值用于 BATS 监视。 |
BATS | 0.001-100 | 20 |
比例膨胀阈值 | BatsEngineDataClass.scaleInflationThreshold 在激活跟踪信号之前,贝氏因子方差允许的最小值。如果贝氏因子低于此阈值,则会激活跟踪信号过程。 该值用于 BATS 监视。 |
BATS | 0 < x <= 1 | 0.01 |
比例平滑系数 | ModelDataClass.lambda 稳健 Holt-Winters 算法的比例平滑系数。这用于增加或降低预测误差对稳健 Holt-Winters 模型的比例组件的影响。当系数为 0 时,预测误差对模型的比例没有任何影响。当系数为 1 时,预测误差对模型的比例有显著影响,造成模型比例不稳定。建议将此数字设置为 0.1 并且不要修改。 |
Best、H-W | 0 < x <= 1 | 0.1 |
季节平滑系数 | ModelDataClass.gamma
这表示 Holt-Winters 算法的季节平滑系数。这用于增加或降低新观察对 Holt-Winters 模型的相关季节指数的影响。当系数为 0 时,新观察对模型的相关季节指数没有任何影响。当系数为 1 时,新观察变为相关季节指数(在移除季节的影响之后)。 注意:如果 optimize macro 参数为 TRUE,则引擎通过将生成模型的值与所选决策条件的最小值配合使用,从而应用若干值。
|
Best、H-W(优化 = 真) | 0 < x <= 1 | 0.4 |
季节类型 | ModelDataClass.SeasonalType 这将确定要用于 Holt-Winters 模型的季节性类型,例如,加法或乘法。 。 |
Best、BATS、H-W | NONE、ADDITIVE、MULTIPLI CATIVE | NONE |
短历史 | ModelDataClass.shortHistoryLength 存储执行模型拟合所需的历史最小长度。历史长度必须等于或大于指定的短历史参数。在测试之前,会删除用户定义的掩码。 |
所有,除 EVO 外 | 整数 > 0 | 0 |
SMP 间隔折扣因子 | BatsEngineDataClass.smpDiscount 存储用于在 SMP 的 BATS 中平滑级别的折扣因子。这会简化估算销售事件之间的当前时间长度的过程。 |
BATS | 0 =< x < 1 | 0.2 |
步骤更改例外范围 | 确定计算预测的周期级别的步骤更改异常测试中的历史范围(例如,如果周期级别 = 月,则为月数)。步骤更改是为完整历史设置的,但是只有覆盖例外范围的最近周期内的步骤更改才会标记为静态警报(在 pconst)。如果未指定,则没有限制 。 |
BEST、H-W | 正整数 | 空 |
步骤更改最大运行长度 | ATTEngineDataClass.stepChangeMaximumRunLength 包含要在 Holt-Winters 算法中触发步骤更改所需的连续界外值最大数量。所有界外值都必须在同一个方向。 |
BEST、H-W | 整数 | 3 |
跟踪异常范围 |
确定计算预测的周期级别的跟踪异常测试中的历史范围(例如,如果周期级别 = 月,则为月数)。跟踪信号是为完整历史设置的,但是只有覆盖例外范围的最近周期内的跟踪信号才会标记为静态警报(在 pconst)。 |
BATS、BEST、EWMA、H-W、LS、MA | 正整数 | 空 |
跟踪控制限制 | TrackingSignalDataClass.controlLimit 当跟踪设置为“开启”时,确定跟踪的控制限制。值 0.99 会有效地将跟踪信号检测关闭。 |
BEST、EWMA、H-W、LS、MA | 0.8、0.9、0.95、0.96、0.97、0.98、0.99 | 0.99 |
跟踪类型 | TrackingSignalDataClass.type 当跟踪设置为“开启”时,确定使用的跟踪信号策略。 |
BEST、EWMA、H-W、LS、MA | NOTRACKING、SIMPLE TRACKING SIGNAL、BROWNS CUSUMTR ACKING SIGNAL、TRIGGSS MOOTHE DTRACKING SIGNAL、AUTOCO RRELATI ONTRACK INGSIGNAL | NOTRACKING |
趋势平滑系数 | ModelDataClass.beta 这表示 Holt-Winters 算法的趋势平滑系数。这用于增加或降低级别对 Holt-Winters 模型的趋势组件的影响。当系数为 0 时,新旧级别之间的差异不会影响模型的趋势。当系数为 1 时,新旧级别之间的差异便是趋势。 注意: 如果 optimize macro 参数为 TRUE,则引擎通过将生成模型的值与所选决策条件的最小值配合使用,从而应用若干值。
|
Best、H-W | 0 < x <= 1 | 0 |
剪裁系数 | 指示在运行预测合并的截断均值时要删除的极值数量。这代表删除单面值,即移除第一个和最后一个值,x =1。 注意:当“”选项设置为“开启”时适用。
|
最佳和经典合并设置为“开启”。 | 正整数 | 1 |
缩尾处理因子 | 指示运行缩尾处理方法时要替换的值数量。这代表删除单面值,即移除第一个和最后一个值,x =1。 | 最佳和经典合并设置为“开启”。 | 正整数 | 1 |
权重 AIC 最大值 | ForecastingConstants.AICMAXIMUM 指示与权重计算中要包括的技术相比,最低 AIC 值的最大差异。用于加权 AIC 技术,当“”选项设置为“开启”时适用。 |
最佳和经典合并设置为“开启”。 | 正小数 | 4 |
- 高级传统技术引擎需要一个额外的范围 (ForecastDataClass.horizon_) 参数,从 Cycle.FutureHorizon 参数中使用。这适用于所有货品和/或库位。此操作是在调用预测引擎时作为流程的一部分来完成。
- 应用程序在调用预测引擎之前会首先验证参数。使用无效参数设置的货品和库位组合将被拒绝。代码列表和无效参数在预测引擎中的附加放弃日志中的审查日志条目中指定。
- Algorithm、SeasonalType 和 ModelForm 彼此协作。可能的组合为(按照 Algorithm、SeasonalType 和 ModelForm 的顺序):
LEASTSQUARES, NONE, LINEAR MOVINGAVERAGE, NONE, CONSTANT EXPONENTIALMOVINGAVERAGE, NONE, CONSTANT CROSTONS, NONE, CONSTANT HOLTWINTERS, NONE, CONSTANT HOLTWINTERS, NONE, LINEAR HOLTWINTERS, ADDITIVE, SEASONAL HOLTWINTERS, MULTIPLICATIVE, SEASONAL.