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

 

适用于: SQL Server 2016 Preview

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

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

CREATE MINING MODEL 语句

为了直接创建挖掘模型和自动生成基础挖掘结构,您使用 CREATE MINING MODEL #40; 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 中的某个对象的信息,请参阅 标识符 #40; DMX )

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

<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  
    

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

    文本密钥 关键字指示 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 )

若要执行查询

  • 在查询编辑器中,在工具栏上,单击 Execute

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

    Executing the query   
    Execution complete  
    

    名为的新结构 Forecasting_MIXED_Structure 现在存在于服务器上,与相关的挖掘模型一起 Forecasting_MIXED

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

下一课

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

另请参阅

时序模型的挖掘模型内容(Analysis Services - 数据挖掘)
Microsoft 时序算法技术参考