创建时序预测(数据挖掘中级教程)
在本课程前面的任务中,您已经创建了时序模型并浏览了结果。默认情况下,Analysis Services 将始终创建时序模型的预测,并将其作为预测图的一部分显示。但是,也可以通过生成数据挖掘扩展插件 (DMX) 预测查询,来创建自定义预测。
在本任务中,您将创建一个预测查询,该查询生成的预测就是您在查看器中看到的同一预测。该任务假定您已经学完了“数据挖掘基础教程”中的课程,并且熟悉如何使用预测查询生成器。现在,您将学习如何创建特定于时序模型的查询。
创建时序预测
一般来说,创建预测查询的第一步是选择挖掘模型和输入表。但是,时序模型不需要为常规预测进行额外输入。因此,您在进行预测时并不需要指定新数据源,除非您要将数据添加到模型或替换数据。在本课程中,您必须指定预测步骤数。还可以指定一个键值,用于获取产品和区域的特定组合的预测。
注意 |
---|
本教程后面的任务将介绍一个应用场景,在该应用场景中,您需要使用新数据来替换模型中的数据,以执行交叉预测。有关详细信息,请参阅使用平均预测模型进行预测(数据挖掘中级教程)。 |
选择模型和输入表
在数据挖掘设计器的**“挖掘模型预测”选项卡的“挖掘模型”框中,单击“选择模型”**。
在**“选择挖掘模型”对话框中,展开“预测”结构,从列表中选择“预测”模型,然后单击“确定”**。
忽略**“选择输入表”**框。
注意 对于时序模型,并不需要指定单独的输入,除非您要进行交叉预测。
在**“挖掘模型预测”选项卡上网格内的“源”列中,单击第一个空行中的单元格,然后选择“预测挖掘模型”**。
在**“字段”**列中,选择 Model Region。
此操作可将序列标识符添加到预测查询中,以指示预测适用于的型号和区域的组合。
在**“源”列中,单击下一个空行,然后选择“预测函数”**。
在**“字段”**列中,选择 PredictTimeSeries。
注意 也可将 Predict 函数与时序模型结合使用。但在默认情况下,预测函数只为每个时序创建一个预测。因此,若要指定多个预测步骤,必须使用 PredictTimeSeries 函数。
在**“挖掘模型”窗格中,选择挖掘模型列 Amount。将 Amount 拖到您以前添加的 PredictTimeSeries 函数的“条件/参数”**框。
单击**“条件/参数”**框,在字段名称后键入一个逗号,后跟 5。
**“条件/参数”**框中的文本现在应该显示以下内容:
[Forecasting].[Amount],5
在**“别名”**列中,键入 PredictAmount。
在**“源”列中,单击下一个空行,然后再次选择“预测函数”**。
在**“字段”**列中,选择 PredictTimeSeries。
在**“挖掘模型”窗格中,选择“Quantity”列,然后将其拖到第二个 PredictTimeSeries 函数的“条件/参数”**框。
单击**“条件/参数”**框,在字段名称后键入一个逗号,后跟 5。
**“条件/参数”**框中的文本现在应该显示以下内容:
[Forecasting].[ Quantity],5
在**“别名”**列中,键入 PredictQuantity。
单击**“切换到查询结果视图”**。
查询结果以表格形式显示。
请记住,您在查询生成器中创建了三个不同类型的结果,一个结果使用列中的值,另两个结果从预测函数中获取预测值。因此,查询结果包含三个单独的列。第一列包含产品和区域组合的列表。第二列和第三列都包含预测结构的嵌套表。每个嵌套表都包含时间步长和预测值,如下表所示:
示例结果:
ModelRegion |
PredictAmount |
PredictQuantity |
---|---|---|
M200 Europe |
$TIMEAmount
7/25/2008264039.4
8/25/2008323995.1
9/25/2008346405.6
10/25/2008337472.8
11/25/2008342890.8
|
$TIMEQuantity
7/25/2008121
8/25/2008142
9/25/2008152
10/25/2008149
11/25/2008154
|
M200 North America |
$TIMEAmount
7/25/2008372986.4
8/25/2008411315.3
9/25/2008356186.6
10/25/2008412292.1
11/25/2008473739.2
|
$TIMEQuantity
7/25/2008163
8/25/2008178
9/25/2008156
10/25/2008173
11/25/2008203
|
保存预测结果
对于使用预测结果,有几个不同的选项可供您选择。您可以平展结果,从“结果”视图复制数据,然后将数据粘贴到 Excel 工作表或其他文件中。还可以将数据保存到某一数据源视图。将结果保存到数据源视图的功能仅在 Business Intelligence Development Studio 中提供,结果以平展格式保存在导出的表格中。
在“结果”窗格中平展结果
在预测查询生成器中,单击**“切换到查询设计视图”**。
该视图发生变化,允许手动编辑 DMX 查询文本。
在 SELECT 关键字后键入 FLATTENED 关键字。完整的查询文本应该如下所示:
SELECT FLATTENED [Forecasting].[Model Region], (PredictTimeSeries([Forecasting].[Amount],5)) as [PredictAmount], (PredictTimeSeries([Forecasting].[Quantity],5)) as [PredictQuantity] FROM [Forecasting]
单击**“切换到查询结果视图”**。
导出预测查询结果
单击**“保存查询结果”**。
在**“保存数据挖掘查询结果”对话框中的“数据源”**中,选择 AdventureWorksDW2008R2。如果您希望将数据保存到不同的关系数据库,也可以创建数据源。
在**“表名称”**列中,键入新的临时表名称,例如 Test Predictions。
单击**“保存”**。
注意 若要查看您创建的表,请创建与您保存数据的实例的数据库引擎的连接,然后创建查询。