上一节中,我们重点讨论了设计标准和影响因素。设计标准帮助我们提高分析方案的质量和效率,而影响因素则告诉我们怎样才能获取高质量的分析结果。目前为止,我们依然停留在理论阶段,还没有进展到实际设计分析方案的环节。那么分析方案是怎么做的?看起来是什么样的?怎么操作?在本节中我们会一一为大家解答。
在下文中,我们将说明交互式可视化数据分析过程中不同角色需要承担的不同任务。首先,设计师负责设计数据分析方案。他们需要熟知各种从理论到能够实际应用的分析方案。其次,开发人员负责制造和实现分析方案,把它们变成可运行的系统。开发人员需要制作出能够通过不同步骤将各种功能组合成交互式可视化数据分析系统的设计蓝图。最后,目标用户来进行实际操作。在这一步,用户会希望利用数据分析方案获取信息。以上几点能够帮助我们有效地推广交互式可视化数据分析方案,并且将其应用到实际工作中。
按照上述思路,我们接下来将从方案设计、数据转换和信息生成角度来研究交互式可视化数据分析的抽象模型。
设计交互式可视化数据分析方案是一项极具挑战性的工作。其中的关键在于将可视化效果、人机交互和计算机计算合理地组合起来,切实有效地帮助用户执行分析任务。
为了解决这个问题,我们可以直接利用结构完善的设计公式来设计方案,这些设计公式也被称为嵌套模型 17,18 。该模型由四级组成,每一级都包含于上一级,分别代表了从应用领域到解决方案等四步。此处我们使用了嵌套模型的一个变体,该变体经过了略微简单地调整,主要是为了让大家更容易理解,另外也为了与本书中使用的术语保持一致。如图2.13所示,详情如下。
图2.13 四级嵌套模型显示了设计交互式可视化数据分析方案的步骤 17
应用领域。 首先,设计人员必须要熟悉相关的分析领域。这主要是指用户的个人情况和拥有的专业背景。此外,还要按照第2.2.3节提到的考虑数据分析背景。正常的分析流程是怎么样的?利用什么样的途径?工作环境是什么样的?这些问题都可以留给相关领域的专家来解答。
数据和任务。 了解了应用的领域以后,接下来就要根据第2.2.1和2.2.2节中的概念来准备基本数据以及设计任务了。这一步的目的是将工作重心放在基本理论上,而不是相关领域的细节上。例如,我们正在处理的是图形T×R→A,而不是生物医学信号路径。那么这个例子的本质就是将生物医学信号路径转换为观察峰值的出现频率并且通过计算来证实结论。
对于数据和任务的理论说明将为下一步的方案设计做好前期准备。
设计标准。 通过以上信息,我们需要给出合适的设计标准。根据前文所述,我们要在可视化图形、人机交互或者计算机计算等手段上想办法。也就是说,设计标准包括了选择自然醒目的图形颜色、易用且人性化的交互系统和高性能的计算机设备。
由于在前一步中已经确定了数据和任务详情,我们就可以使用有过成功先例的分析方案,必要的话也可以对其做出适当改变以便更适用于目标领域。如果所有方案都不适用,那就只能开发新的方案。
在第三章到第五章的内容中,我们会发现可视化图形、人机交互系统和计算途径都具有相当大的设计自由度。这也就意味着为了设计出与数据、任务和环境相匹配的方案,设计人员需要大量的专业知识储备。
分析方案。 至此,方案已经设计完毕,以上三步中完成的各部分完成了组装,现在正式进入实施阶段,也就是说,用户可以利用上述部分来执行分析任务了。此外,用户还可以根据算法提供的参数灵活地调整各项属性以达到不同的分析目的。
如上所述,我们可以总结出嵌套模型的几个优势。首先,了解了用户的专业领域,方案设计师就可以围绕用户特点来设计方案,满足用户的需求就是后续设计的重心。其次,了解数据和任务详情是沟通领域专家和方案设计师之间的桥梁,有助于设计师将专业领域的问题转化为数据分析类的问题,从而大大简化了设计难度,同时也能够套用更可靠的专业分析方案。最后,正因为术业有专攻,所以理论和实践分开处理才更加有益。设计师负责了解和开发合适的技术,而开发者则专注于设计高效率的算法。
嵌套模型还有一个优点是有助于测试数据分析方案的有效性。这一点的重要意义在于设计时有可能会出现错误,所以设计师全程都要仔细检查并且验证设计方案。接下来,我们来简要介绍一下不同的方面都有哪些因素会产生影响。
● 领域模糊。即应用领域模糊或者不准确。例如,目标问题跟用户实际要解决的问题大相径庭,或者用户的工作流程和办公环境跟我们理解的有差距。
● 数据和任务错误。即获取了错误的数据和任务。获取的数据和我们的目标数据完全不一样,或设计的任务不适用于目标问题。
● 设计标准偏差。即设计技术不合格。设计出的图形一片混乱,没有任何表现力。人机交互系统不适合用户的办公环境。计算程序不完善,运算结果漏洞百出。
● 方案无法实施。可能因为算法的复杂性以及效率低下的流程造成整体方案根本无法实施,此外,系统资源也可能无法支撑如此大量的内存占用。
我们一定要认识到,如果上一层级出现了错误,那么必然会影响到下一层级。一方面,如果一开始就搞错了应用领域,那么接下来所有的工作都是无用功。但另一方面,如果上一层级正常,而仅是下一层级出现错误,那么纠正下一层级的错误也不会影响到上一层级。比如说,可以通过使用有效的近似值替换计算成本高昂的精确计算,以此来改进分析方案。
总而言之,嵌套模型描述了基本的方案设计过程,以及从应用问题到方案执行过程中的各种影响因素。接下来,我们会仔细研究将数据转换为图形的实际过程。
本节中,我们来讨论如何将数据变成可视化的图形。简单来说,就是输入数据,然后输出图形 。但到底应该怎么做呢?把数据转换成图形都需要哪些步骤?
从最抽象的角度来看,我们可以将这个过程视为一种参数转换(以v来表示),输入数据和参数,输出的结果以图像形式表现出来 19 :
v:D×P→I
通过调用I=v(D,P),数据D∈D被转换成图形I∈I,参数P∈P负责控制转换。接下来,我们再深入了解一下v的作用以及D将要经历的变化。我们可以利用可视化线条 20 和数据状态查询模型 21 来辅助转换,它们可以通过定义不同的数据阶段和不同类型的操作符从概念上对数据到图像的转换过程进行建模。
数据阶段。从比特、字节到图像,数据的存在形式多种多样。为了从特定环境中提取信息,我们要参照四个基本阶段(请注意区分状态和阶段的不同):
● 数据值。
● 分析概念。
● 可视化概念。
● 图形数据。
通常来说,数据值是一种未经处理的原始数字信息。分析则是为了获得特征充分并且结构完善的数据。这其中包括数据表、细化的层次结构,以及分类或集合等高级成分。可视化是指通过原始的几何图形和相应的可视化特征(如颜色或线条)对数据的可视化外观进行建模。最后,在输出端显示出彩色图形。
如图2.14所示,方框中显示的是不同的数据阶段。圆圈代表执行数据处理的操作。
图2.14 数据环节和图形环节的流程与操作 22
操作员输入信息,加工,然后产生结果。图2.14中的数据环节有两类操作,一类是转换操作,另一类是环节操作。
转换操作是从一个阶段中获取数据,经过加工以后产生另一个阶段的数据。也就是说,输入的数据类型和产生的数据类型在两个不同的阶段是不同的。数据的转换有三个步骤,分别是预处理、图形绘制和渲染处理,它们构成了可视化图形产生的过程。这个过程中,数据环节将加工结果传递到图形环节,并在图中以不同的颜色显示。例如,在分析气象图形时,我们从雷达数据中提取与气流相关的特征(预处理),然后在地形图模型上赋予颜色(图形绘制),最后在立体投影仪上显示结果(渲染处理)。
在环节操作中,如图中下半部分所示,同一环节输入和产生的数据类型相同。该操作不仅负责处理数据,还负责数据清洗和格式转换。在分析处理阶段,还可以对数据进行深加工。例如,通过衡量不同的指标来确定集的质量,或者根据不同层级的具体情况来组织等级架构。可视化处理负责调节图形的表现力,例如,通过布置视觉元素或改变元素数量来改善图形质量。最后,图形处理环节负责图形的优化及输出。这一环节可以通过对图形的某些部分进行模糊处理以减弱其可视性,或者通过增强其他部分的对比度和亮度来突出重点。
经由不同环节的处理,我们现在可以再回顾一下上文提到的设计公式v:D×P→I,这是一个由多个相互关联的处理环节所组成的网络,这些处理环节负责将输入的数据进行加工,然后将其转换成另外一种状态,如图2.15所示。这是一种很适用于设计交互式可视化数据分析方案的网络。
根据前文所述,参数用于调整和控制数据转换。我们无法从示例中直接看出参数,但它们是操作的基本组成部分。所有的操作都有参数。它们可以通过用户界面手动设置,也可以通过输出端的操作自动设置。确定合理的默认参数也是我们在设计环节中需要做的工作。
请注意,这个模型并非只局限于将单个数据输入转换为单个数据输出。在实际应用中,经常会出现多个数据源的情况,每个数据源也都会包含大量数据,因此我们可以利用组合图形的表现方式来增强理解。在图2.15中,可以看出D包含两个数据源,而I也由两个图形组成。
图2.15 将数据从数据值转换为图形的操作流程
至此,我们已经了解了如何将枯燥的数据分析方案转换为交互式可视化数据分析模型。而从第三章到第五章,我们将继续深入讲解可视化设计、人机交互技术和计算程序。现在,让我们把思路从数据转换方面切换到研究如何使用交互式可视化数据分析方案来获得新的信息。
从本质上来说,开发有效的数据分析方案属于一种以人为本的工作,计算机只是负责将数据转换成图形,而最终的结果还是由人类来解读。我们真正关注的是如何通过交互式可视化数据分析来获得信息。这个结果不是突然蹦出来的,而是由各个环节相互配合并且经过各种处理最终得出来的 23 。
我们没办法深入研究人脑的复杂机制,根据现有资料,这些机制尚未完全被破解。但是我们可以研究可视化分析的信息生成模型,它从理论上解释了人和分析方案之间的相互作用 24 。
如图2.16所示,左侧独立的方块即代表分析方案。此处的说明有些抽象,但根据前一节所述,我们已经明白了分析方案是由相互关联的数据参数、处理步骤和图形设计组成。
图2.16 信息生成模型 25
本节我们将重点讨论模型中用户的部分。请看图2.16右侧,用户通过三个回路与分析方案联通。这些回路代表了不同复杂程度下的信息生成。
第一个回路是研究回路,主要目的是用于搜索目标。研究回路的起点从观察已生成的分析方案的输出结果开始。在观察的过程中,系统一旦发现目标信息,就会提示用户执行某些操作。目标信息存在趋势性或重复性,但偶尔也会有某些无效信息触发提示。这里说的操作可以抽象地理解为数据转换过程的调整,包括设计操作流程或改变操作参数。在这个过程中,如果储备了足够多的信息,那么信息就会进入到验证回路中。
第二个回路是验证回路,负责确认分析完毕的数据然后建模。首先解读信息,然后将这些信息转译为适用于目标领域的数据。而要验证的假设也是基于目标领域数据建立起来的。随着积累的信息越来越多,很多新的假设也会随之出现,同时已有的假设就可能会被验证或者推翻,而这取决于能够收集到多少可以被当作佐证的材料。比如可以通过验证计算或者创建图形来检查这些假设是否有效。
第三个回路是信息生成回路,也就是用来生成实质数据的回路。系统经过一系列处理把收集到的信息转换为我们能看得懂的信息。在这一步,需要目标领域的专家来检查信息是否正确,分析结果是否可靠。如果信息出现问题,或者验证结果不理想,那么就要逐步反推,检查每一步处理情况,然后再次进行验证。
研究回路、验证回路和信息生成回路能够让我们清晰地了解如何将可视化的数据转译为准确可靠的信息。而在实际应用中,验证的方式可以自由选择,并不一定要遵循严格的流程。整个分析过程中会不断产生新的信息和问题,所以用户可以在这三个回路中来回切换,根据实际情况酌情处理。比如新信息会催生出新的假设,反过来,推翻已有的假设以后,我们还要再回到研究回路收集信息,然后重新建立新的假设。
通过上述的信息生成模型,我们对交互式可视化数据分析方案背后的流程有了清晰的认识,从设计视角、数据转换视角和信息生成视角三个方面,提供了一个关于建立、实施和使用数据分析方案时人与计算机之间关系的完整流程。本节内容充分表明,开发交互式可视化数据分析方案需要认知科学、可视化技术、人机交互和数据采集等多领域专家共同合作才能取得良好的效果。