自定义和处理预测模型(数据挖掘中级教程)
Microsoft 时序算法提供了多个参数,这些参数影响模型创建方式和时间数据分析方式。您可以更改这些属性以控制挖掘模型进行预测的方式。
对于本教程中的此任务,您将对参数进行如下更改:
- 您将为 Forecasting 模型调整 PERIODICITY_HINT 参数的值。该参数提供了有关数据模式重复频率的算法信息。AdventureWorks DW2008 中的数据模式每个月更改一次,且周期以年为单位。所以,需要将 PERIODICITY_HINT 参数设置为 12,指示模式每 12 个月重复一次。
您还将查看在 SQL Server 2008 中作为 Microsoft 时序算法的增强功能引进的两个重要参数的设置。
FORECAST_METHOD 参数控制时序算法是针对短期还是长期预测进行优化。默认情况下,FORECAST_METHOD 参数设置为 MIXED,这意味着将混合和平衡使用这两个不同的预测算法,同时执行短期预测和长期预测。
PREDICTION_SMOOTHING 参数控制长期预测和短期预测的混合。默认情况下,此参数设置为 0.5,这通常会提供最佳平衡,从而实现总体准确性。
在进行上述更改后,您将处理该模型。
更改算法参数
在**“挖掘模型”选项卡上,右键单击 Forecasting,再选择“设置算法参数”**。
在**“算法参数”对话框的 PERIODICITY_HINT 行中,单击“值”**列,然后键入 {12}(包括大括号)。
在 FORECAST_METHOD 行中,验证**“值”**文本框是否为空或设置为 MIXED。如果输入了其他值,请键入 MIXED 以将参数更改回默认值。
在 PREDICTION_SMOOTHING 行中,验证**“值”文本框是否为空或设置为 0.5。如果已经输入了不同值,请单击“值”**,然后键入 0.5 以将参数更改回默认值。
注意 PREDICTION_SMOOTHING 参数仅在 SQL Server Enterprise 中可用。因此,在 SQL Server Standard 中无法查看或更改 PREDICTION_SMOOTHING 参数的值。但是,默认行为是相同的。
单击**“确定”**。
处理预测模型
在 BI Development Studio 的**“挖掘模型”菜单上,选择“处理挖掘结构和所有模型”**。
看到询问您是否要生成和部署项目的警告时,请单击**“是”**。
在**“处理挖掘结构 - Forecasting”对话框中,单击“运行”**。
将打开**“处理进度”**对话框,以显示有关模型处理的信息。模型处理可能需要一些时间。
处理完成后,单击**“关闭”退出“处理进度”**对话框。
再次单击**“关闭”以退出“处理挖掘结构 - Forecasting”**对话框。
处理缺少的数据(可选)
在许多情况下,您的销售数据可能具有用 null 填充的空白,或者某个商店在报告期限之前没有完成报表,在序列末尾留有空白单元。在这些情况下,Analysis Services 会引发以下错误,将不处理模型。
“错误(数据挖掘): 自挖掘模型 <模型名称> 的时序 <序列名称> 起,时间戳就未同步。所有时序必须以相同的时间标记结束,并且不能有随意缺失的数据点。如果将 MISSING_VALUE_SUBSTITUTION 参数设置为 Previous 或一个数值常量,那么,只要有可能,就将自动修补缺失的数据点。”
为了避免出现此错误,可以指定 Analysis Services 通过使用以下方法自动提供新值以填充空白:
使用平均值。平均值是使用同一数据序列中的所有有效值来计算的。
使用以前的值。可以用以前的值替换多个缺少的单元格,但是不能填充起始值。
使用您提供的常量值。
指定通过求平均值来填充空白
在**“挖掘模型”选项卡上,右键单击“预测”列,再选择“设置算法参数”**。
在**“算法参数”对话框中的 MISSING_VALUE_SUBSTITUTION 行中,单击“值”**列,再键入 Mean。