第 2 课:向时序挖掘结构添加挖掘模型

在本课中,您将向在第 1 课:创建时序挖掘模型和挖掘结构中刚创建的挖掘结构中添加新挖掘模型。

ALTER MINING STRUCTURE 语句

为了向现有的挖掘结构中添加新挖掘模型,可以使用 ALTER MINING STRUCTURE (DMX) 语句。可以将语句中的代码分为下列几部分:

  • 标识挖掘结构

  • 命名挖掘模型

  • 定义键列

  • 定义可预测列

  • 指定算法和任何参数更改

下面是 ALTER MINING STRUCTURE 语句的一般示例:

ALTER MINING STRUCTURE [<mining structure name>]
ADD MINING MODEL [<mining model name>]
   ([<key columns>],
    <mining model columns>
   )
USING <algorithm name>([<algorithm parameters>])
[WITH DRILLTHROUGH]

代码的第一行标识将向其添加挖掘模型的现有挖掘结构:

ALTER MINING STRUCTURE [<mining structure name>]

代码的第二行命名将添加到挖掘结构中的挖掘模型:

ADD MINING MODEL [<mining model name>]

有关在 DMX 中命名对象的信息,请参阅标识符 (DMX)

代码的接下来的各行定义挖掘结构中将由挖掘模型使用的各列:

[<key columns>],
<mining model columns>

您只能使用挖掘结构中现有的各列,列表中的第一列必须是挖掘结构中的键列。

代码的下一行定义生成挖掘模型的挖掘算法以及可以针对算法设置的算法参数,并指定是否能够从挖掘模型深化到定型事例中的详细数据视图:

USING <algorithm name>([<algorithm parameters>])
WITH DRILLTHROUGH

有关可以调整的算法参数的详细信息,请参阅 Microsoft 时序算法技术参考

您可以使用以下语法指定将挖掘模型中的一列用于预测:

<mining model column> PREDICT

课程任务

在本课中,您将执行以下任务:

  • 在结构中添加新的时序挖掘模型。

  • 更改算法参数以使用另一种分析和预测方法。

在结构中添加 ARIMA 时序模型

第一步是在现有结构中添加新的预测挖掘模型。默认情况下,Microsoft 时序算法通过使用 ARIMA 和 ARTXP 两种算法并混合所得到的结果来创建时序挖掘模型。但是,您可以指定要使用某个算法,也可以指定确切的算法组合。在该步骤中,您将添加一个仅使用 ARIMA 算法的新模型。此算法是 SQL Server 2008 中的新增算法,针对长期预测进行了优化。

添加 ARIMA 时序挖掘模型

  1. 对象资源管理器中,右键单击 Analysis Services 的实例,指向**“新建查询”**,然后单击 DMX,打开查询编辑器和一个新的空白查询。

  2. 将 ALTER MINING STRUCTURE 语句的一般示例复制到空白查询中。

  3. <mining structure name> 
    

    替换为

    [Forecasting_MIXED_Structure]
    
  4. <mining model name> 
    

    替换为

    Forecasting_ARIMA
    
  5. <key columns>,
    

    替换为

    [ReportingDate],
    [ModelRegion]
    

    请注意,您不必重复在 CREATE MINING MODEL 语句中提供的有关数据类型或内容类型的任何信息,因为这些信息已经存储在挖掘结构中。

  6. <mining model columns>
    

    替换为

    ([Quantity] PREDICT,
    [Amount] PREDICT
    )
    
  7. USING <algorithm name>([<algorithm parameters>]) 
    [WITH DRILLTHROUGH]
    

    替换为

    USING Microsoft_Time_Series (AUTO_DETECT_PERIODICITY = .08, FORECAST_METHOD = 'ARIMA')
    WITH DRILLTHROUGH
    

    现在,结果语句应该如下所示:

    ALTER MINING STRUCTURE [Forecasting_MIXED_Structure]
    ADD MINING MODEL [Forecasting_ARIMA]
       (
       ([ReportingDate],
        [ModelRegion],
        ([Quantity] PREDICT,
        [Amount] PREDICT
       ) 
    USING Microsoft_Time_Series (AUTO_DETECT_PERIODICITY = .08, FORECAST_METHOD = 'ARIMA')
    WITH DRILLTHROUGH
    
  8. 在**“文件”菜单中,单击“DMXQuery1.dmx 另存为”**。

  9. 在**“另存为”**对话框中,浏览到适当的文件夹,并将文件命名为 Forecasting_ARIMA.dmx。

  10. 在工具栏中,单击**“执行”**按钮。

在结构中添加 ARTXP 时序模型

ARTXP 算法是 SQL Server 2005 中的默认时序算法,针对短期预测进行了优化。若要使用所有这三个时序算法来比较预测结果,还需要再添加一个基于 ARTXP 算法的模型。

添加 ARTXP 时序挖掘模型

  1. 将以下代码复制到空白的查询窗口中。

    请注意,除了新挖掘模型的名称以及 FORECAST_METHOD 参数的值,您不必更改任何其他内容。

    ALTER MINING STRUCTURE [Forecasting_MIXED_Structure]
    ADD MINING MODEL [Forecasting_ARTXP]
       (
       ([ReportingDate],
        [ModelRegion],
        ([Quantity] PREDICT,
        [Amount] PREDICT
       ) 
    USING Microsoft_Time_Series (AUTO_DETECT_PERIODICITY = .08, FORECAST_METHOD = 'ARTXP')
    WITH DRILLTHROUGH
    
  2. 在**“文件”菜单中,单击“DMXQuery1.dmx 另存为”**。

  3. 在**“另存为”**对话框中,浏览到适当的文件夹,并将文件命名为 Forecasting_ARTXP.dmx。

  4. 在工具栏中,单击**“执行”**按钮。

在下一课中,您将处理所有模型和挖掘结构。