MatrixWave: 事件序列数据的视觉比较 (MatrixWave: Visual Comparison of Event Sequence Data)

事件序列数据是我们生活中很常见的一类数据。它由一系列带有时间戳的事件组成,往往与人们的活动息息相关,因此对这类数据的分析也成为了许多领域的研究热点。这里面一个重要的分析任务就是不同时间段和不同人群之间的比较。例如,网站日志记录了用户访问网页并在不同网页之间跳转的过程,作为网站分析人员,他们可能想知道有多少用户访问了一个特定的网页,用户在他们网站的停留时间以及主要的访问路径。尽管现在也有一些诸如辛基图(Sankey Diagram)等针对这类数据的可视化技术,但是涉及到视觉比较方面的工作却非常少。因此这篇文章就提出了一种可视化的设计,MatrixWave[1],不仅可以对大而密集的单一事件序列数据进行可视化呈现,还可用于两个相关事件序列数据的比较分析。

可视化单个事件序列数据

在事件序列数据中,每个事件序列都包含一系列随时间演化的事件。文章针对网站点击流数据,如下图所示,图a包含5个事件序列,其中每个字母都表示一个事件,也就是访问一个特定网页。每个事件序列包含了一定的步数,显示了网页之间的转移关系。该事件序列数据的辛基图表示如图b所示。图b中使用矩形结点表示特定网页,两个结点之间的连接表示网页之间的转移。结点的大小表示该网页的流量,连接的大小表示从一个网页到另一个网页的转移流量。

matrixwave1

虽然辛基图是一种比较通用的对事件序列数据进行可视化的方法,但如果结点之间的转移关系很密集,辛基图中会产生大量的边的交叉,造成视觉遮挡。针对这一缺陷,在MatrixWave中,结点之间边的连接被转移矩阵替换,矩阵中的每个单元表示了结点间的转移流量。图c展示了第一步和第二步组成的矩阵,其中结点的含义和辛基图中的一样,只是结点间的转移流量现在由矩阵中相应单元内部的方形大小来表示。事件序列数据中的相邻两步都可以组成这样的转移矩阵,如图d所示,再将这些矩阵旋转并以之字形进行串联,就得到了如图e所示的形式。我们可以很容易地在图e中追踪某个事件序列的路径。

可视比较两个相关的事件序列数据

对于两个相关事件序列数据的比较,作者采取了叠加(superposition)和显式的视觉编码(explicit encoding)这两种视觉比较方法。如下图所示,相比用于展示单个数据,这里的MatrixWave中结点和矩阵单元都增加了颜色信息。结点本身仍然表示一个特定的网页,但其大小现在表示的是该网页在两个数据中流量的平均值,其颜色表示的是流量差异。这种流量差异被映射到一个由紫变黄的渐变的颜色方案,颜色越紫表示该网页在第一个数据有更多的访问,而越黄则表示在第二个数据有更多的访问。对于矩阵单元,其内部方形的大小表示两个数据中相应两个节点之间的平均转移流量,颜色采用了与结点一样的颜色方案来表示转移流量在两个数据中的差异。

matrixwave2

为了评估MatrixWave的有效性,作者还开展了一个用户调研来比较MatrixWave和辛基图这两种表示形式(如下图所示,辛基图中结点的大小和颜色与MatrixWave中的结点相同,边的大小和颜色也和MatrixWave中的矩阵单元相同),参与者需要完成关于不同类型的视觉比较任务。结果显示,相比于辛基图,使用MatrixWave可以获得更高的准确度(95% VS 79%)和更少的完成时间(34.0s VS 38.2s)。另外在对用户偏爱哪种形式的调查中,大部分人选择了MatrixWave。这些都表明MatrixWave相比于传统的辛基图能够更合适并且有效地应用到两个事件序列数据的视觉比较中。

matrixwave3

事实上,不仅是分析网站点击流数据,MatrixWave还可用到交通领域的可视化与可视分析中。例如,将交通基站看成是事件,事件序列就表示基站间交通流量的变化,据此可以分析在一段时间内或者不同时间段之间的交通流量状况。而在科学可视化中,也许还可以将MatrixWave用于不同集合成员之间差异的演化。这些都是我们可以进一步考虑的研究方向。

[1] Jian Zhao, Zhicheng Liu, Mira Dontcheva, Aaron Hertzmann, Alan Wilson. MatrixWave: Visual Comparison of Event Sequence Data. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (pp. 259-268), CHI 2015, ACM, Seoul, Korea, April 2015.

评论关闭。