TimeBench:应用于时序数据可视分析的数据模型与软件库 (TimeBench: A Data Model and Software Library for Visual Analytics of Time-Oriented Data)

我们生活的信息时代被数字包围,记录我们一举一动的许多数据带有时间的信息,被称为与时间有关的数据,或时序数据(Time-oriented Data),常见的时序数据如电子医疗记录、网络流量记录等等。时间是一个十分特殊的维度,不同于普通的数值变量维度,时间中存在不同粒度的计时方法和循环方式,选择何种的粒度取决于数据分析的具体应用。

5个时序数据可视化的例子:(1) 20个城市14年的月健康记录数据,Horizon Graph可视化技术;(2) 同样数据用GROOVE可视化的结果;(3) 某个工程计划的图表,PlanningLines可视化方法;(4) 某个工程计划的甘特图可视化;(5) 弧线图,展示了3个事件之间的关系;(6) 主题河(Theme River)可视化 (7) 曲线图

5个时序数据可视化的例子:(1) 20个城市14年的月健康记录数据,Horizon Graph可视化技术;(2) 同样数据用GROOVE可视化的结果;(3) 某个工程计划的图表,PlanningLines可视化方法;(4) 某个工程计划的甘特图可视化;(5) 弧线图,展示了3个事件之间的关系;(6) 主题河(Theme River)可视化 (7) 曲线图

在可视分析软件的设计中,作为一个特殊的维度,增加了数据结构的复杂性,为可视分析软件的设计带来了难度。许多现有的可视分析软件将时间维度当作一个展平的数值维度来看待,并忽略了时间维度中不同粒度、不同间隔下的复杂行为。基于时序数据的特定的应用需求,可视分析软件开发者常常一遍遍重复实现他们的设计,这浪费了很多开发成本和可复用的代码。由此可见,提出一个普遍适用于时序数据的数据结构模型尤为重要。一来是往后可视分析设计以此作为标准,在设计和实现上减少了对最基础部分数据结构的繁琐处理;二来若是已有对应语言的接口实现,可以大大减少开发成本。

本论文的作者提出了一个面向时序数据的数据结构和算法设计,名叫TimeBench。基于这个TimeBench,他们开发了Java语言版本的接口,并且提供了不少在此基础上的时序数据可视化结果。这篇论文的作者首先整理出了时间相关数据或者时序数据的三个难点。时间维度中存在着不同粒度的技术方法,时间的表达可能有多种多样,时间相关的度量可能存在着不确定性。之后他们用TimeBench针对时间的这三个难点定义了明确的数据模型和数据结构。

时间粒度 我们每个人都熟知熟用的日历包含各种大小的粒度,比如秒、分钟、小时、日、周、月、年等等。对被离散化的时间维度中,粒度的概念定义成最小时间单位“时间原子”到“时间原子”集合的某种映射。比如以秒为最小单位的离散化时间维度中,1秒是一种粒度“妙”,3600秒对应时间粒度“小时”,或者其他并不受限于日历所规范的某种时间粒度也可以用这种映射来表示。

时间谓词 要描述一个和时间有关的事件或者记录,需要用时间谓词来组织它们在时间维度上的展现形式。这篇论文中规定了三种可能的时间谓词的对象:瞬时点(Instant),时间间隔(Interval)和时间跨度(Span)。其中后两者的区别在于,跨度是一个相对的时间段度量,没有被固定在某两个时间点的,而间隔是被定位在两个固定时间点之间的时间点度量。比如说,可以用两个瞬时点,一个时间跨度来构成一个时间间隔。

时间不确定性 时间的不确定性是很普遍的现象,比如在做项目规划中预期进度往往留有额外不确定的时间供调整,或者一些科研数据在测量过程中产生了遗漏等等。数据的不确定性可以用更加复杂的时间谓词来组织,比如下图2是一个例子,对于项目中某个步骤所耗时并不确定的时候,用时间间隔分别表示项目的起始点与终止点,用两个不同的时间跨度表示项目的最大和最小耗时。

用时间谓词构成的不确定时间段数据结构

用时间谓词构成的不确定时间段数据结构,开始点、结束点和持续时间用可能的时间段和时间点表示。

数据结构 上述形容的数据结构可以作为这个针对时序数据的软件库设计依据,他们的软件库的设计者运用了大量的面向对象方法,将数据、时间谓词、数据到时间描述的映射表、最后的可视化界面的绘制部分分离,耦合在一个Java语言的可视化软件库Prefuse中。具体的类关系如图3所示。

基于他们用Java实现的TimeBench数据结构和接口,文章中例举了多种时序数据的可视化结果。文章开头插图中的五个例子分别是基于TimeBench实现的Horizon Graph、GROOVE、甘特图、弧线图、主题河和曲线图。TimeBench框架为时序数据提供的数据结构和数据映射到时间的方法,

diagram

从跟踪分析开发者在使用TimeBench软件库的行为和反馈中,作者肯定了他们的数据模型设计和软件库接口为可视分析工具的实现提供了很大的便利,增加了针对时序数据的可视分析工具实现代码复用度,并且作为一个设计标准,它也是一个用于比较的衡量标准。项目主页见http://www.timebench.org,源码可在https://github.com/ieg-vienna/TimeBench下载。

[1] Rind, A., Lammarsch, T., Aigner, W., Alsallakh, B., & Miksch, S. (2013). TimeBench: A data model and software library for visual analytics of time-oriented data. Visualization and Computer Graphics, IEEE Transactions on, 19(12), 2247-2256.

评论关闭。