当前位置 > 首页 > 案例分析 > 长时间内离散事件的可视化

长时间内离散事件的可视化

来源:中国数据分析行业网 | 时间:2015-12-02 | 作者:数据委

  在我们的日常生活中离散事件无处不在。比如通话记录、网上交易和心跳数据。尽管离散事件的数据比较单一,但是在保留细节信息的前提下,对长时间内的离散事件进行可视化处理还是挺困难的。

下图阐明了这个问题。该图描述了七个月内某一IP地址的网站访问量。它是利用离散事件数据所绘制的。其中每个直方柱的高度代表每个时间点上事件发生的次数。

数据可视化

  当此图涵盖了所有事件的信息时,每个时间点上的细节信息则完全被忽略。人们总是可以对条形图进行一定比例的放大后再次绘图,但是问题就来了–我们应该选择多大的缩放比例呢?我们应该考察哪个时间段的信息呢?比如,如果我们想放大到间隔为一天的水平,那么我们大致需要观察210天的信息。而且在不同的缩放级别中寻找匹配值和异常值是非常耗费时间的。

  在这篇博客中,我将会介绍如何在一张图中对长时间内离散事件的数据进行可视化处理的方法。不管面对的是毫秒级还是月度数据,它都允许读者从图中快速地识别出关键信息。该方法出自于混沌系统领域,它起先是用于研究滴水时间的问题。这个可视化方法拥有许多不同的名字:延迟映射图、复原时间图和时间-时间图。为了简洁起见,我把它称为“时间图”。尽管人们早就利用时间图对混沌系统进行可视化处理,但它还没被应用到信息科学领域中。我将会展示时间图是如何提供关于推特账号行为和网络机器人程序活动的宝贵信息。

  这篇博客虽然篇幅短,但是包含了几个略微不同的案例。这篇文章已经被 2015 年 IEEE 大数据会议所接收。本文结尾部分附带了如何制作时间图的 Python 代码。

  制作时间图非常简单。首先,想象时间轴上一系列用点表示的事件。每个事件之间的时间间隔用标签 t1 ,t2 ,t3 ,t4 ,…所表示。

数据可视化

  时间图可以简单看成二维散点图,其中事件的坐标分别为(t1, t2),(t2, t3),(t3, t4)等。在时间图上,紫色点事件将被画在图中所示的位置。

数据可视化

  换句话说,散点图中的每个点都代表一个事件。其中横坐标表示这个事件和前续事件之间的时间间隔,纵坐标表示与后续事件之间的时间间隔。因此时间图中无法表示第一个事件和最后一个事件。

下图是两个简单的例子:

数据可视化

  等间距事件序列(A)的时间图中只有一个有效点,因为所有事件的坐标完全相同。序列 B中除了一个事件略有延迟以外,它与序