在准备用于定型任何数据挖掘模型的数据时,一定要了解特定模型的要求以及这些数据的使用方式。
每个预测模型都必须包含一个事例序列,它是一个列,用于指定发生变化的时间段或其他序列。例如,上一个关系图中的数据显示了在为期几个月的时间段内自行车的历史销售额和预测销售额的序列。对于该模型,每个区域是一个序列,并且日期列包含时序,该列也是事例序列。在其他一些模型中,事例序列可以是文本字段或某个标识符,如客户 ID 或事务 ID。但是,时序模型必须始终对其事例序列使用日期、时间或某个其他唯一数值。
时序模型的要求如下:
-
单个键时间列 每个模型都必须包含一个用作事例序列的数值或日期列,该列定义了该模型将使用的时间段。key time 列的数据类型可以是 datetime 数据类型或 numeric 数据类型。但是,该列必须包含连续值,并且这些值对各个序列而言必须是唯一的。时序模型的事例序列不能存储在两列中,例如不能存储在一个 Year 列和一个 Month 列中。
-
可预测列 每个模型都必须至少包含一个可预测列,算法将根据这个可预测列生成时序模型。可预测列的数据类型必须具有连续值。例如,您可以预测在一段时间内数值属性(例如收入、销售额或温度)将如何变化。但是,您不能使用包含离散值(例如采购状态或教育水平)的列作为可预测列。
-
可选序列键列 每个模型可包含一个附加的键列,该列包含标识序列的唯一值。可选序列键列必须包含唯一值。例如,只要在每个时间段内每个产品名称都只有一条记录,单个模型就可以包含多个产品型号的销售额。
您可以用若干种不同的方式定义 Microsoft 时序模型的输入数据。但是,由于输入事例的格式会影响挖掘模型的定义,因此您必须考虑自己的业务需求并相应地准备数据。下面两个示例说明了输入数据是如何影响模型的。在这两个示例中,已完成的挖掘模型包含四个不同序列的模式:
-
产品 A 的销售额
-
产品 B 的销售额
-
产品 A 的数量
-
产品 B 的数量
在这两个示例中,您可以预测每个产品新的未来销售额和数量。不能预测产品或时间的新值。
示例 1:两个可预测列
该示例使用下表中的输入事例:
|
TimeID
|
Product
|
Sales
|
Volume
|
|---|
|
1/2001
|
A
|
1000
|
600
|
|
2/2001
|
A
|
1100
|
500
|
|
1/2001
|
B
|
500
|
900
|
|
2/2001
|
B
|
300
|
890
|
表中的 TimeID 列包含一个时间标识符,每一天有两个条目。TimeID 列变成事例序列。因此,应将该列指定为时序模型的 key time 列。
Product 列定义数据库中的产品。该列包含产品序列。因此,应将该列指定为时序模型的第二个键。
Sales 列说明指定产品一天的毛利润,Volume 列说明仓库中存放的指定产品数量。这两列包含用于为模型定型的数据。
示例 2:四个可预测列
尽管该示例使用的输入数据与第一个示例基本相同,但输入数据的结构不同,如下表所示:
|
TimeID
|
A_Sales
|
A_Volume
|
B_Sales
|
B_Volume
|
|---|
|
1/2001
|
1000
|
600
|
500
|
900
|
|
2/2001
|
1100
|
500
|
300
|
890
|
在该表中,TimeID 列仍包含时序模型的事例序列,您将该列指定为 key time 列。但是,先前的 Sales 和 Volume 列现在拆分为两列,并且拆分后的每个列前面都带有产品名称。因此,TimeID 列中每天只有一个条目。这将创建一个包含以下四个可预测列的时序模型:A_Sales、A_Volume、B_Sales 和 B_Volume。
此外,由于您已将产品分成不同的列,因此您不需要指定附加的序列键列。该模型中的所有列都是事例序列列或可预测列。