准备要在预测模型中使用的数据时,必须确保数据包含可用于标识时序中的步骤的列。 该列将指定为 Key Time 列。 因为它是键,因此该列必须包含唯一的数值。
为 Key Time 列选择正确的单位是分析的一个重要部分。 例如,假设您的销售数据是每分钟刷新一次。 不一定将分钟数用作时序的单位;你可能会发现,按日、周甚至月汇总销售数据更有意义。 如果不确定要使用的时间单位,则可以为每个聚合创建新的数据源视图,并生成相关模型,以查看每个聚合级别是否出现不同的趋势。
对于本教程,销售数据是在事务销售数据库中每日收集的,但对于数据挖掘而言,数据已经通过视图按月进行了预先聚合。
数据尽可能少的缺口有利于分析。 如果计划分析多个数据系列,则所有序列应最好在同一日期开始和结束。 如果数据存在空白,但间隔不在序列的开头或结尾,则可以使用 MISSING_VALUE_SUBSTITUTION 参数填充序列。 Analysis Services 还提供多个选项,用于将缺失的数据替换为值,例如使用平均值或常量。
警告
不再提供数据源视图设计器早期版本中包含的数据透视图和数据透视表工具。 建议事先使用 Integration Services 中包含的数据探查器等工具识别时序数据中的差距。
确定预测模型的时间键
在窗格中, SalesByRegion.dsv [设计],右键单击表 vTimeSeries,然后选择“ 浏览数据”。
此时会打开一个新选项卡,标题为 “浏览 vTimeSeries 表”。
在“ 表 ”选项卡上,查看 TimeIndex 和 Reporting Date 列中使用的数据。
两者都是具有唯一值的序列,两者都可以用作时序键;但是,列的数据类型不同。 Microsoft时序算法不需要
datetime数据类型,只需确保值是唯一且有序的。 因此,任一列都可以用作预测模型的时间键。在数据源视图设计图面中,选择列,选择“报告日期”,然后选择“ 属性”。 接下来,单击“TimeIndex”列,然后选择“ 属性”。
字段 TimeIndex 具有数据类型 System.Int32,而字段 Reporting Date 具有 System.DateTime 数据类型。 许多数据仓库将日期/时间值转换为整数,并使用整数列作为键,以提高索引性能。 但是,如果使用此列,则Microsoft时序算法将使用将来的值(如201014、201014等)进行预测。 由于你想要使用日历日期来表示销售数据预测,因此你将使用“报告日期”列作为唯一的系列标识符。
在数据源视图中设置密钥
在“ SalesByRegion.dsv”窗格中,选择 vTimeSeries 表。
右键单击列“报告日期”,然后选择“ 设置逻辑主键”。
处理缺失数据(可选)
如果有任何序列缺少数据,则尝试处理模型时可能会收到错误。 可通过多种方式解决缺失数据:
可以通过计算平均值或使用以前的值,让 Analysis Services 填写缺失值。 可以通过在挖掘模型上设置MISSING_VALUE_SUBSTITUTION参数来实现。 有关此参数的详细信息,请参阅 Microsoft时序算法技术参考。 有关如何更改现有挖掘模型的参数的信息,请参阅 “查看或更改算法参数”。
可以更改数据源或筛选基础视图,以消除不规则的序列或替换值。 可以在关系数据源中执行此作,也可以通过创建自定义命名查询或命名计算来修改数据源视图。 有关详细信息,请参阅 多维模型中的数据源视图。 本课后面的任务提供了如何生成命名查询和自定义计算的示例。
对于此方案,一系列开头缺少一些数据:即在 2007 年 7 月之前,T1000 生产线没有数据。 否则,所有序列都在同一日期结束,并且没有缺失值。
Microsoft时序算法的要求是,在单个模型中包含的任何序列都应具有相同 的终点 。 由于 T1000 自行车模型于 2007 年推出,因此此系列的数据比其他自行车模型晚于其他自行车模型开始,但该系列以相同日期结束:因此,数据可用。
关闭数据源视图设计器
- 右键单击选项卡, 浏览 vTimeSeries 表,然后选择 “关闭”。