Deep learning for Spatio-Temporal Data Mining: A Survey
Senzhang Wang, Nanjing University of Aeronautics and Astronautics
Jiannong Cao,The Hong Kong Polytechnic University
Philip S. Yu,University of Illinois at Chicago
https://ieeexplore.ieee.org/document/9204396
https://arxiv.org/abs/1906.04928
1.论文简介
随着定位设备的快速发展,我们可以获得大量的时空数据。从时空数据中挖掘有用的信息对于智慧交通、城市规划等很多应用非常重要。传统数据挖掘方法因为时空数据的时空特性和高相关性特征而效果不佳,并随着时空数据容量日益增长而不堪重负。最近,拥有自主特征表示能力、强大的功能逼近能力的深度学习技术在时空数据挖掘上取得了重大的成功。该论文旨在对近期运用在时空数据挖掘上的深度学习技术进行总结,提供一个全面、深入、实用性强的综述。
该论文的主要贡献如下:
(1)系统且扼要地回顾了近期运用于时空数据挖掘的深度学习技术,对时空数据类型进行分类,介绍在时空数据挖掘中广泛使用的流行的深度学习模型,并总结了不同时空数据类型的数据表示形式。
(2)提出了一个基于深度学习的时空数据挖掘的通用框架,该框架包括以下主要步骤:时空数据实例构建、数据表示、深度学习模型选择和时空数据挖掘问题处理。
(3)提供了针对不同时空数据挖掘问题使用不同深度学习技术的最新进展的全面概述,包括预测学习,表示学习,分类,估计和推论,异常检测等。
(4)总结了目前研究尚存的问题,并指出了未来的研究方向。
2.时空数据的分类
数据类型: 不同的应用场景和时空数据类型导致数据挖掘任务和问题表述的类别不同。不同的深度学习模型通常对时空数据的类型有不同的偏好,并且对输入数据格式有不同的要求,因此需要对时空数据进行分类。如下图所示,时空数据大体可分为如下几种类型。
(1)事件(Event): 事件数据包括在某个地点和时间发生的离散事件。通常,事件的特征可以是事件发生的位置、时间、事件类型及事件属性信息等。
(2)轨迹(Trajectory): 轨迹表示随时间推移在空间中移动的物体所经过的路径。轨迹数据通常由部署在移动物体上的传感器收集,这些传感器可以随着时间的推移周期性地采集移动物体的位置信息。
(3)参考点数据(Point reference data): 参考点数据包括连续时空场的测量值,例如在空间和时间上一组移动参考点上的温度、湿度等参数。
(4)栅格(Raster): 栅格数据是连续或离散时空场的测量值,记录在空间的固定位置和固定的时间点的测量参数值。参考点数据和栅格数据之间的主要区别在于:采集参考点数据的传感器位置不断变化,而采集栅格数据的传感器位置固定。
(5)视频(Video): 由一系列图像组成的视频也可以视为一种时空数据。在空间域中,相邻像素通常具有相似的RGB值,因此呈现出较高的空间相关性。在时间域中,连续帧的图像通常会平滑变化并呈现出较高的时间依赖性。
时空数据实例和格式:
(1)数据实例: 时空数据的数据实例包括事件,轨迹,时间序列,空间图和时空栅格。
(2)数据格式: 对于五种类型的时空数据实例,通常使用四种类型的数据表示形式以方便各种深度学习模型处理:点、序列、图、二维矩阵和三维张量。
时空数据挖掘中常用的深度学习模型:
Restricted Boltzmann Machines (RBM) :受限玻尔兹曼机是两层随机神经网络[53],可用于降维,分类,特征学习和协作过滤。
CNN:卷积神经网络(CNN)是一类深层的前馈人工神经网络,用于分析视觉图像。
GraphCNN:GraphCNN可以将CNN泛化为处理非欧式空间的图数据。由于GraphCNN具有捕获节点相关性和节点特征的强大功能,因此现在广泛用于挖掘图结构的时空数据。
RNN and LSTM:递归神经网络(RNN)是一类人工神经网络,其中节点之间的连接沿序列形成有向图。RNN旨在识别顺序特征并使用模式来预测下一个可能的情况。它们被广泛用于语音识别和自然语言处理的应用中。长短期记忆(LSTM)网络是递归神经网络的扩展,它能够学习输入数据的长期依赖性。
Seq2Seq:序列到序列(Seq2Seq)模型的目的是将固定长度的输入与固定长度的输出映射,其中输入和输出的长度可能不同。它广泛用于各种NLP任务,例如机器翻译,语音识别和在线聊天机器人。
Autoencoder(AE) and Stacked AE: 自动编码器是一种人工神经网络,旨在以无监督的方式学习有效的数据编码。它具有编码器功能,可创建一个包含描述输入代码的隐藏层(或多层)。然后通过解码器,创建来自隐藏层的输入的重构。
作者接下来介绍了如何使用深度学习模型来解决时空数据挖掘问题:一般过程如下:首先将原始时空数据构建数据实例进行数据存储,进一步将时空数据实例表示为一种特定的数据格式,例如序列数据、二维矩阵、三维张量、图等。针对不同的数据格式采用不同的深度学习模型对其进行处理。最后,选择合适深度学习模型用于处理各种时空数据挖掘任务,如预测、分类、表示学习等。
作者接下来分三部分详细介绍了这些主要步骤:时空数据预处理、深度学习模型选择与设计、解决时空数据挖掘问题。时空数据预处理的目的是将时空数据实例表示为深度学习模型能够处理的合适的数据表示格式,通常一种类型的时空数据实例对应于一种典型的数据表示。有了时空数据实例的数据表示,下一步是将它们提供给不同的深度学习模型。对于每种类型的数据表示,都有相应的深度学习模型进行处理。CNN模型主要用于处理空间地图数据,也可以用来处理轨迹数据,而GraphCNN模型则专门用于处理图数据。RNN模型用于轨迹、时间序列和空间地图的处理,RNN和CNN的混合模型ConvLSTM通常用于处理空间地图。AE和SDAE主要用于从时间序列、轨迹和空间地图中学习特征。Seq2Seq模型用于时间序列和轨迹的处理。最后,选择或设计的深度学习模型用于解决各种STDM任务,如分类、预测学习、表示学习和异常检测,通常如何选择或设计一个深度学习模型取决于特定的数据挖掘任务和输入数据。
3.深度学习模型 vs 时空数据挖掘任务
该文收集和整理了近年来有关时空数据挖掘研究的论文,并做出了分类,其中包括预测、表示学习、检测、分类、推理/估计、推荐等类别,针对每一类问题按处理的时空数据的类型来分别介绍了相应的深度学习模型。
图1:用深度学习方法解决的STDM问题的分布
(2)预测
预测学习就是基于时空数据的历史观测值来预测未来的观测值。本文按照输入数据的类型,从5个方面来介绍预测学习。
①点:点类型的时空数据通常在时间或空间领域合并从而形成时间序列或者空间地图,例如犯罪事件、交通事故、社会活动等,经过数据转化后作为各种深度模型的输入。该文列举了如何采用ST-ResNet、GRU、ConvLSTM等模型对Points类型的时空数据进行预测。
②事件序列:一条道路或者高速公路在一定时期内的交通流量可以作为一个时间序列。在此类时间序列数据预测中,最近有很多工作尝试采用不同的深度学习模型进行交通预测,例如 R. Soua、Filipe Rodrigues等人利用时间序列数据并结合外部特征来实现诸如交通流量、出租车的需求、交通速度等的预测。同时,RNN和LSTM也广泛用于时间序列的时空数据预测,例如Binbing Liao、Lilin Cheng等人的研究。
③空间图:空间图通常可以表示成类似图像的矩阵,因此很适合用于CNN来做预测。该文总结了H-CNN、PDCNN、AttConvLSTM等相关的深度模型在spatial map数据预测中的应用。
④轨迹:根据轨迹类型数据的表示形式,目前RNN和CNN两种深度学习模型以及两种模型的结合常被用于轨迹预测。该文以T-CONV、DeepTransport等模型为例,介绍了如何将轨迹类型的时空数据与RNN、CNN等深度模型相结合。
⑤栅格:栅格数据通常可以表示为位置和时间的二维矩阵,也可以表示成一个包含位置ID和时间的三维张量。因此,ST栅格数据一般可以用2D-CNN、3D-CNN模型进行时空数据预测,有时候也可以和RNN结合。该文中提到的3D-SCN、MST3D模型以及Bilong Shen等人的研究,均介绍了如何使用深度模型对ST栅格数据进行表示学习和预测。
(3)分类
时空数据的预测在脑影像数据,尤其是fFMRI数据方面的研究较多。随着脑成像技术的发展,脑影像数据(fMRI、EEG、MEG等)分析日益成为神经科学领域的一个热门课题。该文总结了深度学习技术在基于脑影像数据分析的疾病分类方面的相关研究进展。
(4)估计推断
当前时空数据的估计和推断主要集中在空间地图和轨迹这两类时空数据上。因为监测站的数量受限,推断城市空气质量是成为一个非常重要的任务。一个城市不同区域的空气质量指数可看做是spatial map数据。该文介绍了 ADAIN、PERSIANN-SDAE等相关深度模型在空气质量spatial map数据上的推断相关工作。目前还有研究尝试用深度模型根据移动轨迹数据来估计旅行时间,例如DEEPTRAVEL、DeepTTE等模型;也有人基于GCN,从轨迹来推断一个人的出行意图;还有根据不同用户在LBSNs中产生的轨迹数据,研究如何识别和关联不同用户的轨迹。
(5)异常检测
异常检测主要是指识别出与大多数时空数据有明显差异的事件或观测值,目前对于时空数据的异常检测研究主要集中在events和spatial maps的数据类型上。
(6)其他任务
除了以上提到的问题,深度学习模型还应用于其他时空数据挖掘任务,例如推荐、模式挖掘、关系挖掘等。
4.讨论
(1)多源数据融合。在一个时空数据挖掘任务中,除了所研究的时空数据,还有一些其他类型的数据与时空数据高度相关,将这些数据与时空数据相结合通常可以提高学习任务的性能。例如城市交通流量数据可能受到天气、社会事件、节假日等外部因素的显著影响。该文对现有的时空数据挖掘工作中多源数据融合的工作进行了总结,并重点介绍两种常用的数据融合方法:1)原数据层面的数据融合 ;2)隐层特征层面的数据融合。
(2)注意力机制。注意力机制是为了提高Encoder-Decoder RNN在机器翻译上的性能而提出一种机制。该文介绍了在时空数据挖掘中引入注意力机制的原因和相关原理,并将现有时空数据挖掘工作中所采用的注意力机制分为三类:1)空间域的注意力;2)时间域的注意力;以及3)时间和空间域的注意力。
(3)深度学习和传统机器学习模型的比较。该文还从特征提取、处理的时空数据类型、挖掘任务、时间依赖性、空间依赖性几个方面,将深度学习和传统机器学习在时空数据挖掘领域的不同进行了分析比较。
5.应用
作者总结了在不同应用领域的相关研究工作,如上表所示,并且做了详细介绍。
(1)交通
随着各类传感器的出现,收集的交通数据可用性越来越高,因此有大量的深度模型用于学习交通数据之间复杂和高度非线性的时空相关性,来促进交通流量预测等各种任务。该文介绍了基于深度学习技术的交通事故检测、交通拥堵预测等问题的研究成果。
(2)按需服务
近年来,由于手机的广泛使用,像Uber、Mobike、DiDi、GoGoVan这些按需服务的应用越来越受欢迎,而这类服务产生了大量时空数据,因此如何利用这些数据来指导厂家更好的改进产品、为消费者提供更好的服务,也成为了这个领域的研究热点。该文介绍了深度学习在按需服务方面的研究进展,例如:用ResNet模型预测打车服务的供求。
(3)气候与天气
由于不同地点的气候数据具有较高的时空相关性,因此时空数据挖掘技术也被广泛应用于短期和长期的天气预报。本文介绍了有关空气质量推断、降水预测、风速预测和极端天气检测的相关研究。
(4)人群移动
随着手机等移动设备的普及,人类的流动数据出现爆炸式的增长,这些数据对于估计迁徙流量、交通预测、城市规划、人类行为分析、个性化推荐等应用尤其重要,该文也针对这些应用场景总结了相关的研究成果。
(5)基于位置的社交网络(LBSNs)
基于位置的社交网络就是使用GPS来定位用户的位置,并让用户能够从他们的移动设备中获得其他的内容。本文介绍了现有工作如何利用深度学习分析LBSN中用户产生的时空数据,并用于POI推荐和位置预测等应用中。
(6)犯罪数据
犯罪数据是典型的时空数据,可以与深度学习模型结合应用于犯罪大数据分析。该文介绍了现有工作采用ST-ResNet、DeepCrime等模型预测城市里不同区域的犯罪分布及犯罪发生的风险概率等。
(7)神经科学
目前脑成像技术已成为神经科学领域的一个热点,这里详细介绍了深度学习在该领域的应用,如疾病分类、脑功能网络分类、脑激活分类等相关问题的研究。
6.开放性问题
虽然已有很多基于深度学习的时空数据挖掘相关工作,但由于时空数据复杂性高、容量大、增长速度快,因此该领域的研究仍然存在很多挑战,本节从四个方面分别介绍了当前的主要挑战。
(1)可解释的深度学习模型
当前的深度学习模型类似一个黑匣子,缺乏可解释性,而可解释性是机器学习不可或缺的一部分,能够更好的为人们服务和带来效益,但是如何为时空数据挖掘任务构建可解释的深度学习模型还没有得到很好的研究。
(2)深度学习模型的选择
对于给定的时空数据挖掘任务,有时可以收集多种类型的时空数据,并且可表示成不同形式的数据样式。如何选取合适的时空数据表示和相应的深度学习模型以获得更好的分析性能,仍然还是一个没有被解决的问题。
(3)更广泛的挖掘任务及应用
虽然该文总结了很多可采用深度学习技术的时空数据挖掘任务,但目前还是存在一些任务很难采用深度学习技术,例如频繁项集挖掘和关系挖掘。
(4)多模态时空数据的融合
在大数据时代,一些时空数据挖掘领域中经常会出现多模态数据集,例如在神经成像中,fMRI和DTI都可以捕获大脑活动的成像数据,如何利用深度模型将这些数据更好的融合在一起以更好的完成任务变得很重要。因此,如何将多模态时空数据集与深度学习模型相融合还需进一步的研究。
7.结论
本文首先对不同的时空数据进行了分类,简要介绍了常用的深度学习模型,然后给出了一个通用的框架,总结了深度学习在不同领域中时空数据挖掘任务的应用,指出了挑战和未来研究方向。文章条理清晰、结构缜密、总结完善,能让读者较为全面了解当前关于深度学习技术在时空数据挖掘领域的研究现状。