第 4 课:使用 DMX 创建时序预测
适用于: SQL Server 2016 Preview
在本课和下一课中,您将使用数据挖掘扩展插件 (DMX) 来创建不同类型的基于时序模型中创建的预测 第 1 课︰ 创建时序挖掘模型和挖掘结构 和 第 2 课︰ 向时序挖掘结构中添加挖掘模型。
使用时序模型,可以通过许多选项来进行预测:
使用挖掘模型中现有的模式和数据
使用挖掘模型中的现有模式但提供新数据
在模型中添加新数据或者更新模型。
下面概述了进行这些类型的预测所需的语法:
默认的序列预测
使用 PredictTimeSeries ( DMX ) 若要从已经定型的挖掘模型中返回指定的数量的预测。
有关示例,请参阅 PredictTimeSeries ( DMX ) 或 时间时序模型查询示例。
EXTEND_MODEL_CASES
使用 PredictTimeSeries ( DMX ) 带有 EXTEND_MODEL_CASES 参数添加新数据,扩展的序列,并基于更新后的挖掘模型创建预测。
本教程包含有关如何使用 EXTEND_MODEL_CASES 的示例。
REPLACE_MODEL_CASES
使用 PredictTimeSeries ( DMX ) 带有 REPLACE_MODEL_CASES 参数将替换为新的数据系列,原始数据,然后创建基于挖掘模型中的模式应用于新数据序列的预测。
有关如何使用 REPLACE_MODEL_CASES 的示例,请参阅 第 2 课︰ 生成预测方案 ( 数据挖掘中级教程 )。
课程任务
在本课程中,将执行以下任务︰
- 创建一个查询,基于现有数据获得默认预测。
在下一课中,您将执行下列相关任务:
- 创建一个查询,提供新数据并获得更新的预测。
除了使用 DMX 手动创建查询以外,还可以使用 SQL Server Data Tools (SSDT) 中的预测查询生成器来创建预测。
简单的时序预测查询
第一步是使用 SELECT FROM 语句一起 PredictTimeSeries 函数来创建时序预测。 时序模型支持一种简化的预测创建语法:您不必提供任何输入,而只需指定要创建的预测数。 下面是将您使用的语句的一般示例:
SELECT <select list>
FROM [<mining model name>]
WHERE [<criteria>]
选择列表可以包含模型中的列,如产品名称的行,您正在创建,预测或预测函数,如 延隔时间 #40; DMX ) 或 PredictTimeSeries ( DMX ), ,哪些是专门为时序挖掘模型。
创建简单的时序预测查询
在 对象资源管理器, ,用鼠标右键单击实例 Analysis Services, ,指向 新查询, ,然后单击 DMX。
将打开查询编辑器,其中包含一个新的空白查询。
将该语句的一般示例复制到空白查询中。
将
<select list>
使用︰
[Forecasting_MIXED].[ModelRegion], PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty, PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt
第一行从挖掘模型中检索用来标识序列的值。
第二个和第三个行使用 PredictTimeSeries 函数。 每一行都预测一个不同的属性(
[Quantity]
或[Amount]
)。 可预测属性名称后面的数字指定要预测的时间步长量。AS 子句用于为每个预测函数返回的列提供一个名称。 如果您不提供别名,则默认情况下将返回这两列,标签为
Expression
。将
[<mining model>]
使用︰
[Forecasting_MIXED]
将
WHERE [criteria>]
使用︰
WHERE [ModelRegion] = 'M200 Europe' OR [ModelRegion] = 'M200 Pacific'
现在,完整的语句应该如下所示:
SELECT [Forecasting_MIXED].[ModelRegion], PredictTimeSeries([Forecasting_MIXED].[Quantity],6) AS PredictQty, PredictTimeSeries ([Forecasting_MIXED].[Amount],6) AS PredictAmt FROM [Forecasting_MIXED] WHERE [ModelRegion] = 'M200 Europe' OR [ModelRegion] = 'M200 Pacific'
在 文件 菜单上,单击 dmxquery1.dmx 另存为。
在 另存为 对话框中,浏览到相应的文件夹,并将文件 SimpleTimeSeriesPrediction.dmx。
在工具栏上,单击 Execute 按钮。
该查询将返回 6 个预测的每种产品和区域中指定的两个组合 其中 子句。
在下一课中,您将创建一个为模型提供新数据的查询,并将该预测的结果与刚创建的预测进行比较。
课程中的下一个任务
另请参阅
PredictTimeSeries (DMX)
Lag (DMX)
时序模型查询示例
第 2 课︰ 生成预测方案 ( 数据挖掘中级教程 )