第 1 课:创建时序挖掘模型和挖掘结构

在本课中,将创建一个挖掘模型,可以使用该模型根据历史数据预测一段时间内的值。 创建该模型时,基础结构会自动生成,且可以用作其他挖掘模型的基础。

本课假定您已熟悉预测模型以及 Microsoft 时序算法的要求。 有关详细信息,请参阅 Microsoft Time Series Algorithm

CREATE MINING MODEL 语句

为了直接创建挖掘模型并自动生成基础挖掘结构,请使用 CREATE MINING MODEL (DMX) 语句。 可以将语句中的代码分为下列几部分:

  • 命名模型

  • 定义时间戳

  • 定义可选序列键列

  • 定义可预测属性

下面是 CREATE MINING MODEL 语句的一般示例:

CREATE MINING MODEL [<Mining Structure Name>]  
(  
   <key columns>,  
   <predictable attribute columns>  
)  
USING <algorithm name>([parameter list])  
WITH DRILLTHROUGH  

代码的第一行定义了挖掘模型的名称:

CREATE MINING MODEL [Mining Model Name]  

通过在模型名称后追加“_structure”,Analysis Services 自动生成基础结构的名称,这样可以确保将结构名称与模型名称区分开。 有关在 DMX 中命名对象的信息,请参阅标识符 (DMX)

代码中的下一行定义了挖掘模型的键列,如果是时序模型,则它可唯一标识源数据中的时间步长。 时间步长在列名和数据类型后使用 KEY TIME 关键字进行标识。 如果时序模型具有单独的序列键,则使用 KEY 关键字对它进行标识。

<key columns>  

代码中的下一行用于定义将预测的模型中的列。 一个挖掘模型中可以有多个可预测属性。 如果有多个可预测属性,Microsoft 时序算法会为每个序列生成一个单独的分析:

<predictable attribute columns>  

课程任务

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

  • 创建新的空白查询

  • 更改查询以创建挖掘模型

  • 执行查询

创建查询

第一步是连接到 Analysis Services 实例并在 SQL Server Management Studio 中创建新的 DMX 查询。

在 SQL Server Management Studio 中创建一个新的 DMX 查询

  1. 打开 SQL Server Management Studio。

  2. 在“ 连接到服务器 ”对话框中,对于“ 服务器类型”,选择“ Analysis Services”。 在 “服务器名称”中,键入 LocalHost或要在本课中连接到的 Analysis Services 实例的名称。 单击“连接” 。

  3. “对象资源管理器”中,右键单击 Analysis Services 实例,指向“新建查询”,然后单击“DMX”。

    将打开查询编辑器,其中包含一个新的空白查询。

更改查询

下一步是修改 CREATE MINING MODEL 语句,以创建用于预测的挖掘模型及其基础挖掘结构。

自定义 CREATE MINING MODEL 语句

  1. 在查询编辑器中,将 CREATE MINING MODEL 语句的一般示例复制到空白查询中。

  2. [mining model name]   
    

    替换为:

    [Forecasting_MIXED]  
    
  3. <key columns>  
    

    替换为:

    [Reporting Date] DATE KEY TIME,  
    [Model Region] TEXT KEY  
    

    TIME KEY 关键字指示 ReportingDate 列包含用于对值进行排序的时间步长值。 时间步长可以为日期和时间、整数或任何有序数据类型,只要值唯一且数据有序即可。

    TEXTKEY 关键字指示 ModelRegion 列包含额外的序列键。 只能有一个序列键,并且该列中的值必须是唯一的。

  4. < predictable attribute columns> )  
    

    替换为:

    [Quantity] LONG CONTINUOUS PREDICT,  
    [Amount] DOUBLE CONTINUOUS PREDICT  
    )  
    
  5. USING <algorithm name>([parameter list])  
    WITH DRILLTHROUGH  
    

    替换为:

    USING Microsoft_Time_Series(AUTO_DETECT_PERIODICITY = 0.8, FORECAST_METHOD = 'MIXED')  
    WITH DRILLTHROUGH  
    

    算法参数 AUTO_DETECT_PERIODICITY = 0.8 指示您希望使用该算法来检测数据中的周期。 如果将此值设置为接近于 1 的数,往往会发现许多模式,不过会降低处理速度。

    算法参数 FORECAST_METHOD 指示您是否希望使用 ARTXP、ARIMA 或两者的组合来对数据进行分析。

    关键字 WITH DRILLTHROUGH 指示您希望能够在模型完成后查看源数据中的详细统计信息。 如果希望使用 Microsoft 时序查看器浏览模型,则必须添加此子句。 它不是预测所必需的。

    现在,完整的语句应该如下所示:

    CREATE MINING MODEL [Forecasting_MIXED]  
         (  
        [Reporting Date] DATE KEY TIME,  
        [Model Region] TEXT KEY,  
        [Quantity] LONG CONTINUOUS PREDICT,  
        [Amount] DOUBLE CONTINUOUS PREDICT  
        )  
    USING Microsoft_Time_Series (AUTO_DETECT_PERIODICITY = 0.8, FORECAST_METHOD = 'MIXED')  
    WITH DRILLTHROUGH  
    
    
  6. 在“ 文件 ”菜单上,单击“ 将 DMXQuery1.dmx 另存为”。

  7. 在“ 另存为 ”对话框中,浏览到相应的文件夹,并将文件 Forecasting_MIXED.dmx命名为 。

执行查询

最后一步是执行查询。 创建并保存查询后,需要执行查询,以在服务器上创建挖掘模型及其挖掘结构。 有关在 查询编辑器 中执行查询的详细信息,请参阅数据库引擎 查询编辑器 (SQL Server Management Studio)

执行查询

  • 在查询编辑器工具栏上,单击“执行”。

    语句执行完成后,查询的状态将显示在查询编辑器底部的“消息”选项卡中。 所显示的消息应为:

    Executing the query   
    Execution complete  
    

    服务器上现在存在名为 Forecasting_MIXED_Structure 的新结构,以及相关的挖掘模型 Forecasting_MIXED

在下一课中,你将将挖掘模型添加到刚刚创建的 Forecasting_MIXED 挖掘结构。

下一课

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

另请参阅

时序模型的挖掘模型内容(Analysis Services - 数据挖掘)
Microsoft Time Series Algorithm Technical Reference