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

在本课中,你将创建一个挖掘模型,以便根据历史数据预测随时间推移的值。 创建模型时,基础结构将自动生成,并可用作其他挖掘模型的基础。

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

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]  

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

代码的下一行定义挖掘模型的键列,在这种情况下,时序模型唯一标识源数据中的时间步骤。 时间步骤在列名称和数据类型之后使用 KEY TIME 关键字进行标识。 如果时序模型具有单独的序列键,则使用 KEY 关键字进行标识。

<key columns>  

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

<predictable attribute columns>  

课程任务

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

  • 创建新的空白查询

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

  • 执行查询

创建查询

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

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

  1. 打开 SQL Server Management Studio。

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

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

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

更改查询

下一步是修改 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 As”。

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

执行查询

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

执行查询

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

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

    Executing the query   
    Execution complete  
    

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

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

下一课

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

另请参阅

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