Microsoft时序算法提供了影响模型创建方式的参数,以及分析时间数据的方式。 更改这些属性可能会显著影响挖掘模型进行预测的方式。
在本教程中,你将执行以下任务来修改模型:
通过为 PERIODICITY_HINT 参数添加新值,可以自定义模型处理时间段的方式。
你将了解Microsoft时序算法的另外两个重要参数:FORECAST_METHOD,该算法允许你控制用于预测的方法,以及PREDICTION_SMOOTHING,这样就可以自定义长期预测和短期预测的混合。
(可选)你可以告知算法你希望如何对缺失值进行插补。
完成所有更改后,你将部署和处理模型。
设置时序参数
周期提示
PERIODICITY_HINT参数为算法提供了有关预期在数据中看到的其他时间段的信息。 默认情况下,时序模型将尝试自动检测数据中的模式。 但是,如果已经知道预期的时间周期,则提供周期提示可能会提高模型的准确性。 但是,如果提供错误的周期提示,则可能会降低准确性;因此,如果不确定应使用什么值,最好使用默认值。
例如,此模型使用的视图是将 Adventure Works DW Multidimensional 2012 中的销售数据按月进行聚合。 因此,模型使用的每个时间切片都表示一个月,并且所有预测也将以月为单位。 由于一年内有 12 个月,预计每年的销售额模式或多或少重复,因此将 PERIODICITY_HINT 参数设置为 12,以指示 12 个时间切片(月)构成一个完整的销售周期。
预测方法
FORECAST_METHOD参数控制时序算法是针对短期预测还是长期预测进行优化。 默认情况下, FORECAST_METHOD 参数设置为 MIXED,这意味着混合和均衡两种不同的算法,以便为短期和长期预测提供良好的结果。
但是,如果知道要使用特定算法,可以将值更改为 ARIMA 或 ARTXP。
Long-Term 与 Short-Term 预测加权比较
还可以使用 PREDICTION_SMOOTHING 参数自定义长期预测和短期预测组合的方式。 默认情况下,此参数设置为 0.5,这通常为总体准确性提供最佳平衡。
更改算法参数
在“ 挖掘模型 ”选项卡上,右键单击“ 预测”,然后选择“ 设置算法参数”。
在
PERIODICITY_HINT“算法参数”对话框的行中,单击“值”列,然后键入{12},包括大括号。默认情况下,该算法还将添加值 {1}。
在
FORECAST_METHOD行中,验证 值 文本框是否为空或设置为MIXED。 如果输入了其他值,请键入MIXED以将参数更改回默认值。在 PREDICTION_SMOOTHING 行中,验证 值 文本框为空或设置为 0.5。 如果输入了其他值,请单击 “值 ”并键入
0.5以将参数更改回默认值。注释
PREDICTION_SMOOTHING参数仅在 SQL Server Enterprise 中可用。 因此,无法在 SQL Server Standard 中查看或更改 PREDICTION_SMOOTHING 参数的值。 但是,默认行为是同时使用这两种算法并对其进行均衡权重。
单击 “确定” 。
处理缺失数据(可选)
在许多情况下,您的销售数据可能会出现间隙,填充了空值;或者某个商店未能按时提交报告,导致系列末尾留下一个空单元格。 在这种情况下,Analysis Services 会引发以下错误,并且不会处理模型。
“错误(数据挖掘):时间戳从系列 <系列名称>开始未同步,挖掘模型, <模型名称>。 所有时间序列必须在同一时间点结束,且数据点不能随意缺失。 将MISSING_VALUE_SUBSTITUTION参数设置为“上一个”或“数值常量”将尽可能自动修补缺失的数据点。
若要避免此错误,可以指定 Analysis Services 自动提供新值,以使用下列任一方法填补空白:
使用平均值。 平均值是使用相同的数据系列中的所有有效值计算的。
使用上一个值。 可以将以前的值替换为多个缺失单元格,但无法填充起始值。
使用您提供的常量值。
指定通过平均值填充间隙
在“ 挖掘模型 ”选项卡上,右键单击“ 预测 ”列,然后选择“ 设置算法参数”。
在 算法参数 对话框中,在 MISSING_VALUE_SUBSTITUTION 行中,单击 值 列,然后键入
Mean。
生成模型
若要使用模型,必须将其部署到服务器,并通过算法运行训练数据来处理模型。
处理预测模型
在 SQL Server Data Tools 的 “挖掘模型 ”菜单上,选择“ 进程挖掘结构和所有模型”。
在警告中询问是否要生成和部署项目,请单击“ 是”。
在“ 进程挖掘结构 - 预测 ”对话框中,单击“ 运行”。
此时将打开 “进程进度 ”对话框以显示有关模型处理的信息。 模型处理可能需要一些时间。
处理完成后,单击“ 关闭 ”退出 “进程进度 ”对话框。
再次单击“ 关闭 ”退出 “进程挖掘结构 - 预测 ”对话框。