在一个时序数据中,不同时间点的数据之间往往有一定的联系,譬如气温达到了近年来的最低,音乐旋律回到了最初的主题等等。而传统的线性时间轴,虽然能展示连续的数值变化,却无法表达这种具有时间跨度的数据关联。本文提出了一种直观通用的可视化方法,即所谓的“时间曲线” [1],通过折叠时间轴的方式来反映数据中的自相关性(self-similarity),以此来发掘数据演变的规律。
可视化设计
时间曲线的设计理念十分简单。对于给定的时间序列,按照一定的度量比较不同时间点的数据,可以构建出相似性矩阵,并绘制出相应的多维尺度投影(Multi-Dimensional Scaling, MDS)图。在MDS图上依照顺序、用光滑曲线连接各个时间点的数据,就基本构成了一条时间曲线(如图1)。这条曲线既保留了时间的连续性,也表达了时序点之间的关系。
但MDS布局容易产生点的遮挡,妨碍观察和选择。而纯粹地连点成线也会损失很多时序信息,譬如点的先后次序、点与点之间的间隔时长等等,因此需要额外的视觉映射作为补充(如图2)。本文利用点的颜色深浅来反映次序信息(图2(a)),用连线的宽度反映间隔的时长(图2(c))。此外,MDS布局用了遮挡检测算法来分离相近的点(图2(a))。完全重合的数据则用点的“光晕”来刻画(图2(b))。经过这些修正,最终的时间曲线效果如图3所示。
曲线特征
尽管设计简单,实际绘制的时间曲线可能杂乱无章,难以理解。文中对曲线的特征及其含义作了定性的探讨,以引导用户更好地理解曲线走向所表达的信息。
图4所示为七种不同的曲线特征,分别是:
- 聚类,表现为曲线的点聚拢在一个局部区域
- 转移,表现为曲线在两个聚类之间快速过渡
- 循环,即曲线自相交,说明数据回到之前的状态
- U型,数据在达到极值点后折返
- 离群点,即曲线在某一点发生突变
- 波动,数据在两个区域之间来回转移
- 更替,数据在两个状态之间来回切换
以上都是实际数据中经常出现的曲线特征,对其进行系统的定义,能够大大帮助用户理解和使用时间曲线。在以下的例子中,将能看到这些特征的作用。
案例研究
第一个案例是维基百科上“Chocolate”词条的编辑历史数据(如图5),利用了编辑距离(Edit Distance)衡量词条文章的相似性。由图可见,在词条建立的早期,某两次编辑相隔了较长的时间(图5(1)),词条经历了一个“空窗期”。而在编辑的中期,文章曾在两个版本之间发生频繁的切换(图5(2))。这体现为持不同意见的作者在争夺词条的所有权,亦即所谓的“编辑战争”(Edit War)。通过时间曲线的刻画,类似的数据变化尤为明显。
第二个案例是美国一年的降水记录数据,数据是视频格式,通过比较不同帧的图片来刻画相似性(如图6)。全局来看,全年的数据演化平稳、没有较大的波动。十二月的数据返回一月附近,说明降水量具有以年为单位的周期性。四月与十月的降雨规律相似,而五月、八月的气候相对极端。以上这些结论都能在视频中得到验证。
总的来说,时间曲线具有直观易懂、应用性强的优点,它能有效地发掘时变数据里的相关性、概括其演变规律。但它也面临着可扩展性、可读性、信息准确性等各方面的限制,存在容易产生遮挡、可读性不稳定、时序信息模糊等问题,仍有待进一步改进。
相关文献:
[1] Benjamin Bach, Conglei Shi, Nicolas Heulot, Tara Madhyastha, Tom Grabowski, Pierre Dragicevic. IEEE Transactions on Visualization and Computer Graphics, vol.22, no.1, pp.559-568, Jan. 31, 2016.
评论关闭。