自定义和处理预测模型(数据挖掘中级教程)

Microsoft 时序算法提供了多个参数,这些参数影响模型创建方式和时间数据分析方式。您可以更改这些属性以控制挖掘模型进行预测的方式。

对于本教程中的此任务,您将对参数进行如下更改:

  • 您将为 Forecasting 模型调整 PERIODICITY_HINT 参数的值。该参数提供了有关数据模式重复频率的算法信息。AdventureWorks DW2008 中的数据模式每个月更改一次,且周期以年为单位。所以,需要将 PERIODICITY_HINT 参数设置为 12,指示模式每 12 个月重复一次。

您还将查看在 SQL Server 2008 中作为 Microsoft 时序算法的增强功能引进的两个重要参数的设置。

  • FORECAST_METHOD 参数控制时序算法是针对短期还是长期预测进行优化。默认情况下,FORECAST_METHOD 参数设置为 MIXED,这意味着将混合和平衡使用这两个不同的预测算法,同时执行短期预测和长期预测。

  • PREDICTION_SMOOTHING 参数控制长期预测和短期预测的混合。默认情况下,此参数设置为 0.5,这通常会提供最佳平衡,从而实现总体准确性。

在进行上述更改后,您将处理该模型。

更改算法参数

  1. 在**“挖掘模型”选项卡上,右键单击 Forecasting,再选择“设置算法参数”**。

  2. 在**“算法参数”对话框的 PERIODICITY_HINT 行中,单击“值”**列,然后键入 {12}(包括大括号)。

  3. FORECAST_METHOD 行中,验证**“值”**文本框是否为空或设置为 MIXED。如果输入了其他值,请键入 MIXED 以将参数更改回默认值。

  4. PREDICTION_SMOOTHING 行中,验证**“值”文本框是否为空或设置为 0.5。如果已经输入了不同值,请单击“值”**,然后键入 0.5 以将参数更改回默认值。

    注意注意

    PREDICTION_SMOOTHING 参数仅在 SQL Server Enterprise 中可用。因此,在 SQL Server Standard 中无法查看或更改 PREDICTION_SMOOTHING 参数的值。但是,默认行为是相同的。

  5. 单击**“确定”**。

处理预测模型

  1. 在 BI Development Studio 的**“挖掘模型”菜单上,选择“处理挖掘结构和所有模型”**。

  2. 看到询问您是否要生成和部署项目的警告时,请单击**“是”**。

  3. 在**“处理挖掘结构 - Forecasting”对话框中,单击“运行”**。

    将打开**“处理进度”**对话框,以显示有关模型处理的信息。模型处理可能需要一些时间。

  4. 处理完成后,单击**“关闭”退出“处理进度”**对话框。

  5. 再次单击**“关闭”以退出“处理挖掘结构 - Forecasting”**对话框。

处理缺少的数据(可选)

在许多情况下,您的销售数据可能具有用 null 填充的空白,或者某个商店在报告期限之前没有完成报表,在序列末尾留有空白单元。在这些情况下,Analysis Services 会引发以下错误,将不处理模型。

“错误(数据挖掘): 自挖掘模型 <模型名称> 的时序 <序列名称> 起,时间戳就未同步。所有时序必须以相同的时间标记结束,并且不能有随意缺失的数据点。如果将 MISSING_VALUE_SUBSTITUTION 参数设置为 Previous 或一个数值常量,那么,只要有可能,就将自动修补缺失的数据点。”

为了避免出现此错误,可以指定 Analysis Services 通过使用以下方法自动提供新值以填充空白:

  • 使用平均值。平均值是使用同一数据序列中的所有有效值来计算的。

  • 使用以前的值。可以用以前的值替换多个缺少的单元格,但是不能填充起始值。

  • 使用您提供的常量值。

指定通过求平均值来填充空白

  1. 在**“挖掘模型”选项卡上,右键单击“预测”列,再选择“设置算法参数”**。

  2. 在**“算法参数”对话框中的 MISSING_VALUE_SUBSTITUTION 行中,单击“值”**列,再键入 Mean。