时 变数据是我们都很熟悉的一种数据形式,甚至可以说,我们日常见到的大部分都是时变数据,比如说一切价格的变动(衣食住行,股票,等等)。时变数据可以看成 是由一组按时间记录的数据。在每个时间点的记录又包含了多条数据。比如,在街头摆煎饼摊的王大妈,就可以记录一下每次城管队员出现的相关信息,包括时间, 有谁带队,几个人,开车还是骑自行车,穿制服还是便衣,砸摊还是没收,市里是否有重要外事活动,等等。如果王大妈坚持定期做记录,那她就能收集到一组详细 的时变数据。

从 这些时变数据中可以挖掘出哪些有用的信息呢?。比如王大妈从她的记录中可能就发现:如果是张三队长穿便衣一个人走路来,那他就是来买套煎饼,不用紧张,但 是如果李四副队长穿便衣来,并带了两个人,那就是“钓鱼执法”了,准备随时推着摊子撤退;如果下一个星期全省的城市卫生管理会议要在市里召开,那还是待在 家里比较好,但是如果是“经验交流”会,那出去摆摊还是相对安全的。

针 对时变数据分析,今天我们要介绍一篇将在Eurovis2011上发表的由Matthew O. Ward 和Zhenyu Guo所作的论文:“Visual Exploration of Time-Series Data with Shape Space Projections”。 这篇论文采用可视化的技术,将时变数据画成不同的图形,并在其中找出特殊的形状以挖掘信息。基本的思路并不复杂:如果把数据点中的每条数据相应的类别表示 成一条数据轴,那我们就可以构造一个高维空间;然后按时间顺序,把数据点连接起来,那一组时变数据就可以表示为一条在高维空间的线;下面的问题就是如何来 观察这条高维曲线。

这 篇文章的作者采用了以下的步骤来可视化这条高维曲线。第一步是对这条高维曲线采样,采样太少,就有可能丢掉一些重要信息,如果太多,那就可以有很多噪音, 采样的频率由用户交互指定。第二步是将采样过的高维曲线分段,分段可以方便接下来对每段的曲线特性研究。而这些小段可以有重叠。分段的大小,重叠程度也是 由用户交互指定。第三步就是把曲线用Principal Component Analysis (PCA) 的方法投影到二维空间,显示和研究曲线特性。

作 者举了若干例子来介绍这个流程和结果。比例最上面的图就是心电图的二维可视化,上面的每个粗点代表了一条记录,这些点按时间顺序用细线连接。由于每条记录 包含了多条数据,我们无法直接在高维空间里观察这条线。但是如果用PCA把这组时变数据投影到二维空间上,我们就可以清楚的看到有6个圈,每个圈用不同的 颜色区分。我们可以比较清楚的看到有一个圈的某一部分跟其他的圈不一样(下面的图中黑色的部分),这样我们就可以找到心电图中的异常。

这 样的可视化主要是通过对高维数据的投影,帮助我们找到异常,但是可视化本身并不能提供对数据的直接解释,对异常的解释还是要回到原来的数据。比如下面的 图,左面是美国100年道琼斯指数的相关数据的可视化,从右到左,代表从早期到现代。这个可视化本身并不对应于原始数据中的任何曲线,所以很难有直观的解 释,但是可以方便我们发现一些有趣的现象,比如在早期,道琼斯指数变化比较有规律,而现代的变化变得难预测。而对具体的异常,比如出现在方框里的异常,通 过查原始的数据(显示在右图中),我们可以看到原来出现了一个大跌,然后有涨上来了。

文章中还提到了一些其他技术,比如用星状图和直方图表示每条记录,还有多视图的连接。这些方法在我们前面的帖子中介绍过了,这里就不赘述,有兴趣的同学可以到这个连接下载原始的文

© 2011, 视物 | 致知. All rights reserved.

Related Posts: