面向大数据的时空数据挖掘

  图 2. 时空数据预测流程图 参考资源

物联网

  Step1:准备时空预测输入数据

  想要获得未来时间的目标预测值,首先需要有和时空数据建模的输入数据结构统一的未来时刻的自变量数据。未来时刻的自变量数据可以保持已知的最终数据不变,或者是人为修改过的用于假设分析的数据。

  Step2:构建空间协方差矩阵来捕捉预测地理位置和初始地理位置之间的空间相关性

  预测数据中的地理位置和初始数据中的地理位置可以不同,也可以预测数据中一些地理位置和初始地理位置相同,或者预测地理位置是初始地理位置的子集。

  Step3:对初始位置的回归残差进行空间插值得到预测的地理位置

  利用第 2 步构建的空间协方差矩阵对初始地理位置经过转换后的回归残差进行插补,从而得到预测的地理位置。

  Step4:预测未来时间的线性回归残差

  预测未来时间的回归残差是在时间点 m+1, m+2, ... m+H 上逐步迭代进行, 其中, m 是建模的最终时间点,H 是需要预测的未来时间点的个数。

  Step5:计算未来时间点的目标值

  未来时间点的目标值需要通过回归模型,第 4 步中计算得到的时间点 m+1, m+2, ... m+H 上的回归残差和在未来时间点和新的地理位置上的预测输入数据值来计算。

  Step6:计算未来时间点目标值的置信区间

  基于高斯过程和已知模型每一部分的方差情况,可逐级推出最终预测目标值的置信区间。此步骤过于复杂,本文不作详述。

  Step7:预测结果输出

  最终得到的预测结果包括在未来时间指定位置的目标值,以及预测值置信区间的上下限。

  时空预测应用实例

  在充分了解时空数据建模及预测理论结构的基础上,我们来描述该时空预测模型在 IBM SPSS Modeler 中的具体实现,并结合应用实例展示如何应用时空数据模型的假设情况分析(what-if 分析)实现对未来任何时间任何地点目标值的准确预测。

  时空预测模型描述

  在 IBM SPSS Modeler 中,时空预测模型分析使用包含位置数据、预测输入字段(预测变量)、时间字段和目标字段的数据,如图 3 中时空预测模型字段选项的参数所示。 时空预测模型的输入数据必须是经过时空数据预处理,融合了时间序列和形状数据,同时包含时间变量,空间位置变量及其他相关变量的数据。在该数据中,每个位置在数据中都有许多行,这些行表示每个预测变量在每个测量时间的值。 分析数据后,可以使用该数据来预测所使用的形状数据(.shp 文件)内任意位置处的目标值。 并且,还可以预测何时能够获知未来时间点的输入数据。

  图 3.时空预测模型-字段选项

物联网

  这里,目标字段是将要预测的目标变量。位置字段是一个测量级别为"地理空间"的字段,可以是点、线、多边形(面)、多点、多线、多面等位置类型。形状数据通常包含一个表明层特征的名称的字段,例如,这可能是省/自治区/直辖市或者国家或地区的名称。 使用此字段可以将名称或标签与位置相关联,方法是选择一个分类字段来标注输出中的所选位置字段,即位置标签字段。时间字段是要在预测中使用的时间变量,只能选择测量级别为"连续"且存储类型为时间、日期、时间戳记或整数的字段。预测变量是预测输入字段,只能选择测量级别为"连续"的字段。

  设置好时空预测模型所需的变量后,我们就该考虑时空预测模型的构建了。在 IBM SPSS Modeler 中,时空预测模型的构建选项还分为时间间隔、基本、高级和输出等子项,分别实现时空数据建模中的不同功能。

  在可以构建时空预测模型之前,需要进行数据准备以便将时间字段转换为索引;要使得能够进行这种转换,时间字段中的记录之间必须有固定的区间。如果数据尚未包含此信息,我们就可以使用"时间间隔"子项中的选项来设置此区间,然后才能进行时空数据建模。"时间间隔"选项如图 4 所示。

  图 4. 时空预测模型-时间间隔选项

物联网