【时空数据挖掘】推开窗,看一看
炎热的夏季已经过去,秋爽来学。开学了,要开始新一阶段的学习、生活了。空调吹久了,推开窗,看一看,说不定有新发现呢?^_^
最近到了开学季,新的一学年开始了。回顾自己最开始接触时空数据挖掘、城市计算、机器学习领域,还是2018年。4年过去了,从最开始的陌生、好奇,到学习、探索、交流过程中的困惑、失落、激动、喜悦,直到现在,还在不断学习、思考、总结的过程中。前段时间,在知乎写了一系列关于时空数据挖掘的文章,也回答了一些关于如何阅读论文,如何入门时空数据挖掘领域的问题。在2020年暑假参加了京东城市组织的城市计算首届夏令营活动,参与到时空数据融合、城市大数据分析、城市交通预测等科研项目中。因此,积累了一些经验、有一些心得体会,写下来,作为自己的成长记录,也希望对新入门这个领域的同学、研究者有一些帮助,能对该领域的发展做出自己的一份贡献。
那么,首先,我们会问,什么是时空数据挖掘,从这6个字来看,可以分为两部分,时空+数据挖掘,提到时空,第一印象可能就是想到《错位时空》这首歌,“我吹过你吹过的晚风,那我们算不算相拥”,还有疫情期间出现的“时空伴随者”这个词,时空伴随者是指一个人与确诊患者手机号码在同一时空网格(范围为800m*800m)共同停留超过10分钟,且最近14天任一方号码累计停留时间超过30小时以上,查出的号码为时空伴随者号码。想必,大家对时空这一个词有一个直观的印象了。时空,就是时间和空间两个维度,风和人都是时空维度下的对象,我们研究空气质量、天气预报、交通预测、密接人员发现等,都会对对象所处的时间段、空间范围进行分析,分析其时空特征,进行数据分析、建模,得出有意思的分析结果。然后,数据挖掘,与日常听到的数据分析、大数据、机器学习、人工智能等词语,都有一定联系,其主要是指对数据进行清洗、处理、分析、可视化的过程,研究频繁模式挖掘、分类、聚类、异常检测等任务。推荐阅读韩家炜老师的《数据挖掘:概念与技术》这本书,当时我也是开始看这本书进入数据挖掘领域。最后,介绍一下,时空数据挖掘的定义、任务、数据、方法、论文以及如何入门。
定义
采用人工智能和大数据技术对城市时空数据进行分析与挖掘,旨在挖掘时空数据,理解城市本质,解决城市问题。
任务
从任务的特点、属性、层级进行分类,可分为底层的数据处理层级的任务,中层的时空模式发现任务,以及顶层的应用任务。如图1所示。
其中,底层任务包括时空数据预处理,时空数据融合和时空数据管理等。中层任务包括时空数据模式挖掘。顶层任务包括时空预测,时空推荐,异常检测,调度和优化等。
数据
针对时空数据挖掘,数据是必不可少的原料,而且这类数据具有明显的时空特性,包括时间特性(时间的邻近性、周期性、趋势性等)、空间特性(距离远近,空间层次等)。有必要将时空数据进行分类,对时空数据进行了如图2分类:
按时空动态,可以分成空间静态点数据、空间点时序数据、时空动态点数据、空间静态网数据、空间静态时间动态网数据、时空动态网数据。这种分类方式是由京东城市的Yu Zheng老师团队提出,具有时空特色。如图3所示:
按个体交互,可以分为个体数据和环境数据。侧重于个体、群体、环境之间的交互和协同。
按数据构造,可以分为基本单元数据、组合数据、关系数据。这种分类方式,适合于对数据进行形式化组织和描述,具有层次递进关系。
按点线面,可以分为基于点、基于线、基于面的数据。这种分类,和几何上的点线面结构,可以直观地对应上,是比较自然的一种分类方式。如图4所示:
后面的三种分类方式,是笔者在参加2020年京东城市计算夏令营的时候,与北航Jingyuan Wang老师和Dayan Pan, Geyuan Wang同学等的交流、讨论中形成的,感谢他们。
以上的四种时空数据分类方法,可以给读者以不同的视角来看待时空数据,在进行时空数据挖掘时,能对时空数据有全面、充分的理解。如果有其他的分类方式或者一些建议、疑问,欢迎在留言区提问,交流。
此外,针对数据质量不高的问题,采用数据补全、数据增强、数据融合等方式进行预处理、分析。
关于时空数据、多模态数据与多源异构数据的联系与区别的思考:
时空数据:主要是指带有时间和空间特性的一类数据,比如GPS轨迹,其有时间戳,位置信息;地铁刷卡数据,其有乘客进站时间站点、出站时间站点信息等。
多模态数据:主要是指文本、音频、图像、视频等不同模态类型的数据。
多源异构数据:主要是包括多源和异构两种特性,前者是指数据的来源多样,比如来源于交通领域的交通路网、网约车出行订单数据、公共交通刷卡数据与来自环境气象的空气质量、降雨量数据,后者是指数据的类型和格式不一样,比如交通路网是网状结构数据,空间位置相对固定,时间变化频率慢,订单、刷卡、空气质量数据是时空序列,随着时间和空间发生变化。
时空数据多见于时空数据挖掘、城市计算、智能交通系统等领域;多模态数据覆盖范围更广,计算机视觉、自然语言处理、数据挖掘领域都有研究;多源异构数据主要侧重于从数据的多来源,结构差异的角度对数据进行描述,可以看做是时空数据和多模态数据的特性之一,另外还有缺失性、不平衡性、动态突变性等,根据具体的数据集质量情况而定。
三者关系可以大致如下:多模态数据>时空数据,多源异构数据用于描述这两类数据的部分特性,从多源和异构角度。
方法
层次体系构建
为了更好地进行时空数据挖掘,我们提出了一种时空数据挖掘的层次体系,包括数据层、任务层、方法层。如图5所示。
该层次体系,首先从数据出发,将时空数据分为静态数据、时间动态数据和时空动态数据,更加详细的时空数据分类方式,可以参考前文数据部分;然后针对时空任务,分成了底层任务、中层任务和顶层任务,更具体的任务分类,可以参考前文任务部分;最后针对特定的数据和任务,选择相应的时空数据挖掘方法,更多的时空数据挖掘方法,可以参考下文方法部分。
在进行具体时空数据挖掘研究中,也可以参照上述的层次体系,思考要研究的时空数据、时空任务、时空方法,从整体的角度进行分析,希望其能对于您的研究有所助益。
注:时空数据挖掘的层次体系构建,感谢北航的Jingyuan Wang和Geyuan Wang等的讨论、交流。
方法论
笔者对时空数据挖掘中常用方法进行分类,主要是站在方法论的角度,进行大致分类。因为方法往往是跟任务、数据和需求等是紧密联系,还需根据实际情况,实际分析。方法的分类,如图6所示。
时空数据挖掘的方法主要分为时空数据预处理方法、传统的机器学习方法、先进的机器学习方法和常用技术框架。
由于人工智能、机器学习、数据挖掘领域的快速发展,一些新的学习方法和技术框架也在不断涌现。时空数据挖掘领域针对时空数据挖掘领域的任务、数据也在提出一些具有时空特色和多场景应用背景下的新方法。
注:上述的时空数据挖掘方法分类是在和北航Jingyuan Wang、Geyuan Wang等老师、同学的讨论下形成,感谢他们。
论文
为了及时跟踪学术前沿论文,准确把握时空数据挖掘领域发展方向,提升对时空数据挖掘的理解,帮助我们更好地学习、研究,对2016-2022年的时空数据挖掘领域的顶级会议、期刊论文进行了梳理。由于工作量较大,加之笔者时间有限,整理的论文还有很多需要完善修改的地方,后续将继续更新。感兴趣的朋友,也可以在我的论文库里发起pull request或提出修改建议。
按会议
AAAI(2019-2022):
IJCAI (2016-2022):
KDD (2016-2022):
ICDM (2016-2019)
CIKM (2017-2020)
WWW (2016-2022)
SDM (2016-2020)
SIGSPATIAL (2016-2019, 2021)
WSDM (2022)
NuerIPS
- 待更新
ICLR(2022)
ICML(2022)
按期刊
TKDE(2016-2020)
TIST(2016-2020)
TITS
- 待更新
TPAMI
- 待更新
TNNLS
- 待更新
写在最后
关于如何入门机器学习、数据挖掘:
- 推荐书籍:1. 数据挖掘:概念与技术(第三版)中文版-Jiawei Han;2.《统计学习方法(第2版)》-李航。这两本书,看下目录,感兴趣的部分,详细读下,电子版和纸质版都可。如果喜欢看视频,再看看吴恩达或者李宏毅的机器学习课程,B站上有。后面如果对某个研究方向感兴趣,再看一些综述论文,比如城市计算、时空数据挖掘领域的论文:1. Urban Computing: Concepts, Methodologies, and Applications-Yu Zheng-TIST 2014. 2. Deep Learning for Spatio-Temporal Data Mining: A Survey-Senzhang Wang-TKDE2020。
关于时空数据挖掘的学习路线:
- 建议首先通过看综述文章、知乎、博客等,了解下什么是时空数据挖掘,城市计算,然后从顶会(KDD, IJCAI, AAAI等)、顶刊(TKDE, TITS, TIST等)上找与自己研究课题相近的论文阅读,此外,养成做论文笔记的习惯,可以从论文的动机(motivation)、任务(task)、方法(method),实验(experiment)等进行总结。最重要的一点,就是要复现论文、跑实验。遇到问题,多思考,多查资料,多交流。
关于看论文遇到不懂的地方,怎么办:
- 自己多看几遍,网上查阅资料,补充预备知识;
- 和老师、同学讨论;
- 发邮件联系作者,讨论,论文中有作者的邮箱。
欢迎各位提出建议、问题,我们一起交流、学习、成长。
“问渠那得清如许?为有源头活水来” ヾ(◍°∇°◍)ノ゙
– 我在半亩方塘等你 ^_^