1.1 大数据可视化的概念
数据科学主要以统计学、机器学习、数据可视化及(某一)领域知识为理论基础,其主要研究内容包括数据科学基础理论、数据预处理、数据计算和数据管理。因此数据可视化(Data Visualization)是数据科学的理论基础之一。数据可视化能将复杂的数据转换为更容易理解的方式传递给受众。数据可视化是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式定义为一种以某种概要形式抽取出来的信息,包括相应信息单位的各种属性和变量。它是一个处于不断演变之中的概念,其边界在不断扩大。数据可视化主要指的是利用图形、图像处理、计算机视觉及用户界面技术,通过表达、建模及对立体、表面、属性、动画的显示,对数据进行可视化解释。与立体建模之类的特殊技术方法相比,数据可视化涵盖的技术方法要广泛得多。
数据可视化借助图形化手段,清晰、有效地传达与沟通信息,但这并不意味着数据可视化就一定因为实现其功能用途而令人感到枯燥乏味,或者是为了看上去绚丽多彩而显得极端复杂。为了有效地传达思想观念,美学形式与功能需要齐头并进,通过直观地传达关键的方面与特征,实现对相当稀疏而又复杂的数据集的深入洞察。然而,设计人员往往不能很好地把握设计与功能之间的平衡,从而创造出华而不实的数据可视化形式,无法达到传达与沟通信息这一主要目的。
数据可视化与信息图形、信息可视化、科学可视化及统计图形密切相关。数据可视化与计算机图形学、计算机视觉等学科相比,既有相同之处,也有显著区别。数据可视化主要是通过计算机图形图像等技术手段展现数据的基本特征和隐含规律,辅助人们更好地认识和理解数据,进而支持从庞杂混乱的数据中获得需要的领域信息和知识。
当前,在大数据的研究、教学和开发领域中,数据可视化是一个极为活跃而又关键的方面。数据可视化是基于数据的,数据科学让人们越来越多地从数据中发现人类社会中的复杂行为模式,以数据为基础的技术决定着人类的未来,但并不是数据本身改变了世界,起决定作用的是可用的知识。大数据已经改变了人们生活工作的方式,给人们的思维模式带来巨大影响。当然,数据可视化不只是各种工具或新颖的技术,作为一种表达数据的方式,它还是对现实世界的抽象表达。它像文字一样,讲述着各种各样的故事。
清晰而有效地在大数据与用户之间传递和沟通信息是数据可视化的重要目标。数据可视化技术将数据库中的每一个数据项作为单个图元元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的纬度观察数据,从而可以对数据进行更深入的观察和分析。
数据可视化使用数据和图形技术将信息从数据空间映射到视觉空间,是一门跨越计算机图形学、数据科学、自然科学和人机交互等领域的交叉学科。通常而言,可视化可以被理解为一个生成图形图像的过程。更进一步看,可视化是认知的过程,即形成某个物体的感知图像,强化认知理解。数据可视化综合运用计算机图形学、图像处理、人机交互等技术,将采集或模拟的数据变换为可识别的图形符号、图像、视频或动画,并以此呈现对用户有价值的信息。用户通过对可视化的感知,使用可视化交互工具进行数据分析,获取知识,并进一步提升为智慧。因此,数据可视化的终极目的是对事物规律的洞悉,而非所绘制的可视化结果本身。这包含多重含义,即从数据中发现、决策、解释、分析、探索和学习。
总之,在数据可视化的工作中更关注数据和图形,由此建立的数据可视化的领域模型如图1-1所示。
图1-1 数据可视化的领域模型
数据:聚焦于解决数据的采集、清理、预处理、分析、挖掘。
图形:聚焦于解决光学图像的接收、提取信息、加工变换、模式识别及存储显示。
可视化:聚焦于解决将数据转换成图形,并进行交互处理。
数据可视化分层:从市场上的数据可视化工具来看,数据可视化分为5个层级,即数据统计图表化、数据结果展示化、数据分析过程可视化、VR/AR阶段虚拟现实的可视化、借助人工智能发现大数据背后隐含的规律并产生洞见。
数据统计图表化阶段:这个阶段是使用传统的统计性图表来展示数据,其特点是统计数据的表达都是历史发生的,把过程中的一些信息省略掉,有可能会给出正确的指导,也有可能会给出错误的指导,历史统计偶尔会骗人。所以“数据可视化”只能看历史数据的统计和解读,类似于盲人摸象,从而无法做出正确的决策。其中的代表作是Highcharts、Echarts等图表库,甚至Excel也是典型的数据可视化工具。这类框架的优点:最成熟的可视化工具,包含的图表都是常见图表,易于用户理解和开发人员使用;开发成本低,对图形技术和数据知识的要求不高。其缺点同样明显:配置项复杂、扩展性差、图表表现单一;适用范围窄,对树状、网状结构支持差;数据维度和数据量的展示都受限。
数据结果展示化工具:随着数据业务对可视化需求的要求越来越高,可视化的范围已经不仅仅限制于统计性图表,业务上需要显示更多维度的数据、更多样的图形展示数据。这就需要业务方能够根据自己的需求定制图表,这个阶段的工具主要有D3.js、rapheal等框架,这类框架提供了精细力度的图形工具和更多的图形算法。这类框架的优点:功能强大、交互性强、适用范围广;集成了大量的图形算法、可视化算法,降低复杂的图表的成本。此类框架同样存在一些共性的问题:需要细粒度的操作图形,学习、开发成本高;个性化需求多,复用性差。
数据分析可视化工具:前面的工具都是基于先验模型,用于检测已知模式和规律,对复杂、异构、大尺度数据的自动处理经常会失效,所以需要对数据的分析过程进行可视化,更好地探索规律、查找问题。数据分析的可视化工具,目前市场上做得较好的是tableau、R语言中的ggplot2等。这些产品的优点:与数据分析密切关联,集成了大量数据相关的算法;可以对数据分析的中间环节进行可视化展示。其缺点是专业度强,不易入门。
VR/AR阶段的虚拟现实的可视化:谈论数据和虚拟现实的问题有点像鸡和蛋的问题——如果不知道人们如何使用VR数据工具,就很难设计良好的VR数据工具。虚拟现实可以帮助人们提升概率思维、多维数据的可视化、高密度信息的展示,以及提供情境以使人们更全面地理解问题。关于这种方法的研究已经覆盖到心理学和颜色感知的领域。研究者们花费了大量时间测量人们在不同的知觉中如何感知微小和巨大的区别。换句话说,借助VR和一些心理学知识,可以使人们理解复杂数据变得简单。
最后一个层级是“预测”,需要真正的人工智能(AI)。人工智能每一个技术环节与可视分析、过程数据分析互惠互利。在静态的图形上做点的判断根本无法了解所谓的大势,一定要做实时分析。机器学习是机器和机器之间的数据交流。目前,在绝大多数场景中还没有办法做到机器和机器之间交流,那么就必须让人和机器之间、人和数据之间先进行交流。而数据可视分析无疑是串联决策层(人)和数据层的最佳桥梁。
下面举例说明“数据可视分析”和“数据可视化”的区别。
在生活中,B超就是典型的可视分析。数据可视分析不外乎把医学影像原理应用到企业的应用上,帮助企业实时分析企业此时此刻的整个状态。人与数据交互可以带来更大的决策价值。医院出具的B超报告单上的图片则是数据可视化,侧重结果。而B超的实时影像则是数据可视分析,侧重过程,是动态的。
“数据可视分析”是指实时的、人机互动的、更加直观的数据分析的工具,让人和机器进行真正的交流,给予企业真正的“大数据认知能力”。我们已经进入大数据时代,可视化在数据的获取、处理、分析阶段都发挥着重要的作用。以大数据为基础,以可视化和数据分析模型作为两翼,共同为客户创造价值,三者缺一不可,相辅相成。
当前支持业务的特点,决定了数据可视化的工作内容:
基本的统计性图表依然占可视化的很大比例,但是开发受困于各种图表库的不完整、数据的输入输出不一致、语法的烦琐,导致体验差、开发效率低。
越来越多的业务开始有更多维度的数据展示需求。
在线的数据分析业务开始兴起,传统的PC版工具不能满足需求。
因此,无论是对于数据可视化开发还是选择分析工具,要注意以下3点。
(1)满足现有的统计性图表需求,提供一套极为简单的图形语法,完成数据从数据空间映射到图形空间。
(2)提供各种图形的扩展语法,支持异构复杂的数据类型。
(3)探索数据技术在可视化上的应用,以在线数据分析为入口,提供数据分析的可视化能力。
要把握数据可视化的概念,还要注意理解信息图(Infographics)和可视化(Visualization)这两个容易混淆的概念。基于数据生成的信息图和可视化这两者在现实应用中非常接近,并且有时能够互相替换使用,但两者的概念是不同的。
信息图是指为某一数据定制的图形图像,它往往是设计者手工定制的,只能应用在那个数据中,其典型特征:它是具体化的、自解释性的和独立的。可视化是指那些用程序生成的图形图像,这个程序可以应用到很多不同的数据上。与具体的、自解释性的信息图不同的是,可视化是普适的,如平行坐标图并不因为数据的不同而改变自己的可视化设计。可视化强大的普适性能够使用户将某种可视化技术快速应用在一些新的数据上,并且通过可视化结果图像理解新数据。综上所述,可视化是普适性的,而信息图是具体的。可视化不因为内容而改变,而信息图则和内容本身有着紧密的联系。可视化基本上是全自动的,而信息图需要手工定制。两者都不是完全客观的,都需要作者在创作中把握合理的表达数据的方向,从而正确地传递数据信息。
当前,数据可视化技术正在迅速发展,已经出现了众多的数据可视化软件和工具,如Tableau、Datawatch、Platfora、R、D3.js、Processing.js、Gephi、Echarts、大数据魔镜等。许多商业的大数据挖掘和分析软件也包括了数据可视化功能,如IBM SPSS、SAS Enterprise Miner等。数据可视化与信息图形、信息可视化、科学可视化及统计图形密切相关。数据可视化领域的起源,可以追溯到20世纪50年代计算机图形学的早期。当时,人们利用计算机创建出了首批图形图表。