可视化技术在数据科学领域中的应用
在数据科学(datalogy)蓬勃发展的今天,获取数据的成本日益降低,数据规模日益庞杂,海量数据带来了海量数据的处理和分析需求,我们已经走进了“数据即服务”(DaaS)的大数据时代。面对海量数据,我们很难通过直接观察数据本身,或者仅对数据进行简单统计分析即得出数据中蕴含的知识。例如,只通过观察系统日志,我们很难判断服务器是否真的受到外部威胁;简单地统计社交网上用户的好友关系,也难以发掘用户喜好。为此我们需要通过机器智能来处理数据,并将其整个过程交由人脑检验。智能数据分析所产生的知识与人类所掌握的知识之间的差异,正是导致新的知识发现的根源。而借助占人类信息接收能力75%以上的视觉感知能力,是将智能数据分析求验于人脑智能的必经之路。存储、数据库、和算法都是非常重要的,但是在数据驱动的世界中,他们只能处于基本层的位置。尽管可视化不是数据分析中最有技术挑战的一部分,但作为一种人机交互手段,对数据科学的作用是全方位的——从数据的组织与管理,到数据分析与挖掘的每一个方面,数据可视化都起着桥梁作用。
图1. 可视化与数据科学的关系,摘自陈为《数据可视化》[1]
一. 数据预处理与可视化
数据质量是数据采集后所需考虑的第一个问题。在原始数据中,常见的质量问题包括:噪声和离群值、数据缺失、数值重复、老化数据等。维护一个“完美”的数据集通常代价极为高昂,并且“完美”的定义也总是随时间改变,因此在生产环境中常用的办法是采用机器先用计算机数据处理方法来对数据进行预处理,例如数据规范化,数据方聚集,维度规约,数值规约,填补遗漏值,数据去噪,等等。但在这一过程中,很多时候还是需要人的交互来提高清理效率。Kim W, Choi BJ等人总结了33种脏数据类型,并强调其中25种在清理时需要人的交互[2]。可视化交互式方法几乎是此类问题的唯一解决方案。
海量数据分析过程中,人们面临的主要困难是数据量大,数据种类多,数据维度高。而其中维数高是最核心的困难——模型的复杂度和计算量随着维度的增加而指数增长,被数据科学家称之为维度诅咒(curse of dimension),直接对海量高维数据集进行可视化通常会产生杂乱无章的结果,称之为视觉混乱。
克服维度诅咒本质上有两类方法。一类方法是使用简化模型模拟复杂事物,就是将数学模型限制在一个极小的特殊类里面,如线性模型,如假设概率密度遵循正态分布,如假设观测到的时间序列是隐式马尔科夫链等;另一类方法是利用数据可能有的特殊结构,在数据精简的同时保留数据的内涵特征,典型的方法有二次采样、直方图、奇异值分解、局部微分算子、离散小波变换等。
具体到可视数据预处理,一般采取两类方法结合的方式,首先自动分析数据以选择和衡量数据的不同特征,如关联性,密度等,通过这些量度指导和评估数据精简过程,然后向用户呈现为可视化交互应用。这类应用通常能提供可伸缩的数据结构、多类统计视图、多值对比、层次化、多尺度表达等流行的可视化交互方法,从而使用户能够方便地选择(selection)、导航(navigation)、重配(reconfigure)、编码(visual encode)、抽象/具象(abstraction/elaboration)、过滤(filtering)和关联 (connection) 数据。
图2. 可视数据清理实例:[a]一个社交网络的节点连接图; [b]将a转换成矩阵,强调了关联关系,但是还没发现错误; [c]将矩阵按列数据重新排列,发现了缺失数据 [3]
图3. 展示了由D-Dupe制作的网络图。该网络图由论文引用数据生成。在该可视化应用软件面板中,左侧是基于用户定义的相似性度量而形成的潜在重复作者关系列表,右侧的关联关系查看器则可视化地显示了作者之前重复选择的关系。右下是详细数据查看器,可以根据用户查看指定节点的属性值(作者)和边(论文)。用户可以用这个工具交互地选择实体进行合并,从而清除一些难以发觉的重复数据[3]。
二. 数据管理与可视化
随着计算机技术的发展,数据管理经过了人工管理,文件系统,数据库系统几个阶段。数据组织、管理和存储的最简单形式是文件,文件存储高度灵活,但其最大的弊端在于不同的文件格式之间的语义隔离。为了方便通用型数据的存储和交换,数据导向性应用程序采用标记语言格式将数据进行结构化组织,XML就是其中的典型代表。某些科学领域高效能处理要求和特殊的领域知识也要求人们定义特殊的结构化文件来记录数据,故而诞生了诸如多对象文件格式HDF,网络通用数据格式 netCDF等面向科学计算的文件格式。对于这些结构化文件,有许多专门的可视化分析软件 ,应用于各自专门的科学领域。
电子表单(spreedsheet)也是文件存储的一种模式,它可以灵活地组织数据,因而被广泛地应用于办公自动化中。常用的电子表单编辑软件,如Microsoft Excel,Tableau等,都包含数据分析与可视化功能。例如Microsoft Excel本身就包含图表生成器,2013年更是发布了支持Excel的3D可视化工具GeoFlow,支持分析最高达100万行的Excel工作簿,并可将结果与Bing Map结合。Tableau则是更为强大的可视化数据分析工具,除了支持Excel工作簿以外,tableau还可以跟各种数据库对接,进行商业数据可视分析。
图4,支持Excel的3D可视化工具GeoFlow
数据组织和存储的高级形式是数据库。在当今以数据为基础的服务中,数据库及其底层的磁盘阵列已经是信息存储应用的基础部分。现代关系数据库管理系统已经非常成熟,通过sql语言和事务的概念,稳定而安全地管理数据。以oracle, IBM DB2, mySql, Sql Serve为代表的关系数据库已经统治业内多年。等都有对关系数据库的接口。有许多的可视化应用,可以对关系数据库进行统计和分析。例如,佐治亚理工学院的Zhicheng Liu等人开发的Ploceus系统[4],是基于表格数据的可视分析系统,可以将多维、多层次的表格数据映射为节点-链接图进行分析,并支持表格上的各种代数运算,提供了动态网络操作和视觉探索的无缝整合分析体验。此外,通用的商业数据分析软件如tableau,SAS,SPSS,BMDP均有对关系数据库的接口。
图5,Ploceus系统界面
然而关系数据库在web2.0时代需求的高并发、高实时性访问的要求下,暴露了其缺陷。并且,占据数据量绝大部分的非结构化数据和半结构化数据,很难以行数据的形式存储在结构化的二维表中。所以自2009年以来,Not only Sql (noSql)理念风头日盛,noSql一词已经成为了不同于传统关系型数据库的总称。现在大约有150种noSql数据库(http://nosql-database.org/),按照数据库模型的不同,nosql数据库大致可分为如下几种类型:文档存储、键值存储、图存储(面向网路的存储)、列存储、对象存储五大类。这种划分并不是绝对,还有多模型交叉的类型。例如google的bigtable,可以说是采用了不完整的关系数据库模型和key-value映射的分布式数据库。
虽然部分商业数据可视分析软件,如tableau等提供对个别noSql数据库的接口,但总的来说,对于NoSql数据库,对应的可视化工具远没有发展了多年的关系数据库那样丰富,很多领域还是空白。因此,对NoSql数据库的可视化分析需要借助于数据仓库的过程,使用通用可视化工具进行数据的统计分析;同时,此处也是数据可视化应用重要的研究点和增长点。
数据仓库是“面向主题的、集成的、与时间相关的、主要用于存储的数据集合,支持管理部门的决策过程”。从概念上讲,数据仓库是区别于一般数据库存储的另外一种数据组织方式。数据库系统主要是面向应用的、事务型的数据处理,一般来说具有实时性较高,数据检索量较小,普通用户的数量较大等特点。而数据仓库系统主要面向主题的、分析型的数据处理,具有实时性要求不高,数据检索量较大,主要针对特殊的用户群体(一般是企业高层领导、决策分析人员等),用户的数量较小等特点。数据仓库实际上相当于一个利于决策者理解和分析的综合数据资源库,同时也是数据抽取、转化、装载与数据分析、管理员决策的过程,而非某一个产品。而可视化技术在数据仓库中的全过程中都有其用武之地。将在下一节数据分析与可视化中说明。
三. 数据分析与可视化
统计学家最早意识到数据的价值,提出了一些了方法来理解数据特性。其目的是从杂乱的数据集中集中个、萃取、提炼出有意义的信息,实现数据价值的最大化。从统计应用的角度上划分,数据分析方向有统计分析、探索式数据分析、验证性数据分析三类。从计算机处理方式的角度上讲,数据分析方法包含统计分析、联机分析处理、数据挖掘、可视分析学。
数据分析与计算机不同领域相结合,衍生出不同的分析方法和相应的分析软件。例如,从统计学角度出发的开源数据分析软件R,收费的数据分析软件SPSS,SASS,科学计算领域的MatLab,机器学习领域的Weka,自然语言处理领域的SPSS/text, SAS text Miner,计算机视觉领域的OpenCV,图像处理领域的Khoros等。但无论哪种分析软件,最后都离不开分析流程、分析结果的可视化呈现。
联机分析处理(OLAP)方法学很早就注意到可视化交互在探索大规模多维数据集中的应用。在典型的联机分析处理流程中,系统首先将关系数据库中多个表数据合并为多维数据模型,又称之为数据立方,可用于记录几十个维度、百万数据项的多维数组。然后,系统允许对数据立方进行不同维度的聚合、检索、数值计算等操作,从而完成对数据集不同角度的理解。联机分析处理中,对数据立方的基本操作有两类:
- 切片和切块:这两个操作都等价于在整个多维数组中选取子集。切片指从数据立方的多个维度上选择具有给定值的数据项。切块指从数据立方中选择属性值在某一个范围的数据项。
- 汇总和钻取:属性值通常具有某种层次结构,这些类别通常嵌套成一个树或网状结构。通过向上汇总或者向下专区的方法,可获取数据在不同层次的属性值。
对数据立方的操作,离不开人的交互。事实上,面对复杂数据,联机分析处理的发展趋势就是对于数据立方的生成,采用数据挖掘的方法;对于数据立方的操作,采用数据可视化交互的方法。最终练级分析处理转变为数据的在线可视分析方法。Polaris是斯坦福大学博士等开发的用于分析多维数据立方的工具。它可以联合多个表格数据生成数据立方,在呈现时又可以在各单元中嵌入可视化元素(如饼图、时序图、散点图、甘特图、树图等)。可视化交互中必不可少的选择、重新布局、缩放、过滤功能当然都一应俱全。其商业版本就是tableau。
图6. Polaris系统界面[5]
数据挖掘被认为是一种专门的数据分析方式,其本质是使用机器智能,在没有明显假设的前提下去挖掘知识,其结果具有预测性的效用。它融合了统计、数据库、人工智能、模式识别、机器学习理论,特别关注异常数据,高纬数据,异构和异地数据的处理等挑战性的问题。
数据挖掘领域注意到了可视化的重要性,提出了可视数据挖掘的方法,其核心是将原始数据和数据挖掘的结果用可视化的方法呈现。然而,这种仅在输入输出的步骤上引入可视化的方法,对于一些黑箱算法(例如神经网络训练),无法有效地展示算法内部过程[7]。更为完善的方法是结合可视化与数据处理的每个环节,这种思路导致了数据可视化的分支——可视分析学(visual analytics)的出现。
可视分析学(Visual Analytics)被定义为一门以可视交互界面为基础的分析推理科学[10]。不论从何种数据分析-可视化模型,都是以可视化交互界面为通道,在人类智能与数人工智能之间构造了一个循环——互相影响的螺旋形上升的循环,最终目的是在其中获取知识。图7展示了tableau的联合创始人Chris Stolte博士的可视分析模型。
图7. Chris Stolte博士提出的可视分析循环模型[5]
IEEE Conference on Visual Analytics Science and Technology (VAST) 2012 [12] 罗列了可视分析学的相关研究主题[1]:
1) 可视化表达与交互技术:信息展示原理,新的视觉策略,统计图形学,地理空间可视化,人机交互,构建可视化和交互的方法
2) 数据管理和只是表示:包括大容量和流数据的可伸缩表示,统计和语义特征,基于分布式数据来源的信息合成等
3) 分析式推理
4) 表达、作业和传播方法,包括分析过程建模,面型特定和不定对象的叙事性呈现
5) 可视分析技术的应用
6) 评估方法
7) 推理过程的表述性可视化和可视表达
8) 允许交互可视分析的数据变换的理论基础
9) 可视分析学的基础算法与技术,包括用户和设备的自适应性,网页接口和移动设备
四. 数据学与可视化结合的发展趋势
计算性能技术的突飞猛进已经大大超过了可扩展存储、I/O和可视化工具的发展。图灵奖得主John Hopcroft 曾经指出,在过去的几十年里,计算机科学的研究对象主要是计算机本身,包括硬件和软件。 以后计算机科学的发展将主要围绕着应用展开。而从计算机科学自身来看,这些应用领域提供的主要研究对象就是数据。虽然计算机科学一贯重视数据的研究,但数据在其中的地位将会得到更进一步的加强。数据可视化技术作为数据科学中最为重要的一环,值得在数据科学的每一个环节进行应用研究。无论是在商业数据分析还是在个人数字生活方面,可视化都有相当广阔的应用前景。
从线下向线上转移是可视数据分析应用的主要趋势。传统的可视化交互技术,通常以C/C++语言为基础,以传统客户端程序为表现,运行在PC机、工作站、小型机上。但是在大数据时代,面对海量数据的分析处理需求,使用并行计算技术,将计算向线上整合,把可视化留给web浏览器,屏蔽处理细节,成为了DaaS的主流。目前web端可视化技术已经足够成熟,允许绘制2D、3D各种图形,跨平台,富浏览器端是其主要特点。下文中对比了几类常用web可视化技术:
- Html5 canvas:html5的2D绘图API
优点:浏览器支持情况良好
缺点:对图形对象直接操作较为困难,不能保存为可编辑图形文件
典型类库:flotJS, RGraphJS, chartJS, processingJS, EchartJS, kineticJS
- SVG:可伸缩矢量图形
优点:放大不失真,对图形对象直接操作容易,可以保存为可编辑图形文件
缺点:IE6,7,8不支持;在点数量过多时消耗系统资源明显
典型类库:D3js,Raphael.js
- webGL:JavaScript实现浏览器端3D绘图的技术
优点:3D显示,直接调用openGL API
缺点:只有现代浏览器支持,还在发展中
- Flash:Adobe公司的的跨浏览器、跨平台的交互式应用插件
优点:编辑软件成熟,类库很多,运行效率较高
缺点:浏览器需要下载插件才能运行,移动端支持少
典型类库:flare, Flex
- silverlight:微软公司的跨浏览器、跨平台的交互式应用插件
优点:MVVM框架写成,编写交互程序效率高,运行效率高(尤其在windows端跟桌面软件体验一致)
缺点:浏览器需要下载插件才能运行,除微软以外应用少
服务从线下向线上转移,导致了可视化技术中html5 canvas, flash, SVG, webGL等web前端端图形化显示技术的大发展;另一方面,计算向web后端转移,数据挖掘,模式识别,机器学习,分布式计算等技术在数据分析中应用更为广泛。虽然在个别专门领域,可视数据分析客户端软件依然有其用武之地,交互性能依然较高,但是从整体上,互联网公司作为日常运营中生成、累积的用户网络数据的主要行为者,将成为数据分析领域中数据的主要服务提供商,其服务器集群与web前端可视化界面所组成的诸多可视分析应用将成为主流。百度统计研究院旗下诸多应用、google data API、淘宝数据魔方就是此类服务应用的典型体现。
图8 淘宝的数据魔方
但是,这并不是说数据分析就将有这些大公司把控。相反,随着大数据概念的推广,近年来硅谷在数据分析领域掀起了一股创业热潮,其中大多数着眼点于可视分析学方面,如着眼于移动设备而设计数据分析软件的公司Zoomdata, 强调web易用性的公司datahero,等等。追求可视数据分析软件的易用性,将之推广到普通用户手中,是可视化在数据科学中应用的另一大重要趋势。
在过去几十年,商业智能分析软件的服务对象往往是大企业、政府单位,操作人员是受过专门培训的专家,软件运行在专门的硬件与网络环境中,与普通人之间巨大隔着鸿沟。限于资源和计算能力,普通人只是被动地接受分析的结果,未能充分地加入数据分析过程。但是,随着大数据时代到来,计算、存储等基础资源日益廉价,将有许多可视分析应用,从移动端、桌面端等各个角度,允许普通人深入发掘自己的数字化生活场景,如个人网络社交生活图谱,个人简历可视化等。例如2011年被facebook高价收购的Feltron公司,该公司推出的产品就是用于记录和可视化个人数据的智能手机应用。Feltron公司被facebook收购后不久就推出了重磅产品时间线(timeline),允许用户生成自己的数字生活年表。
图9. Daytum,摘自www.made-in-england.org
参考文献:
[1]. 陈为,沈泽潜,陶煜波 《数据可视化》 电子工业出版社 2013
[2]. Kim W, Choi BJ, Hong EK, Kim SK and Lee D. A taxonomy of dirty data.Data Min Knowl Discov2003; 7: 81–99
[3]. S Kandel, J Heer, C Plaisant, J Kennedy et al. : Research directions in data wrangling: Visualizations and transformations for usable and credible data, Information Visualization October 2011 vol. 10 no. 4 p271-288
[4]. Z Liu, SB Navathe, JT Stasko,Network-based visual analysis of tabular data
- Visual Analytics Science and Technology, 2011
[5]. Chris Stolte et al. : Dynamic Workload Driven Data Integration in Tableau , 2002
[6]. Jennifer Rowley, The wisdom hierarchy: representations of the DIKW hierarchy. Journal of Information Science, 33(2),2007:163-180
[7]. Matthew Ward, Georges Grinstein, Daniel Keim, Interactive Data Visualization: Foundations, Techniques, and Applications. May, 2010.
[8]. R.B Haber, D. A. NcNabb. Visualization idioms: A conceptual model for scientific visualization systems. Visualization in Scientific Computing,1990:74-93
[9]. Ross Bunker, Jock Mackinlay, Robert Morton, and Chris Stolte: Dynamic Workload Driven Data Intergration in Tableau[2009].
[10]. D Keim, G Andrienko, JD Fekete, C Görg, Visual analytics: Definition, process, and challenges – 2008
[11]. Visual Analytics Science and Technology (VAST), 2012 IEEE Conference on,
[12]. http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6381601
[13]. McKinsey Global Institute, J. Manyika, and M. Chui. Big Data: the next frontier for innovation, competition and productivity. 2011
[14]. Michel Crampes, Jeremy de Oliveira-Kumar, Sylvie Ranwez, Jean VillerdVisualizing Social Photos on a Hasse Diagram for Eliciting Relations and Indexing New Photos 2009
[15]. C Yu, D Yurovsky, TL Xu - Infancy, Visual data mining: An exploratory approach to analyzing temporal patterns of eye movements, 2012 - Wiley Online Library