第3章 数据
3.1 总览
数据是符号的集合,是表达客观事物的未经加工的原始素材。例如,图形、符号、数字、字母等都是数据的不同形式。数据模型是用来描述数据表达的底层描述模型,它包含数据的定义和类型,以及不同类型数据的操作功能,例如,浮点数类型可以配备加、减、乘、除操作等。与数据模型对应的是概念模型,它对目标事物的状态和行为进行抽象的语义描述,并提供构建、推理支持等操作。例如,一维浮点数可以描述温度概念,三维浮点数向量可以描述空间的风向概念。
数据也可看成是数据对象和其属性的集合,其中属性可被看成是变量、值域、特征或特性,例如,人类头发的颜色、人类体温等。单个数据对象可以由一组属性描述,也被称为记录、点、实例、采样、实体等。属性值可以是表达属性的任意数值或符号,同一类属性可以具有不同的属性值,例如,长度的度量单位可以是英尺或米。不同的属性也可能具有相同的取值和不同的含义,例如,年份和年龄都是整数型数值,而年龄通常有取值区间。
我们身处数据为王的时代。在我们身处的世界中,信息量与日俱增,每天都有大量的数据在我们身边被创建、复制和传输。IDC于2011年发布的一项统计 [IDC2011]表明,在过去5年中,每年全世界数据总量均比前一年翻一番,并且2011年全年世界创建和复制的数据总量已达到1.8ZB(1ZB=109TB)。通常来说,拥有更多的数据意味更多的价值,然而当前的信息处理和分析手段却远落后于数据获取的速度。
在这样的背景下,麦肯锡公司在2011年开始提出“大数据时代”[McKinsey2011]。“大数据”通常指无法在现有能力和工具的支持下,在可接受的时间范围内进行采集、管理和处理的数据,其特征如下 [IBM2012]:
● 海量的数据规模。海量的数据源源不断地产生、存储和消费。随着数据采集方式和存储设备的不断更新,我们所保存的网页数据、电子商务数据、金融交易数据等数据开始快速积累起来。
● 快速的数据流转、动态的数据体系。数据量的增大和数据产生速度的加快决定了在大数据时代我们需要面对快速的数据流转。各种各样的传感器、监控摄像头等数据采集设备给人们带来巨大的采集数据流,每天在因特网上产生和消失的网站及数据也构成了高速变更的数据体系。对于当前人们无法承受的数据流动和变更速度来说,如何存储、管理、分析这些数据成了一个棘手的问题。
● 多样的数据。当前我们能够遇到的大数据通常是没有统一定义的、非结构化数据,这意味着这些数据的存储格式、组织形式以及数据间的关系没有一个统一的数据模型来描述。如何有效地应对以结构化、非结构化数据组成的异构数据体系,是大数据时代处理复杂数据的重要议题之一。
● 巨大的数据价值。数据获取和数据计算设备越来越强大和廉价,这使得以计算的手段从数据中挖掘出应用价值成为可能。例如,网站可以利用用户行为数据为用户提供个性化服务,公司可以基于商业数据开发数据产品作为用户增值服务等。
互联网时代,许多拥有大量客户数据的IT企业和金融企业开始意识到,他们所积累的商业数据能够发挥的作用与日俱增。商业数据分析人员可以基于客户数据发现潜在的市场,或者对顾客行为习惯进行分析以提供更具有针对性的服务。在大数据时代,这些海量数据已经开始成为IT企业的核心竞争力之一。截至2012年6月,Facebook用户数量已达到9.55亿 [CNET2012],每天用户在网站上的活动都会导致海量行为数据的产生,这为人类行为分析提供了契机。Facebook内部的“数据科学小组”已经开展了很多研究活动 [Technology2012],以期从海量人类社会行为数据中寻找到可利用的模式,推动人类对自身行为的认识进程。对于一些B2C网站,大数据的研究和基于数据的产品服务也是企业的重要发展方向之一(见图3.1)。金融服务类机构同样拥有大量客户数据,通过对大数据进行分析、挖掘,银行能够有效地发现金融欺诈行为,而保险公司可以从客户数据中发现潜在的“优质客户”,并分析出适合这些客户的保险产品,进行个性化营销。
在科学研究领域,传统的科学探究模式正在遭受来自大数据的强烈冲击。随着技术的不断推进,诸如卫星上的远程传感器、天空望远镜、生物显微镜以及大规模科学计算模拟等设备和实验都会实时产生出海量数据流(如图3.2所示)。海量科学数据的产生将科学研究推进到一个新的模式,数据在科学探索中开始发挥越来越大的作用。2012年3月,美国国家卫生研究院宣布世界最大的遗传变异研究数据集由Amazon网站提供云服务支持 [IEEE2012],其200TB的人类遗传变异数据将存储于Amazon云端供研究人员进行免费查询和分析。然而,现在科学研究人员遇到了新的挑战,即在拥有大型数据集的同时,他们也需要应对这种数据密度的软件工具和高性能计算资源,以协助进行基于数据的科学研究。
图3.1 淘宝公司的“数据魔方”产品通过对海量商业交易数据的分析和挖掘,使卖家能够查看行业市场发展趋势和市场最新热点。
图片来源:http://data.taobao.com/cubepc
数据在政府管理、国家安全等领域的价值也越来越明显。从2009年起,美国政府通过http://www.data.gov数据网站开始向公众提供各类政府数据。几乎同时,联合国推出了“全球脉动”项目(http://www.unglobalpulse.org/),期望利用大数据促进全球经济发展。例如,采用基于数据的情绪分析方法分析社交网站内容,可以预测某些重要事件的经济发展趋势。同时,国家战略政策方针的制定也开始依赖大数据和数据科学,期望从数据中能够寻找到支持国家决策的有效信息。2012年3月29日,美国白宫科学和技术政策办公室发布了《大数据研究与发展倡议》(Big Data Research and Development Initiative)[WhiteHouse2012],通过实施政府数据集开放化,推动数据和统计课程在教育计划中的比重,以及建立针对某些特定方面数据的持续收集方法等措施,来促进大数据为国家所更好地使用。2015年我国政府发布的《促进大数据发展行动纲要》也提出了“政府数据资源共享开放”、“国家大数据资源统筹发展工程”和“政府治理大数据工程”等专项,填补了我国在国家和政府数据开放、管理和使用方面的政策空白。
图3.2 左:美国田纳西州橡树岭国家实验室John Blondi等生成的超新星模拟数据的可视化。其中,迹线和角加速度等变量的可视化效果清晰地展示了微中子为撕裂恒星的冲击波提供能量的效果。图片来源:[Ma2009];右:MulteeSum是一个用于分析和比较多个基因表达时间序列的可视化系统,其展示的基因表达数据(http://www.ncbi.nlm.nih.gov/geo)记录了数百种生物体的数十亿单独的基因表达数据测量信息。
图片来源:[Meyer2010]
在服务科学蓬勃发展的今天,我们也开始走向“数据即服务(DaaS)”的时代。用户可以随时随地按需求获取数据和信息。海量数据带来了相应的海量数据处理及分析需求。然而,传统方法难以应对海量原始数据的直接处理和分析,在很多情况下数据被淹没于浩瀚的“数据海洋”中,这些被淹没的数据中不乏能够提供有价值信息的数据,因此我们在解决大数据获取、存储等问题的同时,急需一种能够针对大数据进行统计、分析和信息提取的方法。近年来,以数据为研究对象的电子科学、信息科学、语义网络、数据组织与管理、数据分析、数据挖掘和数据可视化等手段,可以有效地提取隐藏在数据中有价值的信息,并且将数据利用率提高到传统方法所不能及的高度,是提炼科学原理、验证科学假设、服务科学探索的新思路。现在,研究这种综合性方法的学科被称为“数据科学”,是21世纪新兴的一门交叉学科。数据科学涵盖了数据管理、计算机科学、统计学、视觉设计、可视化、人机交互,以及基于架构式和信息技术的物理科学。它改变了所有学科个人和协作工作的模式,使得无论是商业还是科学数据分析处理都上升到一个新的“数据驱动”的阶段,帮助数据分析师和科学家解决尺度、复杂度超越已有的所有工具承受范围的全局问题。
Tony Hey、Stewart Tansley和Kristin Tolle主编的著作《第四范式:数据密集型的科学发现》[Hey2009]定义了数据科学的一些基本主题。
● 数据和信息的历史
● 数据、信息、知识概念和最新进展
● 数据与信息科学的学术基础
● 信息学简介
● 科学的数据生命周期
● 数据获取、保存和保护
● 数据集成
● 元数据
● 数据模型和架构
● 数据工具、基于数据的服务范式
● 数据网、网页上的数据、深层网
● 数据工作流管理
● 数据可视化
● 数据发现
● 数据和信息管理
同时,该著作从应用角度出发,提出了当今适合使用数据科学的研究领域,包括地球科学、生物、天文、环境与气候、化学、物理、航空、环境工程、数据图书馆和科学出版、商业、社会学、经济等。
作为数据内涵信息的展示方法和人机交互接口,数据可视化已成为数据科学的核心要素之一。面对海量数据,大多数时候我们很难通过直接观察数据本身,或者对数据进行简单统计分析后得到数据中蕴含的信息。例如,我们无法通过查看海量的服务器日志来判断系统是否遭到攻击威胁,或者简单统计交友网站上所有的好友关系来发掘用户的喜好等。海量的数据通过可视化方法变成形象、生动的图形,有助于人类对数据中的属性、关系进行深入探究,利用人类智慧来挖掘数据中蕴含的信息,从表面杂乱无章的海量数据中探究隐藏的规律,为科学发现、工程开发、医学诊疗和商业决策等提供依据。如图3.3所示,可视化可以作用于数据科学过程中不同的部分,作为一种人机交互手段,贯穿于整个数据过程。后面的章节将详细阐述这些部分及其和可视化的关系。
图3.3 可视化作为人机交互手段,贯穿于整个数据科学过程。
3.2 数据基础
3.2.1 数据分类
数据的分类和信息与知识的分类相关。从关系模型的角度讲,数据可被分为实体和关系两部分。实体是被可视化的对象;关系定义了实体与其他实体之间关系的结构和模式。关系可被显式地定义,也可在可视化过程中逐步挖掘。实体或关系可以配备属性,例如,一个苹果的颜色可以看作它的属性。实体、关系和属性在数据库设计中被广泛使用,形成关系型数据库的基础。
实体关系模型能描述数据之间的结构,但不考虑基于实体、关系和属性的操作。常规的数据操作包括:数值计算;数据列表的插入、融合与删除;取反;生成新的实体或关系;实体的变换;从其他对象中形成新对象;单个实体拆分成组件。
数据属性可分为离散属性和连续属性。离散属性的取值来自有限或可数的集合,例如邮政编码、等级、文档单词等;连续属性则对应于实数域,例如温度、高度和湿度等。在测量和计算机表示时,实数表示的精度受限于所采用的数值精度(例如,双精度浮点数采用64位)。
针对这些基本数据类型的交互方法主要有:概括、缩放、过滤、查看细节、关联、查看历史和提取等 [Shneiderman1996],详见第12章。这些基本任务构成了可视语言设计的基础。
3.2.2 数据集
数据集是数据的实例。常见的数据集的表达形式有三类。
数据记录集
数据记录由一组包含固定属性值的数据元素组成。数据记录主要有三种形式:数据矩阵、文档向量表示和事务处理数据。
如果数据对象具有一组固定的数值属性,则数据对象可视为高维空间的点集,每个维度对应单个属性。这种数据集可以直接表达为一个m×n的矩阵。其中,矩阵的每行代表一个对象,每列代表单个属性在数据集中的分布。这种表示方法称为数据矩阵。数据矩阵通常被组织为表格形式。
文档是单词的集合。如果统计文档中所有单词出现的频率,则一个文档可以被表示为一个向量,其长度是单词集的个数,每个分量记录单词集中每个单词在该文档中的频率。
事物处理数据是一类特殊的数据记录,每条记录都包含一组数据项。例如,一组超市购物的事物处理数据是(西瓜,梨子,苹果)、(洗发水,苹果,核桃,香蕉)、(香烟,西瓜,口香糖,笔记本,脸盆)。事物处理数据与数据矩阵的差别在于,事物处理数据的每条记录包含的个数和属性不固定,因此无法用矩阵这种大小确定的方式进行表达。
图数据集
图是一种非结构化的数据结构,由一组节点和一组连接两个节点之间的加权边组成。常见的图数据有表达城市之间航空路线的世界航线图、万维网链接图、化学分子式等。树是一种没有回路的连通图,是任意两个顶点间有且只有一条路径的图。第8章将详细阐述图数据的可视化。
有序数据集
有序数据是具有某种顺序的数据集 [Chatfield1989]。常见的数据集包括空间数据、时间数据、时空数据、顺序数据和基因测序数据等。
在某些场合(如科学可视化),数据可以根据数据的维度进行分类:标量(一维点)、向量(多维点)、张量(矩阵)等。
3.2.3 数据相似度与密度
相似度(Similarity)是衡量多个数据对象之间相似的数值,通常位于0和1之间。与之对应的测度是相异度(Dissimilarity),其下限是0,上限与数据集有关,可能超过1。邻近度是相似度和相异度的统一描述。
计算相似度有很多种方法,一些常用的距离和相似度定义有 [Cha2007]:
● 欧几里得距离。
● 明科夫斯基距离(欧几里得距离的推广)。
● 余弦距离。
● Jaccard相似度。
如果数据对象的属性具有多种类型,则可为每个属性计算相似度,再进行加权平均。
在基于密度的数据聚类时,需要衡量数据的密度,通常定义有三类:
● 欧几里得密度(单位区域内的点的数目)。
● 概率密度。
● 基于图结构的密度。
在第一类中,最简单的方法是将区域分成等分,统计每个部分所包含的点的数目。另一种基于中心的欧几里得密度定义为该点固定尺寸邻域内的点的数目。
3.3 数据获取、清洗和预处理
3.3.1 数据获取
大数据时代的特点之一是数据开始变得廉价,即收集数据的途径多种多样,成本相对低廉。通常来说,数据获取的手段有实验测量、计算机仿真与网络数据传输等。传统的数据获取方式以文件输入/输出为主。在移动互联网时代,基于网络的多源数据交换占据主流。数据获取的挑战主要有数据格式变换和异构异质数据的获取协议两部分。数据的多样性导致不同的数据语义表述,这些差异来自不同的安全要求、不同的用户类型、不同的数据格式、不同的数据来源。
数据获取协议(Data Access Protocol,DAP)作为一种通用的数据获取标准,在科研领域应用比较广泛。该协议通过定义基于网络的数据获取句法,以完善数据交换机制,维护、发展和提升数据获取效率。理论上,数据获取协议是一个中立的、不受限于任何规则的协议,它提供跨越规则的句法的互操作性,允许规则内的语义互操作性。数据获取协议以文件为基础,提供数据格式、位置和数据组织的透明度,并以纯Web化的方式与网格FTP/FTP、HTTP、SRB(Source Route Bridging,源路由网桥)、开放地理空间联盟(如WCS,WMS,WFS)、天文学(如SIAP,SSAP,STAP)等协议兼容。经过数年发展,第二代数据获取协议DAP2已提供了一个与领域无关的网络数据获取协议,业已成为NASA/ESE标准,最新的DAP4提供了更多的数据类型和传输功能,以适用更广泛的环境,直接满足用户要求。OPeNDAP(http://www.opendap.org)是一个研发数据获取协议的组织,它提供了一个同名的科学数据联网的简要框架,允许以本地数据格式快速地获取任意格式远程数据的机制。协议中相关的系统要素包括客户端、浏览器界面、数据集成、服务器等。
除此之外,互联网上存在大量免费的数据资源,这些资源通常由网站进行维护,并开放专门的API使用户得以访问。Google作为全世界最大的互联网公司之一,提供了许多用于免费数据获取的API,例如,用于获取高级定制搜索结果的Google Custom Search,以及用于获取地理坐标信息的Google Geocoding API等。Twitter和Facebook等社交网站也开放了数据获取API,用于获取社交网络相关信息。Data Source Handbook一书 [Warden2011]介绍了很多类型的开放API,其数据类型包括网页、用户信息、搜索关键字、地理信息,以及书籍、音乐等商品信息。
3.3.2 数据清洗
数据质量是数据采集后所需考虑的第一个问题。对于海量数据来说,未经处理的原始数据中包含大量的无效数据,这些数据在到达存储过程之前就应该被过滤掉。在原始数据中,常见的数据质量问题包括:噪声和离群值、数值缺失、数值重复等。解决这些问题的方法称为数据清洗(Data Cleaning)。
● 噪声指对真实数据的修改;离群值指与大多数数据偏离较大的数据。
● 数值缺失的主要原因包括:信息未被记录;某些属性不适用于所有实例。处理数据缺失的方法有:删除数据对象;插值计算缺失值;在分析时忽略缺失值;用概率模型估算缺失值等。非结构化数据通常存在低质量数据项(如从网页和传感器网络获取的数据),构成了数据清洗和数据可视化的新挑战。
● 数值重复的主要来源是异构数据源的合并,可采用数据清洗方法消除。
处理数据丢失和重复记录仅是数据清洗的一部分。其他操作还包括:运用汇总统计删除、分辨或者修订错误或不精确的数据;调整数据格式和测量单位;数据标准化与归一化等。另一方面,实际采集的数据经常包含错误和自相矛盾的内容,而且实验、模拟和信息分析过程不可避免地存在误差,从而对分析结果产生很大的影响。通常这类问题可以归结为不确定性。不确定性有两方面内涵,包括各数据点自身存在的不确定性,以及数据点属性值的不确定性。前者可用概率描述,后者有多种描述方式,如描述属性值的概率密度函数,以方差为代表的统计值等。由于不确定性数据与确定性数据存在显著差异,所以针对不确定性数据需要采取特殊的数据建模、分析和可视化方法。
表3.1中列出了数据清洗最终需要达到的目标,包括有效性、准确性、可信性、一致性、完整性和时效性六个方面。在数据清洗步骤完成后,该表可作为数据清洗效果的检查表,对已进行的清洗过程进行评估。
表3.1 数据清洗效果检查表
可视化作为一种有效的展示手段和交互手段,在数据清洗中发挥了巨大的作用。有人提出33种脏数据类型,并且强调其中的25种在清理时需要人的交互。这意味着多种脏数据在清理时可使用交互式可视化方法来提高数据清理效率,如图3.4所示。
图3.4 可视数据清理实例。左上:某图结构的节点-连接布局;右上:该图结构的矩阵布局。将矩阵视图的行列进行重排后,可发现矩阵右下部分的数据缺失。
图片来源:[Kandel2011]
目前一些商业工具提供了交互式可视化界面,来辅助用户完成数据清洗工作。OpenRefine(前身为Google Refine)使用交互式编辑和简单脚本方式来完成数据编辑、转换和问题值处理等功能,如图3.5所示。Trifacta公司的Wrangler工具通过展示数据的统计图表,来支持用户执行数据初探操作,渐进式地发现数据中包含的问题和缺陷,并提供了一系列数据编辑工具来进行清洗操作,如图3-6所示。
图3.5 OpenRefine以数据表格为主要展示方式,配以交互式和脚本式数据编辑操作,来支持用户的数据清洗任务。
图3.6 Trifacta Wrangler系统界面。左侧使用数据表格和直方图形式展示数据原貌;右侧面板提供了一系列推荐的数据编辑和清洗操作。
图片来源:https://www.trifacta.com/start-wrangling/
3.3.3 数据精简
由高维性带来的维度灾难、数据的稀疏性和特征的多尺度性是大数据时代中数据所特有的性质。直接对海量高维的数据集进行可视化通常会产生杂乱无章的结果,这种现象被称为视觉混乱。为了能够在有限的显示空间内表达比显示空间尺寸大得多的数据,我们需要进行数据精简。在数据存储、分析层面进行的数据精简能降低数据复杂度,减少数据点数目并同时保留数据中的内涵特征,从而减少查询和处理时的资源开销,提高查询的响应性能。经典的数据精简包括前面章节中描述的方法,如统计分析、采样、直方图、聚类和降维,也可采用各类数据特征抽取方法,如奇异值分解、局部微分算子、离散小波变换等。图3.7展示了采用降维方法简化用户交互的方法。在数据仓库或联机分析处理系统应用中,数据精简可用于提升大规模数据查询和管理的交互性。由于分析和推理只需要定性的结果,所以可采用近似解提高针对大数据的精简效率。
图3.7 将从弥散张量成像数据中抽取的人脑纤维看成高维空间的点(左),定义相似性,并采用多维尺度分析算法,将纤维集投影到二维空间(右),允许用户快速地选择、操纵和观察三维纤维丛的结构和分布。
图片来源:[Chen2009]
面向大数据的交互可视化对数据组织和管理提出了更高的要求。实施计算机图形学发展的一些理念经常被应用在交互式数据可视化应用上,如可伸缩的数据结构和算法、层次化数据管理和多尺度表达等。在选择恰当的数据精简方法时,使用者必须对时机、对象、使用策略和视觉质量评估等因素进行综合考察,这些考察项目不仅仅针对数据管理、数据可视化等学科,还往往涉及认知心理学、用户测试、视觉设计等相关学科。以是否使用可视化为标准,数据精简方法可分为两类。
● 使用质量指标优化非视觉因素,如时间、空间等。
● 使用质量指标优化数据可视化,称为可视数据精简。
可视数据精简需要自动分析数据以便选择和衡量数据的不同特征,如关联性、布局和密度。这些量度指导和评估数据精简的过程,向用户呈现优化的可视化结果。常用的可视化质量指标包括尺寸、视觉有效性和特征保留度。尺寸是可量化的量度,如数据点的数量,构成了其他计算的基础。视觉有效性用于衡量图像退化(如冲突、模糊)或可视布局的美学愉悦程度。常见方法有数据密度和数据油墨比 [Tufte1983]等特征(见图3.8)。特征保留度是评估可视化质量的核心,它衡量可视化结果在数据、可视化和认知方面正确展现数据特性的程度。
图3.8 数据油墨比是Edward Tufte提出的一个数据可视化质量评估标准,它被定义为用于展现数据的像素数目与全部油墨像素数目的比值。左图(http://www.tbray.org/ongoing/dataink/di1)显示的数据油墨比远低于右图(http://www.tbray.org/ongoing/data-ink/di5)。
3.3.4 其他常用的数据预处理步骤
在解决质量问题后,通常需要对数据集进行进一步的处理操作,以符合后续数据分析步骤要求。这一类操作通常被归为数据预处理步骤。常用的预处理操作有:
合并
将两个以上的属性或对象合并为一个属性或对象。合并操作的效用包括:有效简化数据;改变数据尺度(例如,从乡村起逐级合并,形成城镇、地区、州、国家等);减少数据的方差。
采样
采样是统计学的基本方法,也是对数据进行选择的主要手段,在对数据的初步探索和最后的数据分析环节经常被采用。统计学家实施采样操作的根本原因是获取或处理全部数据集的代价太高,或者时间开销无法接受。如果采样结果大致具备原始数据的特征,那么这个采样是具有代表性的。最简单的随机采样可以按某种分布随机从数据集中等概率地选择数据项。当某个数据项被选中后,它可以继续保留在采样对象中,也可以在后继采样过程中被剔除。在前一种模式中,同一个数据项可能被多次选中。采样也可分层次进行:先将数据全集分为多份,然后在每份中随机采样。
降维
维度越高,数据集在高维空间的分布越稀疏,从而减弱了数据集的密度和距离的定义对于数据聚类和离群值检测等操作的影响。将数据属性的维度降低,有助于解决维度灾难,减少数据处理的时间和内存消耗;可以更为有效地可视化数据;降低噪声或消除无关特征等。降维是数据挖掘的核心研究内容,常规的做法有主元分析、奇异值分解、局部结构保持的LLP、ISOMAP等方法。
特征子集选择
从数据集中选择部分数据属性值可以消除冗余的特征、与任务无关的特征。特征子集选择可达到降维的效果,但不破坏原始的数据属性结构。特征子集选择的方法包括:暴力枚举法、特征重要性选择、压缩感知理论的稀疏表达方法等。
特征生成
特征生成可以在原始数据集基础上构建新的能反映数据集重要信息的属性。三种常用的方法是:特征抽取、将数据应用到新空间、基于特征融合与特征变换的特征构造。
离散化与二值化
将数据集根据其分布划分为若干个子类,形成对数据集的离散表达,称为离散化。将数据值映射为二值区间,是数据处理中的常见做法。将数据区间映射到[0,1]区间的方法称为归一化。
属性变换
将某个属性的所有可能值一一映射到另一个空间的做法称为属性变换,如指数变换、取绝对值等。标准化与归一化是两类特殊的属性变换,其中标准化将数据区间变换到某个统一的区间范围,归一化则变换到[0,1]区间。
3.4 数据组织与管理
大数据时代随着信息量的飞速增长,我们也不得不面对“无关、错误的信息随之增长”这样一个事实。从数据获取、存储直到最后的分析、可视化,其中很多因素都会造成无关、错误数据的产生和引入,例如,使用不同的数据源可能会直接引入重复或无关的数据;数据处理阶段没有很好地将无关、错误的数据过滤出来;由于资源限制而无法进行海量数据的过滤清理等。因此,我们需要对这些过程进行自动控制,使得数据能够进行有效的组织,进而能够存储起来供后续分析使用。
数据管理包括对数据进行有效的收集、存储、处理和应用的过程。在面向复杂数据的数据可视化过程中,还涉及面向应用的数据管理,它的管理对象是数据生命周期所涉及的应用过程中描述构成应用系统构件属性的元数据,包括流程、文件、数据元、代码、规则、脚本、档案、模型、指标、物理表、ETL、运行状态等。
通常数据按照一定的组织形式和规则进行存储和处理,以实现有效的数据管理。从逻辑上看,数据组织具有一个层层相连的层次体系:位、字符、数据元、记录、文件、数据库。其中,记录是逻辑上相关的数据元组合;文件是逻辑上相关的记录集合;数据库是一种作为计算机系统资源共享的数据集合。与数据可视化有关的常用数据组织和管理形式如下:
文件存储
最简单的数据组织管理形式是文件。在数据库管理系统(DBMS)出现以前,人们通常以文件作为数据输入和输出的形式。然而,以文件作为数据存储形式有相当多的弊端,例如,数据可能出现冗余、不一致,数据访问烦琐,难以添加数据约束,安全性不高等问题。然而作为一种高度灵活的数据存储形式,它允许使用者非常自由地进行数据处理而不受过多的约束。
电子表单(Spreadsheet)是多功能的数据组织形式,被广泛使用于办公自动化、商业和自然科学领域的数据组织与管理中,几乎所有的办公软件(如Microsoft Excel、Tableau等)都支持标准电子表单文件的导入和导出。电子表单文件的变种,如逗号分隔值(CSV)文件格式,也已经被大量的数据交换程序支持。电子表单格式的主要缺点是缺少类型和元数据,因而在使用时需要预先给出对每个数据项的语义解释。
结构化文件格式
为方便通用型数据存储和交换,数据导向型的应用程序采用标记语言格式将数据进行结构化组织,XML(Extensible Markup Language,可扩展标记语言)是其中的典型代表。除此之外,一些科学领域使用特定的结构化文件记录数据,以满足特殊领域知识的表达高性能处理的需求。例如,VOTable是一种由国际虚拟天文台联盟(IVOA)团队制定的XML数据格式,统一了记录天文星表等表列数据的格式;NetCDF(网络通用数据格式)是由美国大学大气研究协会针对科学数据的特点开发的面向数组型并适合于网络共享的数据的描述和编码标准,被广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域;HDF(层次型数据结构)是由美国国家超级计算应用中心创建、以满足不同群体的科学家对不同工程项目领域之需的多对象文件格式。这些科学数据格式充分考虑了实验或测量数据的性能需求,适用于高分辨率、高通量的传感器数据。
数据库
数据组织的高级形式是数据库,即存储在计算设备内、有组织的、共享的、统一管理的数据集合。数据库中保存的数据结构既描述了数据间的内在联系,便于数据增加、更新与删除,也保证了数据的独立性、可靠性、安全性与完整性,提高了数据共享程度和数据管理效率。关系数据库模型是当前数据库系统最为常用的数据模型。
下文将按数据存储和处理的顺序描述与数据可视化最相关的数据组织与管理方法。
3.4.1 数据整合与集成
对于来自不同数据源的数据来说,它们具有高度异构的特点:不同的数据模型、不同的数据类型、不同的命名方法、不同的数据单元等,例如来自不同国家气象检测站的气象数据,或不同企业的客户数据等。当需要对这些异构数据的集合进行处理时,首先需要有效的数据集成方法对这些数据进行整合。数据整合指将不同数据源的数据进行采集、清洗、精简和转换后统一融合在一个数据集合中,并提供统一数据视图的数据集成方式,如图3.9所示。
图3.9[Cammarano2007]提出了一种针对异构数据的可视化方案,该方案使用一种数据源无关的数据可视化描述方法,使得能够在给定的可视化视图上自动展现适合于视图的数据。
图片来源:http://graphics.stanford.edu/papers/vishetero
一般来说,数据整合的常用方式有以下两种。
● 物化式(见图3.10左图):查询之前,涉及的数据块被实际交换和存储到同一物理位置(如数据仓库等)。物化式数据整合需要对数据进行物理移动,即从源数据库移动到其他位置。
● 虚拟式(见图3.10右图):数据并没有从数据源中移出,而是在不同的数据源之上增加转换策略,并构建一个虚拟层,以提供统一的数据访问接口。虚拟式数据整合通常使用中间件技术,在中间件提供的虚拟数据层之上定义数据映射关系。同时,虚拟层还负责将不同数据源的数据在语义上进行融合,即在查询时做到语义一致。例如,不同公司的销售数据中“利润”的表达各有不同,在虚拟层中需要提供处理机制,将不同的“利润”数据转化为同一种含义,供用户进行查询使用。
图3.10 左:物化式整合;右:虚拟式整合。
数据整合的需求来源于多个方面,从数据获取的角度看,数据获取的不精确、大范围的不协调数据采集策略、商业竞争和存储空间限制等都是进行多数据源数据整合的原因。在实际的数据可视化应用中,来自不同数据源的数据可能具有不同的质量,这也是面向不同质量数据的整合方法的动机。
交互分析和可视数据要求数据整合采用集中式、虚拟式的模式。基本解决方案是采用工具或中间件进行数据源包装和数据库联合,提供通用模型用于交换异构数据和实现物理层透明,同时处理异构性,保存数据源的自主性及保证可扩展性。更好的方式是基于计算查询理念的语义整合,利用应用领域的概念视图而不是数据源的普通描述以提供概念数据的透明性。
数据集成指数据库应用中结合不同资源的数据并为用户提供数据集合的统一访问,其涵盖范围要比数据整合广。此外,数据整合与数据联邦(Data Federation)也有所区别:数据整合关注对众多独立和异构的数据源提供统一和透明的访问,使得原本无法被单数据源支持的查询表达获得支持,因此需要一个实际的物理数据源作为统一数据视图的数据来源;数据联邦则提供了一种逻辑上统一、实际物理位置分布在多个数据源中的数据的集成。
3.4.2 数据库与数据仓库
在当今以数据为基础的服务中,数据库作为信息存储应用已经成为其基础部分。对于能够获取到的信息,需要一种强大的、灵活的管理系统和理论有效地组织、存储和管理大量的数据,以进一步发挥这些数据的价值。在这样的背景下,数据库和数据库管理系统应运而生,担当起数据组织和存储的角色。
数据库是数据的集合,并且同时包含对数据的相关组织和操作。数据库管理系统是用来帮助维护大量数据集合的软件系统,用来满足对数据库进行存储、管理、维护以及提供查询、分析等服务的需要。通常来说,数据库管理系统需要考虑以下几方面的因素。
● 数据库模型设计。
● 数据分析支持。
● 并发和容错。
● 速度和存储容量。
数据库结构的基础是数据模型,它是数据描述、数据联系、数据域以及一致性约束的集合 [Silberschatz2005]。现有的数据模型主要有基于对象和基于记录的逻辑模型。
● E-R模型是一种著名的基于对象的逻辑模型,它根据现实世界中的实体及实体间的关系对数据进行抽象构建。
● 关系模型作为一种最常见的基于记录的逻辑模型,广泛应用在当前各种关系型数据库系统中。它借助于关系代数等数学概念和方法来处理数据库中的数据,由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系型数据库是建立在关系模型基础上的数据库。在关系数据模型中,数据以表格的形式表现,数据之间的联系由属性值而不是显式的链接来表达,这一特性以及SQL所带来的访问灵活性促使关系模型快速地取代了旧有的数据模型。当前主流的关系型数据库有IBM DB2、Oracle、Microsoft SQL Server、MySQL等。标准查询语言(SQL)是关系型数据库的结构化查询语言,它提供了对关系型数据库中的表记录进行查询、操纵的功能。
现代的关系数据库管理系统(RDBMS)对数据结构和数据内容提供了明确的分离,允许用户通过控制和管理的方式来访问数据,同时采用稳定的方法来处理安全性和数据一致性。它通过将数据管理设计成符合原子性(Atomic)、一致性(Consistent)、隔离性(Isolated)和持久性(Durable)的事务(事务的ACID特性),确保上述数据管理要求的实现,并使分布在计算机网络不同地点的数据库(Distributed RDBMS)的并发数据访问和数据恢复得到支持。通过使用SQL语句,数据库向用户隐藏了具体的分布细节而提供了统一的数据访问接口。针对查询优化和数据索引发展的大量理论和实践研究增强了关系型数据库处理海量数据集的能力。
关系型数据库系统已经被许多领域作为数据存储管理基础所使用。然而,对于数据可视化应用和其他一些数据应用,关系型数据库存在一些缺陷。
● 交互式数据可视化应用通常需要将数据存储于内存,以保证足够的性能(通常需要亚秒级的响应时间)。除了一些内存数据库,普通的关系型数据库在数据量较大的情况下难以满足可视化交互的高性能要求。
● SQL支持的数据类型是存储导向而不是语义导向的。因此,对复杂关系数据进行处理和可视化时,使用者需要在数据库中添加更多的数据描述来表达记录间的语义关联,然而这样做会增加数据库设计的复杂度以及存储、查询开销。
● 关系型数据库中的事件通知通常用触发器机制实现。这种低效的通知机制难以满足数据可视化的实时性要求。
在数据爆炸时代,相对于传统的结构化数据(表格记录、关系记录等)来说,新增加的大部分数据类型都是在自然和社会环境中产生的,这些数据类型并不具有结构化特征,即它们很难以行数据的形式存储在结构化二维逻辑表中。这些数据包括:文本、超文本(HTML)、标记语言数据(XML及其变种)、视频、音频等多媒体资源,以及社交媒体内容、数字传感器数据等。虽然非结构化数据在数据库领域尚处于新兴研究方向,并且比较难以处理,但这种非结构化数据却占据着大数据时代的主流地位。远至几千年前的埃及象形文字,近到社交网站中的用户关系,都属于非结构化数据家族中的一员。这些非结构化数据通常难以直接归入传统的数据库,从而使面向结构化数据的关系型数据库的局限性越来越明显。为此,基于非结构化数据的应用需要一种在数据存储、管理层面上的通用解决方案,即非结构化数据库。非结构化数据库指字段长度可变,每个字段的记录可由可重复或不可重复的子字段构成的数据库。它可管理非结构化数据(如文本、图像、视频和音频等),同时也提供面向传统结构化数据(如数值)的管理。
从应用目标的角度看,数据库系统同时还可以提供对所存储的数据进行分析,继而进行决策支持的功能。分析型数据库是面向分析应用的数据库系统,主要提供数据的在线统计、在线分析、即时查询等操作。为了提高针对复杂数据的分析效率,分析型数据库采用了基于列的方式。例如,PipelineDB可用于存储流数据,并配合Kafka等流数据处理引擎对流数据进行实时处理。通用的事务型数据库MonetDB也采用了基于列的方式索引数据,以满足数据可视化的绝大多数需求。
NoSQL数据库被认为是不同于传统关系型数据库的数据库管理系统的总称,这种数据库能够满足对数据的高并发读写、高效存储和访问、数据库高扩展性和高可用性等需求,为 SNS网站等规模大、并发数高的应用提供了符合其性能标准的解决方案。例如,谷歌公司内部采用特别优化的分布式存储系统BigTable;亚马逊公司开发的Dynamo使用私有的键-值结构的存储系统处理Web服务等。在数据分析方面,NoSQL数据库能为大型数据集的在线分析提供更快、更简单、更专门的服务。时至今日,形形色色的NoSQL数据库系统已能够提供多种不同的服务,包括文档存储(如CouchDB,MongoDB)、面向网络的存储(如Neo4j)、键-值存储(如Redis,Memcached)和混合存储等。
现有一些数据可视化应用开始直接针对关系型数据库进行可视化,并且拥有简单的统计、分析功能。例如,基于表格数据的可视分析系统方案 [Liu2011]将表格数据映射为以节点-连接布局表示的网络结构(见图3.11),并支持表格上的各关系代数运算,将关系代数运算结果以可视化方式展现出来。在NoSQL数据库方面,尚无专门提供给可视化应用的NoSQL数据库产品,在数据可视化方面也暂时没有针对NoSQL进行可视化的方案。
图3.11 美国自然科学基金数据库可视化效果(部分)。其中黄色节点代表基金项目,红色节点代表科研人员,灰色节点代表研究机构。该图结构展示了“研究人员所属机构”和“项目参与人员”两张表结构进行合并后的结果。
图片来源:[Liu2011]
数据仓库指“面向主题的、集成的、与时间相关的、主要用于存储的数据集合,支持管理部门的决策过程”[Han2001],其目的是构建面向分析的集成化数据环境,为分析人员提供决策支持。区别于其他类型的数据存储系统,数据仓库通常有特定的应用方向,并且能够集成多个异构数据源的数据。同时,数据仓库中的数据还具有时变性、非易失性等特点。数据仓库中的数据来源于外部,开放给外部应用,其基本架构是数据流入/流出的过程,该过程可以分为三层——源数据、数据仓库和数据应用。其流水线简称为ETL(抽取Extract、转化Transform、装载Load,见图3.12)。
图3.12 ETL模型。
图片来源:http://en.wikipedia.org/wiki/Extract,_transform,_load
● 抽取阶段从一个或多个数据源中抽取原始数据。
● 转化阶段主要进行数据变换操作,主要有清理、重构、标准化等。
● 装载阶段将转化过的数据按一定的存储格式进行存储。
同时,在ETL过程中的每个组件都要求可重用,以持续地进行数据获取、变换和存储工作,并且能够支持并行操作,提高处理效率。
数据仓库作为利于使用者理解和分析的综合数据资源库,具有一些不同于一般数据库的特点:
● 数据仓库通常围绕某个应用目标、应用领域或使用者所感兴趣的内容制定,包含了一些相关的、由外部产生的数据。
● 数据仓库可以不断更新和增长,这意味着数据可以被源源不断地积累起来,从而允许用户分析数据的趋势变化、模式和相互关系。
● 数据仓库为复杂的决策支持查询进行了大量优化。数据仓库的不同目标和数据模型也同时引发了不同于传统数据库的技术、方法论和方法的各种研究。
● 对于结构化或非结构化数据,数据仓库都能有效地进行处理,并且还能够提供两种数据的整合功能。
3.5 数据分析与挖掘
数据用于记录事实,是实验、测量、仿真、观察、调查等的结果。数据分析指组织有目的地采集数据、详细研究和概括总结数据,从中提取有用信息并形成结论的过程,其目的是从一堆杂乱无章的数据中集中、萃取和提炼出信息,探索数据对象的内在规律。概念上,数据分析的任务分解为定位、识别、区分、分类、聚类、分布、排列、比较、内外连接比较、关联、关系等活动。基于数据可视化的分析任务则包括识别、决定、可视化、比较、推理、配置和定位。基于数据的决策则可分解为确定目标、评价可供选择方案、选择目标方案、执行方案等。从统计应用上讲,数据分析可以被分成描述性统计分析、探索式数据分析和验证性数据分析三类。
数据分析从统计学中发展而来,在各行业中体现出极大的价值。具有代表性的数据分析方向有统计分析、探索式数据分析、验证性数据分析等,其中探索式数据分析主要强调从数据中寻找出之前没有发现过的特征和信息,验证性数据分析则强调通过分析数据来验证或证伪已提出的假说。统计分析中的传统数据分析工具包括:排列图、因果图、分层法、调查表、散布图、直方图、控制图等 [Cleveland1985]。面向复杂关系和任务,又发展了新的分析手段,如关联图、系统图、矩阵图、计划评审技术、矩阵数据图等。流行的统计分析软件如R、SPSS、SAS,支持大量的统计分析方法。
数据分析与自然语言处理、数值计算、认知科学、计算机视觉等结合,衍生出不同种类的分析方法和相应的分析软件。例如,科学计算领域的MATLAB,机器学习领域的Weka,自然语言处理领域的SPSS/Text、SAS Text Miner,计算机视觉领域的OpenCV,图像处理领域的Khoros、IRIS Explorer等。
从流程上看,数据分析以数据为输入,处理完毕后提炼出对数据的理解。因此,在整个数据工作流中,数据分析建立在数据组织和管理基础上,通过通信机制和其他应用程序连接,并采用数据可视化方法呈现数据分析的中间结果或最终结论。面向大型或复杂的异构数据集,数据分析的挑战是结合数据组织和管理的特点,考虑数据可视化的交互性和操控性要求需求。一方面,部分数据分析方法采取增量式的策略,但不提供给用户任何中间结果,阻碍了用户对数据分析中间结果的理解和对分析过程的干预。解决方案之一是设计标准化协议。例如,微软公司定义了用于分析XML的协议,其核心是数据挖掘模型(Data Mining Model)和可预测模型标记语言(PMML)。另一方面,用户对部分数据分析结果或可视化结果可能会进行微调、定位、选取等操作,这需要数据分析方法针对细微调节快速修正。
数据挖掘被认为是一种专门的数据分析方式,与传统的数据分析(如统计分析、联机分析处理)方法的本质区别是前者在没有明确假设的前提下去挖掘知识,所得到的信息具有未知、有效和实用三个特征 [Fayyad1996],并且数据挖掘的任务往往是预测性的而非传统的描述性任务。数据挖掘的输入可以是数据库或数据仓库,或者是其他的数据源类型,例如网页、文本、图像、视频、音频等。
联机分析处理是面向分析决策的方法。传统的数据库查询和统计分析工具负责提供数据库中的内容信息,而联机分析处理则提供基于数据的假设验证方法。这个过程是一个演绎推理的过程。与之相反的是,数据挖掘并不验证某个假定的模型的正确性,而是从数据中计算未知的模型,因此本质上是一个归纳的过程,通过构建模型对未来进行预测。
数据挖掘和联机分析处理都致力于模式发现和预测,具有一定的互补性。当然,数据挖掘并不能替代传统的统计分析和探索式数据分析技术。在实际应用中,需要针对不同的问题类型采用不同的方法。特别需要指出的是,将数据可视化作为一种可视思考策略和解决方法,可以有效地提高统计分析、探索式数据分析、数据挖掘和联机分析处理的效率。
3.5.1 探索式数据分析
统计学家最早意识到数据的价值,提出一系列数据分析方法用于理解数据特性。数据分析不仅有助于用户选择正确的预处理和处理工具,还可以提高用户识别复杂数据特征的能力。探索式数据分析是统计学和数据分析结合的产物。著名的统计学家、信息可视化先驱John Tukey在其著作Exploratory Data Analysis[Tukey1977]中,将探索式数据分析定义为一种以数据可视化为主的数据分析方法,其主要目的包括:洞悉数据的原理;发现潜在的数据结构;抽取重要变量;检测离群值和异常值;测试假设;发展数据精简模型;确定优化因子设置等 [NIST]。
探索式数据分析(Exploratory Data Analysis)是一种有别于统计分析的新思路,不等同于以统计数据可视化为主的统计图形方法 [Cleveland1993]。传统的统计分析关注模型,即估计模型的参数,从模型生成预测值。大多数探索式数据分析关注数据本身,包括结构、离群值、异常值和数据导出的模型。
从数据处理的流程上看,探索式数据分析和统计分析、贝叶斯分析也有很大不同。统计分析的流程是:问题,数据,模型,分析,结论;探索式数据分析的流程是:问题,数据,分析,模型,结论;贝叶斯分析的流程则是:问题,数据,模型,先验分布,分析,结论。
探索式数据分析与数据挖掘也有很大差别。前者将聚类和异常检测看成探索式过程,而后者则关注模型的选择和参数的调节。关于探索式数据分析中的标准统计可视化方法,参见第4章。
3.5.2 联机分析处理
联机分析处理(OLAP)是一种交互式探索大规模多维数据集的方法。关系型数据库将数据表示为表格中的行数据,而联机分析处理则关注统计学意义上的多维数组。将表单数据转换为多维数组需要两个步骤。首先,确定作为多维数组索引项的属性集合,以及作为多维数组数据项的属性。作为索引项的属性必须具有离散值,而对应数据项的属性通常是一个数值。然后,根据确定的索引项生成多维数组表示。
联机分析处理的核心表达是多维数据模型。这种多维数据模型又可表达为数据立方,相当于多维数组。数据立方是数据的一个容许各种聚合操作的多维表示。例如,某数据集记录了一组产品在不同日期、不同地点的销售情况,这个数据集可看成三维(日期,地点,产品)数组,数组的每个单元记录的是销售数量。针对这个数据立方,可以实行三种二维聚合(三个维度聚合为两个维度)、三种一维聚合(三个维度聚合为一个维度)、一种零维聚合(计算所有数据项的总和)。
数据立方可用于记录包含数十个维度、数百万数据项的数据集,并允许在其基础上构建维度的层次结构。通过对数据立方不同维度的聚合、检索和数值计算等操作,可完成对数据集不同角度的理解。由于数据立方的高维性和大尺度,联机分析处理的挑战是设计高度交互性的方法。一种方案是预计算并存储不同层级的聚合值,以便减小数据尺度;另一种方案是从系统的可用性出发,将任一时刻的处理对象限制于部分数据维度,从而减少处理的数据内容。
联机分析处理被广泛看成一种支持策略分析和决策制定过程的方法,与数据仓库、数据挖掘和数据可视化的目标有很强的相关性。它的基本操作分为两类(见图3.13)。
图3.13 数据立方体操作的概念性可视化表示,包括:上卷、切片和切块。
● 切片和切块(Slicing and Dicing)——切片(Slicing)指从数据立方中选择在一个或多个维度上具有给定的属性值的数据项。切块(Dicing)指从数据立方中选择属性值位于某个给定范围的数据子集。两个操作都等价于在整个数组中选取子集。
● 汇总和钻取(Roll-up and Drill-down)——属性值通常具有某种层次结构。例如,日期包括年、月、星期等信息;位置包括洲、国家、省和城市等;产品可以分为多层子类。这些类别通常嵌套成一个树状或网状结构。因此,可以通过向上汇总或向下钻取的方法获取数据在不同层次属性的数据值。
联机分析处理是交互式统计分析的高级形式。面向复杂数据,联机分析处理方法的发展趋势是融合数据可视化与数据挖掘方法,转变为数据的在线可视分析方法。例如,联机分析处理将数据聚合后的结果存储在另一张维度更低的数据表单中,并对该数据表单进行排序以便呈现数据的规律。这种聚合-排序-布局的思路允许用户结合数据可视化的方法(如时序图、散点图、地图、树图和矩阵等)理解高维的数据立方表示。特别地,当需要分析的数据集的维度高达数十维时,采用联机分析处理手工分析力不从心,数据可视化则可以快速地降低数据复杂度,提升分析效率和准确度。
Polaris(见图3.14)是由斯坦福大学开发的用于分析多维数据立方的可视化工具,它针对基于表格的数据进行可视化及分析,可以认为是对表格数据(诸如电子表格数据、关系型数据库数据等)的一种可视化扩展。它继承了经典的数据表单的基本思想,在表格各单元中使用嵌入式的可视化元素替代数值和文本。当前系统支持各类统计可视化方法,如柱状图、饼图、甘特图、趋势线等。Polaris的商业版本Tableau已经取得极大的成功。
图3.14 Polaris系统界面。
图片来源:http://www.graphics.stanford.edu/projects/polaris/
3.5.3 数据挖掘
数据挖掘指设计特定算法,从大量的数据集中去探索发现知识或者模式的理论和方法,是知识工程学科中知识发现的关键步骤。面向不同的数据类型可以设计特定的数据挖掘方法,如数值型数据、文本数据、关系型数据、流数据、网页数据和多媒体数据等。
数据挖掘的定义有多种。直观的定义是通过自动或半自动的方法探索与分析数据,从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、潜在有用的信息和知识的过程 [Fayyad1997]。数据挖掘不是数据查询或网页搜索,它融合了统计、数据库、人工智能、模式识别和机器学习理论中的思路,特别关注异常数据、高维数据、异构和异地数据的处理等挑战性问题。
基本的数据挖掘任务分为两类:基于某些变量预测其他变量的未来值,即预测性方法(例如分类、回归);以人类可解释的模式描述数据(如聚类、模式挖掘、关联规则发现)。在预测性方法中,对数据进行分析的结论可构建全局模型,并且将这种全局模型应用于观察值可预测目标属性的值。而描述性任务的目标是使用能反映隐含关系和特征的局部模式,以对数据进行总结。
直观地说,数据挖掘指从大量数据中识别有效的、新颖的、潜在有用的、最终可理解的规律和知识。而可视化将数据以形象直观的方式展现,让用户以视觉理解的方式获取数据中蕴含的信息。两者的对比见图3.15。
图3.15 数据挖掘与信息可视化的流程对比。
数据挖掘的主要方法如下。
分类(预测性方法)
给定一组数据记录(训练集),每个记录包含一组标注其类别的属性。分类算法需要从训练集中获得一个关于类别和其他属性值之间关系的模型,继而在测试集上应用该模型,确定模型的精度。通常,一个待处理的数据集可分为训练集和测试集两个部分,前者用于构建模型,后者用于验证。图3.16展示了利用决策树进行数据分类的过程。
图3.16 客户经理可以使用决策树对含有多维属性的用户数据进行分类,用来筛选出用户群中的高端用户。
聚类(描述性方法)
给定一组数据点以及彼此之间的相似度,将这些数据点分成多个类别,满足:位于同一类的数据点彼此之间的相似度大于与其他类的数据点的相似度。聚类技术的要点是,在划分对象时不仅要考虑对象之间的距离,还要求划分出的类具有某种内涵描述,从而避免传统技术的某些片面性。
概念描述(描述性方法)
概念描述指对某类数据对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。生成一个类的特征性描述只涉及该类对象中所有对象的共性,生成区别性描述的方法很多,如决策树方法、遗传算法等。图3.17展示了分类、聚类和概念描述等技术的区别。
图3.17 数据挖掘的主要操作示意图:分类、聚类和概念描述。
关联规则挖掘(描述性方法)
关联规则描述在一个数据集中一个数据与其他数据之间的相互依存性和关联性。数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的属性值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。如果两个或多个数据之间存在关联关系,那么其中一个数据可通过其他数据预测。关联规则挖掘则是从事务、关系数据中的项集合对象中发现频繁模式、关联规则、相关性或因果结构。
序列模式挖掘(描述性方法)
针对具有时间或顺序上的关联性的时序数据集,序列模式挖掘就是挖掘相对时间或其他模式出现频率高的模式。序列模式挖掘主要针对符号模式,而数字曲线模式属于统计时序分析中的趋势分析和预测范畴。序列模式挖掘应用广泛,如交易数据库中的客户行为分析、Web访问日志分析、科学实验过程的分析、文本分析、DNA分析和自然灾害预测等。时序模式是指通过时间序列搜索出的重复发生概率较高的模式。
回归(预测性方法)
回归在统计学上定义为:研究一个随机变量对另一组变量的相依关系的统计分析方法。其中,线性回归是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。此外,当自变量为非随机变量、因变量为随机变量时,分析它们的关系称为回归分析;当两者都是随机变量时,称为相关分析。
偏差检测(预测性方法)
大型数据集中常有异常或离群值,统称为偏差。偏差包含潜在的知识,如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差、量值随时间的变化等。偏差检测的基本方法是,寻找观测结果与参照值之间有意义的差别。偏差预测的应用广泛,如信用卡诈骗监测、网络入侵检测等。偏差检验的基本方法就是寻找观察结果与参照值之间的差别。
3.6 数据科学与可视化
如本章“总览”一节所讲,可视化可作用于数据科学的各个步骤之中。本节将介绍可视化在数据科学中的两个典型应用场景。
3.6.1 数据工作流
根据国际工作流管理联盟定义,工作流是多个用户之间按照某种预定义的规则传递文档、信息或任务的自动过程 [Workflow1999]。工作流概念起源于生产组织和办公自动化领域,用于描述一个特定的、实际的过程步骤,在计算机应用环境下属于计算机支持的协同工作的研究范畴。定义和遵循工作流有助于以标准化、自动化的方式实现某个预期的业务目标,便于协同、分享、发布和传播有效的工作模式。图3.18呈现了一个工作流实例。
图3.18 工作流实例。每个方块代表工作流中的一个步骤,每个步骤由一系列的活动组成,步骤与步骤间的连接代表数据的流动,箭头指向代表数据流动的方向。
工作流常见的两种形式有:面向商业流程处理和商业数据处理的商业工作流;面向科学研究过程控制和数据处理流程控制的科学工作流。Taverna(见图3.19)和Kepler Project(见图3.20)是科学数据流系统中的典型代表。
图3.19 Taverna系统是一个用于科学业务流程可视化的项目,它提供了一套软件工具和脚本语言来简化工作流程的创建、编辑和管理,以及配套的交互操作来实现这些功能。Taverna还支持广泛的数据源和数据格式,能够对多种学科的工作流程进行管理。
图片来源:http://taverna.sourceforge.net
图3.20 Kepler是一个开源的科学工作流系统,用于帮助科研人员、分析人员和程序员创建、执行和共享数据工作流程和分析结果。
图片来源:https://kepler-project.org
数据工作流特指为数据处理和分析流程定义的自动过程,其本质是计算业务过程的部分或整体在计算机应用环境下的自动化,与自动化工程学科密切相关。将工作流应用于科学研究是一个新兴的研究方向,例如,专注于科学工作流研究的国际研讨会(IEEE Scientific Workflow)和国际期刊(IEEE Transactions on Automation Science and Engineering)。
可视化在工作流系统中的应用非常广泛。在处理复杂数据和任务时,数据的中间结果是工作流的一个环节。将数据可视化理念融合到数据工作流中,将带来的一些新的特点包括:图形化、可视化设计流程图;支持各种复杂流程;B/S结构;表单功能强大,扩展便捷;处理过程可视化管理;统计、查询和报表功能。
与此同时,可视化领域已经出现了将工作流的思想应用于数据分析和可视化的工作。VisTrails(http://www.vistrails.org,见图3.21)是一个开源的面向计算机仿真、数据浏览和可视化的科学工作流管理系统。科学数据分析和可视化的任务通常是探索式的。为了允许工程师或科学家在数据的基础上形成和评估科学假设,需要在数据操作过程中动态更新工作流。VisTrails将数据操作的历史信息、数据中间状态和产生中间结果的工作流状态等记录在XML文件或关系型数据库中,允许用户直观地浏览工作流的不同版本,撤销对数据的改变,并可视地比较工作流及其结果。简单的交互界面允许用户基于实例定制工作流,并将工作流模式应用于科学数据的探索。另一个可视化工作流的例子是DimStiller,如图3.22所示。
图3.21 将VisTrails系统用于可视化非结构网格序列数据。左:VisTrails工作流界面,显示了包含可视化基础类的类VTK流程;右:比较不同时刻的哥伦比亚河河口可视化结果排列。
图片来源:http://www.vistrails.org/index.php/Documentation
图3.22 DimStiller[Ingram2010]是一个基于数据立方思想的高维数据降维和分析的系统,它采用数据工作流的思想,通过定制和应用表达式模板实现核心分析的重用。
图片来源:http://www.cs.ubc.ca/labs/imager/tr/2010/DimStiller/
近年来,随着机器学习等领域的迅猛发展,以机器学习和数据挖掘为主要数据分析方法的数据科学工作流系统也蓬勃兴起。这些系统主要以数据处理和分析模块作为数据流的基本组成单元,通过拖曳等交互来构建整个数据分析流程。这种方式极大地降低了用户使用数据分析工具的学习成本,使得分析流程的构建变得简洁明了。RapidMiner,Dataiku,H2O.ai等软件产品是此类数据科学工作流系统的代表(见图3.23)。与此同时,不少云计算平台厂商在推出机器学习功能后,也通过工作流的方式将机器学习模块进行有机结合,使用户通过网页即可定制数据处理和机器学习过程,如微软Azure Learning、阿里云DTpai和Salesforce MetaMind等(见图3.24)。
图3.23 RapidMiner系统和Dataiku系统的工作流界面。
图片来源:https://rapidminer.com/,https://www.dataiku.com
图3.24 微软Azure Learning系统的工作流构建界面。
图片来源:https://azure.microsoft.com/en-us/services/machine-learning-studio
3.6.2 可视数据挖掘
作为一种基于人类视觉通道进行数据分析的手段,可视化在很多领域都发挥着帮助用户理解数据、发现数据特征,进而辅助推理决策的作用。近年来,伴随着可视化技术的发展,基于可视化的分析方法开始在诸多领域发挥重要作用,例如文本分析、社交网络分析、时空数据分析等。在数据挖掘领域,由于用户需要对数据挖掘结果或过程进行理解、检测和验证,可视化开始成为一种辅助数据挖掘过程的手段,逐步发展出一系列基于可视化的可视数据挖掘方法,并用于辅助增强数据挖掘的可理解性、可交互性,甚至是算法精度等。可视数据挖掘的目的在于使用户能够参与对大规模数据集进行探索和分析的过程,并在参与过程中搜索感兴趣的知识 [Rossi2006]。同时在可视数据挖掘中,可视化技术也被应用来呈现数据挖掘算法的输入数据和输出结果,使数据挖掘模型的可解释性得以增强,从而提高数据探索的效率。可视数据挖掘在一定程度上解决了将人的智慧和决策引入数据挖掘过程这一问题,使得人能够有效地观察数据挖掘算法的结果和一部分过程。
根据可视化所增强的目标对象,可视数据挖掘方法主要分为两大类。
(1)可视化增强的通用数据挖掘方法。
可视化增强的通用数据挖掘方法以数据挖掘算法和模型为主,并不针对具体的应用场景或数据类型。可视化作为辅助手段,帮助更加直观地展示输入数据和计算结果,或者直接深入模型内部,使用户直接看到模型的核心数据和结构,并进行交互式调整。
(2)面向应用场景的方法。
近年来,数据挖掘与可视化方法的应用场合日趋广泛,有不少文献基于特定应用场景提出了一些面向应用的方法。下文将按照数据或应用类型进行分类,并对相关方法进行总结。
3.6.2.1 可视化增强的通用数据挖掘方法
可视化方法与通用数据挖掘方法的组合方式大致分为“黑盒”和“白盒”两种。
1.基于黑盒方式的可视化增强方法
通常,用户都需要一些辅助查看算法的输入/输出等信息的手段。在基于黑盒方式的可视化增强方法中,可视化设计者仅根据数据挖掘算法所面向的任务进行设计,并不考虑具体算法的内部机制,即把算法本身当作“黑盒”。例如,在聚类任务中,算法输出通常是输入数据点所属的类别,因此针对聚类结果的可视化方法一般仅考虑算法所输出的类别信息,而忽略算法本身是怎样运作的。该类方法的分析对象主要有以下几个类别。
(1)面向输入数据的可视化方法。
用户在使用数据挖掘方法之前,可先使用可视化方法对数据进行预探索。这种方式有助于帮助用户获得输入数据的大致分布特征,可以指导其后续的数据清洗、参数设定等工作。文献[Yuan2013]提出了一种可视化方法,用于辅助子空间聚类算法。该方法使用多个散点图并列排布的方式展示数据点所在的原始空间中各个维度的相关性,用户通过观察散点图中的数据点相关度来筛选出冗余维度,以得到不同子空间下的聚类结果。
(2)面向算法结果的可视化方法。
数据挖掘算法的输出结果是用户最关心的内容,可视化方法通常用于结果分析、模型验证等方面。在分类任务方面,文献[Kapoor2010]提出了基于分类混淆矩阵的ManiMatrix系统,使用户交互式地查看混淆矩阵中的内容和分类边界。对于聚类任务,DICON系统 [Cao2011](见图3.25)使用基于面积分割的视觉编码展示聚类中的数据点在各个属性上的分布。除单纯的结果展示之外,文献[Kandogan2012]提出了一种“即时标记(Just-In-Time Annotation)”策略,辅助用户在聚类结果的探索过程中对数据分布特征进行语义标注。文献[Chuang2013]构建了一种用于展示话题模型中不同话题之间的相关程度的框架,帮助用户发现重复或意义相近的冗余话题。此外,可视化还可以用于提高结果的可解释性,使得非数据挖掘领域的专家用户也能从算法结果中得出一定的结论。Explainer系统 [Gleicher2013]提出了一种分类结果的解释方法,将线性分类平面的法向方向解释为一个新的有实际意义的维度,并将数据点按照该法向维度进行排序。
图3.25 DICON系统使用可视化方法,通过展示聚类结果中每个类别的统计信息来表达聚类结果的优劣。
图片来源:[Cao2011]
(3)迭代式可视化方法。
除单纯的输入或输出数据可视化之外,迭代式可视化方法还可以帮助用户基于已有探索结果对输入参数或数据进行修改,继而生成新的模型和输出结果,并使用迭代策略引导用户对算法结果进行优化。文献[Talbot2009]等针对分类任务提出了多种迭代式可视化方案。在距离学习方面,Dis-Function系统 [Brown2012]使用基于距离的投影可视化方法,使用户能够交互式指定训练数据点之间的距离关系,引导距离度量的生成,并根据新的距离度量矩阵生成新的投影结果,以达到渐进式优化的目的。PIVE系统 [Choo2014]提出了一种迭代式框架,用于实时展示数据挖掘算法中的迭代优化过程。
2.基于白盒方式的可视化增强方法
除上文提到的黑盒方式外,近年来,随着可视化界对数据挖掘方法的关注度不断提高,有不少工作已经开始着手对算法过程本身进行展示,使用户能够更好地理解计算结果与输入数据、参数之间的关系。
决策树因其可解释性较强的特性,在可视化界有不少针对决策树模型的可视化案例。BaobabView[Elzen2011]是近年来比较综合的决策树可视化系统,如图3.26所示,它提供了基于节点链接方法的树可视化视图和分类结果混淆矩阵的可视化视图,以及大量的交互方法。用户可以在查看训练生成的决策树结构时,对决策树直接进行修改,如增删分支、调整判断条件等。然而,大部分数据挖掘模型的可理解程度都较低,给非数据挖掘领域的用户造成了一定的理解困难。可视化在这一方面为用户提供了一定程度的辅助。文献[Caragea2001]针对支持向量机提出了基于投影的可视化方案。文献[Erhan2009]提出了一种面向图像识别的深度神经网络可视化方法,其使用可视化方式展示出不同层次神经元上的特征,帮助用户进行参数调整等工作。
图3.26 BaobabView提供了一个交互式构建决策树的环境,该系统支持对决策树进行添加、剪枝、修改等操作,使得用户能够自由构建和分析适合当前场景的分类决策树。
图片来源:[Elzen2011]
3.6.2.2 面向应用场景的方法
本节将从文本分析、图像分析、用户行为分析、时空数据分析、深度学习和其他应用场景六个方面,介绍目前可视数据挖掘在研究和应用上的成果。
1.文本分析
数据挖掘及可视化方法在文本分析中占有非常重要的地位。常见的应用类型有文本分类、聚类及异常检测等。对于非机器学习专家来说,使用机器学习算法进行文本分析学习成本较高,在短时间内无法精通。Heimerl等人 [Heimerl2012]提出了一种交互式文本分类器训练系统,如图3.27所示,以辅助普通文本分析人员进行文本分类分析。该系统借鉴机器学习中的主动学习策略,降低了用户标记文本标签的成本,并加快了分类器的训练过程。同时,作者设计了一系列可视化视图以帮助用户理解文本集的大致词频分布和特征,以简化用户对所需文本的搜索过程。ScatterBlogs2系统 [Bosch2013]使用类似的交互式分类器训练方法,帮助用户监控及过滤感兴趣的微博文本。
图3.27 交互式文本分类器训练系统。
图片来源:[Heimerl2012]
文献[Chuang2012]设计了一种基于LDA(Latent Dirichlet Allocation)的可视化文本探索方法。针对有类别标签的文本数据,该方法首先抽取所有文本的主题分布,并计算不同文本类别间的主题相似度,最终使用基于散点图设计的地形视图(Landmark View)展示类别间的相似度。作者还提出了可视化文本分析中模型选取的两个原则:① 可解释性,即用户通过分析模型就能大致理解数据分布特征;② 可信度,即可视化能够真实并准确地反映数据特征。iVisClustering系统 [Lee2012]同样使用基于LDA模型的交互式可视化方法进行文本聚类分析。该系统主要利用节点链接图和平行坐标方法分别展示LDA模型的聚类结果和文档的主题分布。
除上述针对主题抽取结果进行可视化的工作之外,UTOPIAN系统 [Choo2013]对传统LDA模型进行改进,提出了一种基于交互式非负矩阵分解的用户驱动式主题抽取方法。该方法允许用户通过该模型提供的接口交互式调整模型参数,并根据先验知识对主题生成进行干预。
Jian Zhao等人提出的FluxFlow交互式可视分析系统 [Zhao2014]用于探测和分析社交媒体文本流中的异常信息传播。该系统利用单类条件随机场(One-Class Conditional Random Field,OCCRF)作为核心机器学习算法,用户可通过基于线索时间线的可视化方法发现当前文本流中的异常传播模式,并深入探索相关文本内容。
2.图像分析
Hoferlin等人提出了针对视频图像数据的交互式主动学习(Inter-Active Learning)策略 [Höferlin2012]。在训练图像分类器时,该策略将专家用户对图像的标记判断融入分类过程中。专家用户可通过搜索或查看分类结果的方式找出最需要人工标记的图像,标记后的训练图像能够使分类器的训练效率最大化。
谱聚类方法在图像分析中有着广泛的应用。文献[Schultz2013]基于传统的谱聚类方法,提出了一种白盒式可视化增强的聚类系统,如图3.28所示。该系统面向CT、MRI等三维医学图像数据,支持用户利用专家知识,通过交互式可视化方式调整谱聚类方法所需的参数、聚类数等变量。
图3.28 白盒式可视化增强的聚类系统。
图片来源:[Schultz2013]
3.用户行为分析
用户在同一网站上的页面浏览顺序形成点击流。针对用户点击流进行分析,可以刻画出用户在网页间的浏览行为。如图3.29所示,文献[Wei2012]使用自组织映射方法对用户点击流进行投影分析,使用色条的大小和在二维平面上的位置分布表示点击流的出现频率,以及点击流之间的相似关系。用户在投影视图上进行选中等交互操作,可以详细查看某些点击流的具体属性分布。通过eBay网站的真实数据集进行实际案例分析,用户能够在复杂的点击流中寻找到相关特征模式,并对不同的典型模式进行比较分析。
图3.29 使用高维投影后的结果,分析用户点击流之间的相似性。
图片来源:[Wei2012]
4.时空数据分析
时空数据挖掘重点关注带有时间和空间属性的数据。在可视化方面,同样有很多基于时序数据和地理空间数据的方法来帮助展示数据挖掘算法的结果和算法过程。针对微博或其他社交平台上带有时间戳和地点信息的文本流数据,文献[Chae2012](见图3.30)基于LDA模型和STL(seasonal-trend decomposition procedure based on loess smoothing)方法分别提取某时间段内的文本主题和异常关键词,并可视化相关文本信息的地理位置和时序波动信息。用户可以通过多种交互方式渐进式探索和发现异常文本信息,并通过相关文本提取出事件。
5.深度学习
随着深度学习在各个领域的爆发式增长,可视化研究者也开始着手利用自己所长,对深度学习模型开展研究和探索。目前可视化在深度学习上的应用多集中于对模型所包含的信息及内涵进行解释,以及使用交互式可视化界面方便机器学习专家对模型进行调整和重新训练。
图3.30 基于LDA模型和STL方法的时空文本可视分析系统。
图片来源:[Chae2012]
深度生成模型(DGM,Deep Generative Model)是近几年来深度学习方面最前沿的研究之一,其训练过程相对于其他模型(如CNN、RNN等)来说较为复杂,且十分依赖使用者对深度学习算法的深入理解和实践经验。如图3.31所示,DGMTracker系统 [Liu2017]展示了在训练过程中模型activation在时间上的发展变化,以及哪些神经元对输出做出了贡献,或者导致训练失败。RNN(循环神经网络)常用于序列数据的学习和生成。RNNVis交互式可视化系统 [Ming2017]用于诊断RNN模型在训练过程中的预测性能变化。系统可适配于RNN、LSTM、GRU等模型,并以文本情感分析为主要应用场景,添加了很多文本数据分析的特殊功能。目前在工业实践中,深度神经网络的层数已达到数百层甚至上千层。如此多的网络层所带来的问题是模型使用者很难对整个训练过程有一个全貌,并且难以理解训练过程中参数的传播,以及训练失败的归因和改进策略分析。
图3.31 DGMTracker深度生成模型可视化系统。
图片来源:[Liu2017]
在实际使用神经网络时,如何构建网络层结构和设定参数以适配应用场景,是开发实践者常遇到的问题。DeepEyes系统 [Pezzotti2017]使用渐进式可视分析策略,帮助用户从头开始设计适合的神经网络结构,包括网络层类型、神经元个数、层次间连接方式等。渐进式可视分析策略的特点是为用户提供了一个渐进式迭代分析环境。用户可以从一个起始位置开始对目前的网络结构进行测试和分析,并基于测试和分析结果对已有结构进行改进,继而进入下一次分析迭代中,直至达到预定的模型构建目标。在渐进式迭代的过程中,交互式可视化界面的介入使得用户能够方便地查看和探索模型,直观理解目前模型的性能和需要改进的方向。
6.其他应用场景
除上述应用场景之外,可视化方法还可以应用于其他相关领域。文献[Hossain2012]提出了结合用户反馈的聚类方法,用户可根据动物学专业知识对数据点的类别进行人为限制,以分析蝙蝠耳朵形状和声学特征。在高维数据分析方面,INFUSE系统 [Krause2014]借助交互式可视化方法对特征选取任务进行辅助和增强。通过展示特征在多种特征评价方法上的排名,用户可以看到特征的排名分布,以及不同的特征集合在分类算法上的测试效果,进而决定最终需要选出的特征。在回归分析方面,HyperMoVal系统 [Piringer2010]和文献[Muhlbacher2013]均提出了新的可视化设计,以展示回归分析中的数据分布和模型的训练结果。
3.7 数据科学的挑战
数据科学是大数据时代应运而生的一门新学科。围绕数据处理的各个学科方向都开始遇到前所未有的挑战。
● 作为数据获取和存储基础的计算机科学,由于数据成本急剧下降导致的数据量急剧增长、数据复杂程度飞速上升,如何有效地获取数据、有效地处理数据获取的不确定性、对原始数据进行清理、分析,进而高效地完成数据存储和访问,达到去重、去粗取精的目的,是急需解决的问题。同时,如何构建结构化数据与非结构化数据之间的有效关联及语义信息,存储异构、多元数据之间的关系并支持后续分析,并提供足够的性能保证,也是面临的挑战之一。
● 对于统计、分析、数据挖掘研究者,将大数据变“小”,即从大数据中获取更加有效的信息和知识,是研究重点。这需要考虑理论与工程算法两个方面的问题。
● 可视化作为数据科学中不可或缺的重要一环,也开始高度关注大数据带来的问题,其中包括:高维数据可视化,复杂、异构数据可视化,针对海量数据的实时交互设计,分布式协同可视化,以及针对大数据的可视分析流程等。
参考文献
[ACM2007]Accessing the Deep Web,ACM Communication,May,2007
[Bito2001]Yoshitaka Bito,Robert Kero,Hitoshi Matsuo,Yoichi Shintani,Michael Silver,Interactively visualizing data warehouses.Journal of Healthcare Information Management.15(2),2001:133-142
[Bosch2013]Bosch,H.,Thom,D.,Heimerl,F.,Puttmann,E.,Koch,S.,Kruger,R.,Ertl,T.ScatterBlogs2: Real-time monitoring of microblog messages through user-guidedfiltering.IEEE Transactions on Visualization and Computer Graphics,2013,19(12),2022-2031
[Brown2012]Eli T.Brown,Jingjing Liu,Carla E.Brodley,Remco Chang.Dis-function: Learning distance functions interactively[C].IEEE Conference on Visual Analytics Science and Technology,2012
[Cammarano2007]M.Cammarano,X.Dong,B.Chan,J.Klingner,J.Talbot,A.Halevy,and P.Hanrahan,Visualization of heterogeneous data.IEEE TVCG.13(6),2007: 12001207
[Cao2011]Nan Cao,David Gotz,Jimeng Sun and HuaminQu,DICON: Interactive Visual Analysis of Multidimensional Clusters.IEEE Transactions on Visualization and Computer Graphics.17(12),2011:2581-2590
[Caragea2001]Doina Caragea,Dianne Cook,Vasant Honavar.Gaining Insights into Support Vector Machine Pattern Classifiers Using Projection-Based Tour Methods.Proceedings of the KDD Conference,2001
[Cha2007]S.H.Cha,Comprehensive survey on distance/similarity measures between probability density functions.International Journal of Mathematical Models and Methods in Applied Sciences.1(2),2007:300-307
[Chae2012]Junghoon Chae,Dennis Thom,Harald Bosch,Yun Jang,Ross Maciejewski,David Ebert,Thomas Ertl.Spatiotemporal social media analytics for abnormal event detection and examination using seasonal-trend decomposition.IEEE Conference on Visual Analytics Science and Technology,2012
[Chambers1983]John Chambers,William Cleveland,Beat Kleiner and Paul Tukey.Graphical Methods for Data Analysis,Wadsworth,1983
[Chatfield1989]C.Chatfield.The Analysis of Time Series:An Introduction.Chapman&Hall,1989
[Chen2009]Wei Chen,Zi'ang Ding,Song Zhang,Anna MacKay-Brandt,Stephen Correia,HuaminQu,John Allen Crow,David F.Tate,Zhicheng Yan,Qunsheng Peng.A Novel Interface for Interactive Exploration of DTI Fibers.IEEE Transactions on Visualization and Computer Graphics.15(6),2009
[Chuang2012]Jason Chuang,Daniel Ramage,Christopher Manning,Jeffrey Heer.Interpretation and trust:Designing model-driven visualizations for text analysis.Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.ACM,2012:443-452
[Choo2013]Jaegul Choo,Changhyun Lee,Chandan K Reddy,Haesun Park.UTOPIAN: UserDriven Topic Modeling Based on Interactive Nonnegative Matrix Factorization.IEEE Transactions on Visualization and Computer Graphics,2013.19(12):19922001
[Choo2014]Jaegul Choo,Changhyun Lee,Hannah Kim,Hanseung Lee,Chandan K Reddy,Barry L Drake,Haesun Park.PIVE: Per-Iteration Visualization Environment for Supporting Real-time Interactions with Computational Methods.IEEE Visual Analytics Science and Technology,2014
[Cleveland1985]William S.Cleveland.The Elements of Graphing Data.Wadsworth,1985
[Cleveland1988]William S.Cleveland and Marylyn E.McGill.Dynamic Graphics for Statistics(1st ed.),CRC Press,Inc.,1988
[Cleveland 1993]William Cleveland.Visualizing Data.Hobart Press,1993
[CNET2012]CNET News,Facebook: Over 955 million users,543 million mobile users,http://news.cnet.com/8301-1023_3-57480950-93/facebook-over-955-million-users-543million-mobile-users/,2012
[Chuang2013]Jason Chuang,Sonal Gupta,Christopher Manning,Jeffrey Heer.Topic model diagnostics:Assessing domain relevance via topical alignment.Proceedings of the 30th International Conference on machine learning(ICML-13).2013:612-620
[Elzen2011]S.van den Elzen and J.J.van Wijk,BaobabView: Interactive construction and analysis of decision trees.IEEE VAST.2011:151-160
[Erhan2009]Erhan D,Bengio Y,Courville A,et al.Visualizing higher-layer features of a deep network[J].University of Montreal,2009,1341(3):1
[Fayyad1996]U.Fayyad,G.Piatetsky-Shapiro and P.Smyth.From Data Mining to knowledge discovery: an overview.Advances in knowledge discovery and data mining.1996:1-34
[Fayyad1997]U.Fayyad and P.Stolorz.Data mining and KDD:Promise and challenges.Future Generation Computer Systems.13(3),1997:99-115
[Gleicher2013]Michael Gleicher.Explainers: Expert explorations with crafted projections.IEEE Transactions on Visualization and Computer Graphics,2013.19(12):2042-2051
[Han2001]Jiawei Han and Micheline Kamber.Data Mining: Concepts and Techniques.2nd Edition,Morgan Kaufmann Publishers,2001
[Heimerl2012]Florian Heimerl,Steffen Koch,Harald Bosch,Thomas Ertl.Visual classifier training for text document retrieval.IEEE Transactions on Visualization and Computer Graphics,2012.18(12):2839-2848
[Hey2009]T.Hey,S.Tansley,and K.Tolle,Eds..The Fourth Paradigm: Data-Intensive Scientific Discovery.Microsoft Research,2009
[Höferlin2012]Benjamin Höferlin,Rudolf Netzel,Markus Höferlin,Daniel Weiskopf,Gunther Heidemann.Inter-active learning of ad-hoc classifiers for video visual analytics.IEEE Conference on Visual Analytics Science and Technology,2012
[Hossain2012]M.Shahriar Hossain,Praveen Kumar Reddy Ojili,Cindy Grimm,Rolf Muller,Layne T.Watson,Naren Ramakrishnan.Scatter/Gather Clustering: Flexibly Incorporating User Feedback to Steer Clustering Results.IEEE Transactions on Visualization and Computer Graphics,2012.18(12):2829-2838
[IBM2012]IBM What is big data?-Bringing big data to the enterprise,http://www-01.ibm.com/software/data/bigdata,2012
[IDC2011]IDC: The 2011 digital universe study: Extracting value from chaos.http://www.emc.com/collateral/demos/microsites/emc-digital-universe-2011/index.htm
[IEEE2012]IEEE Spectrum,World's Largest Dataset on Human Genetic Variation Goes Public,http://spectrum.ieee.org/tech-talk/biomedical/diagnostics/worlds-largest-dataset-onhuman-genetic-variation-goes-public,2012
[Ingram2010]Stephen Ingram,Tamara Munzner,Veronika Irvine,Melanie Tory,Steven Bergner,and TorstenM? ller.DimStiller: Workflows for dimensional analysis and reduction.IEEE VAST.2010:3-10
[Kandel2011]S Kandel,J Heer,C Plaisant,J Kennedy,F.van Ham,N H Riche,C Weaver,B Lee,D Brodbeck,and P Buono.Research directions in data wrangling: Visualizations and transformations for usable and credible data.Information Visualization.10(4),2011:271-288
[Kandogan2012]Eser Kandogan.Just-in-time annotation of clusters,outliers,and trends in pointbased data visualizations.IEEE Conference on Visual Analytics Science and Technology,2012
[Kapoor2010]Ashish Kapoor,Bongshin Lee,Desney Tan,Eric Horvitz.Interactive optimization for steering machine classification.Chi,2010:13431352
[Keim2010]D.A.Keim,J.Kohlhammer,G.Ellis,and F.Mansmann.Mastering The Information Age-Solving Problems with Visual Analytics.Florian Mansmann,2010
[Krause2014]J Krause,A Perer,E Bertini.INFUSE: Interactive Feature Selection for Predictive Modeling of High Dimensional Data.Visualization and Computer Graphics,IEEE Transactions on,2014
[Lee2012]Hanseung Lee,Jaeyeon Kihm,Jaegul Choo,John Stasko,Haesun Park.iVisClustering: An Interactive Visual Document Clustering via Topic Modeling.Computer Graphics Forum,2012.31(3.3):1155-1164
[Liu2011]Z.Liu,S.B.Navathe,and J.T.Stasko,Network-based visual analysis of tabular data.IEEE VAST.2011:41-50
[Liu2017]M.Liu,J.Shi,K.Cao,J.Zhu,S.Liu.Analyzing the training processes of deep generative models.IEEE Transactions on Visualization and Computer Graphics,2017
[Ma2009]Kwan-Liu Ma,Chaoli Wang,Hongfeng Yu,Kenneth Moreland,Jian Huang,and Rob Ross.Next-Generation Visualization Technologies: Enabling Discoveries at Extreme ScaleSciDACReview.Number 12,February,2009:12-21
[McKinsey2011]McKinsey Global Institute,J.Manyika,and M.Chui.Big data: The next frontier for innovation,competition,and productivity.McKinsey Global Institute,2011
[Meyer2009]Miriah Meyer and Tamara Munzner and Hanspeter Pfister.MizBee: A Multiscale Synteny Browser.IEEE Transactions on Visualization and Computer Graphics.2009
[Ming2017]Yao Ming,Shaozu Cao,Ruixiang Zhang,Zhen Li,Yuanzhe Chen,Yangqiu Song,Huamin Qu.Understanding hidden memories of recurrent neural networks.IEEE Conference on Visual Analytics Science and Technology.2017
[Muhlbacher2013]Thomas Muhlbacher,Harald Piringer,M Thomas,Harald Piringer.A partition-based framework for building and validating regression models.IEEE Transactions on Visualization and Computer Graphics,2013.19(12):1962-1971
[NIST]NIST/SEMATECH e-Handbook of Statistical Methods.http://www.itl.nist.gov/div898/handbook
[NYTimes2012]The New York Times,Where the Heat and the Thunder Hit Their Shots,http://www.nytimes.com/interactive/2012/06/11/sports/basketball/nba-shot-analysis.html,June 12,2012
[Pezzotti2017]N.Pezzotti,T.Höllt,J.v.Gemert,B.P.F.Lelieveldt,E.Eisemann,A.Vilanova.Deepeyes: Progressive visual analytics for designing deep neural networks.IEEE Transactions on Visualization and Computer Graphics,2017
[Piringer2010]H.Piringer,W.Berger,J.Krasser.HyperMoVal: Interactive visual validation of regression models for real-time simulation.Computer Graphics Forum,2010.29(3):983-992
[Rossi2006]F.Rossi,Visual data mining and machine learning.European Symposium on Artificial Neural Networks,2006
[Schultz2013]Thomas Schultz,Gordon L.Kindlmann.Open-Box Spectral Clustering: Applications to Medical Image Analysis.IEEE Transactions on Visualization and Computer Graphics,2013.19(12):2100-2108
[Shneiderman1996]Ben Shneiderman,The Eyes Have It: A Task by Data Type Taxonomy for Information Visualization.IEEE Symposium on Visual Languages,1996:336-343
[Silberschatz2005]Abraham Silberschatz,Henry Korth,S.Sudarshan.Database System Concepts.5th Edition,McGraw-Hill,Inc.,2005
[Talbot2009]Justin Talbot,Bongshin Lee,Ashish Kapoor,Desney S.Tan.EnsembleMatrix:interactive visualization to support machine learning with multiple classifiers.Proceedings of the 27th international conference on Human factors in computing systems,2009
[Tatu2011]A.Tatu,G.Albuquerque,M.Eisemann,P.Bak,H.Theisel,M.Magnor,and D.Keim,Automated Analytical Methods to Support Visual Exploration of HighDimensional Data.IEEE Transactions on Visualization and Computer Graphics,17(5),2011: 584-597
[Technology2012]Technology Review.What Facebook Knows.http://www.technologyreview.com/featured-story/428150/what-facebook-knows/,2012
[Tufte1983]Edward Tufte.The Visual Display of Quantitative Information.Graphics Press,1983
[Tufte2006]Edward Tufte.Beautiful Evidence.Graphics Press,2006
[Tukey1977]John Tukey.Exploratory Data Analysis,Addison-Wesley,1977
[Warden2011]Pete Warden.Data Source Handbook,O'Relly Media,2011
[Wei2012]Jishang Wei,Zeqian Shen,Neel Sundaresan,Kwan-Liu Ma.Visual cluster exploration of web clickstream.IEEE Conference on Visual Analytics Science and Technology,2012.
[WhiteHouse2012]The White House,Big Data is a Big Deal,http://www.whitehouse.gov/blog/2012/03/29/big-data-big-deal,2012
[Workflow1999]Workflow Management Coalition Terminology & Glossary,WFMC-TC-1011 Issue 3.0,Workflow Management Coalition.http://www.wfmc.org,February 1999
[Yuan2013]Xiaoru Yuan,Donghao Ren,Zuchao Wang,and Cong Guo.Dimension ProjectionMatrix/Tree: Interactive Subspace Visual Exploration and Analysis of High Dimensional Data.IEEE Transactions on Visualization and Computer Graphics(InfoVis'13),19(12):2625-2633,2013
[Zhao2014]Jian Zhao,Nan Cao,Zhen Wen,Yale Song,Yu-ru Lin,Christopher Collins.# FluxFlow : Visual Analysis of Anomalous Information Spreading on Social Media.IEEE Transactions on Visualization and Computer Graphics,2014.20(1):1773-1782