在本课和下课中,你将使用数据挖掘扩展插件(DMX)基于在第 1 课中创建的时序模型创建不同类型的预测 :创建时序挖掘模型和挖掘结构 以及 第 2 课:将挖掘模型添加到时序挖掘结构。
使用时序模型,有许多用于进行预测的选项:
在挖掘模型中使用现有模式和数据
使用挖掘模型中的现有模式,但提供新数据
向模型添加新数据或更新模型。
进行这些预测类型的语法汇总如下:
默认时序预测
使用 PredictTimeSeries (DMX) 从训练的挖掘模型返回指定的预测数。
例如,请参阅 PredictTimeSeries (DMX) 或 时序模型查询示例。
扩展模型案例
将 PredictTimeSeries (DMX) 与 EXTEND_MODEL_CASES 参数配合使用,添加新数据、扩展序列,并根据更新的挖掘模型创建预测。
本教程包含有关如何使用EXTEND_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>]
选择列表可以包含模型中的列,例如要为其创建预测的生产线的名称,或预测函数(例如 Lag (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 As”。
在“ 另存为 ”对话框中,浏览到相应的文件夹,并命名该文件
SimpleTimeSeriesPrediction.dmx。在工具栏上,单击“ 执行 ”按钮。
该查询针对子句中指定的
WHERE产品和区域的两个组合返回 6 个预测。
在下一课中,你将创建一个查询来向模型提供新数据,并将该预测的结果与刚刚创建的预测结果进行比较。
课程中的下一个任务
另请参阅
PredictTimeSeries (DMX)
滞后时间(DMX)
时序模型查询示例
第 2 课:构建预测方案(中间数据挖掘教程)