1.3.2 大数据带来的挑战
1.大数据的处理及应用
大数据的处理及应用是一个庞大的系统工程,其中包含很多复杂的环节。大数据领域的很多初学者容易犯的一个错误就是把注意力仅仅集中在对数据的分析和价值提取上。尽管该步骤的重要性与研究价值不言而喻,但是没有其他环节之间的协作,数据分析和价值提取是无法进行的。
文献[65]将大数据的处理及应用划分为五个阶段:数据获取(data acquisition)、信息提取和清洗(information extraction and cleaning)、数据聚合与表示(data aggregation and representation)、建模与分析(modeling and analysis)以及解释(interpretation)。
(1)数据获取
数据不是凭空产生的,而是对研究者所感兴趣的现象的记录,例如人类对周围世界的感知和观察,包括运动员跑步时与静息状态下的心率、空气中的PM2.5指数、计算机操作系统和网站上的用户登录日志、各种各样传感器记录的信息以及科学实验得到的结果等。绝大多数上述数据都可以进行一定程度的过滤,过滤后的结果并不影响研究者对所感兴趣的现象的认知。在数据获取阶段,由于原始的数据量过大,如何定义过滤的规则来使有用的信息得以保存是一个研究热点。例如,由传感器收集的数据通常具有时空相关性,如果某个读数与其他的不同,则通常可以认为这个读数是错误的,但反过来说,又如何能确定该读数反映的不是实际情况呢?
(2)信息提取和清洗
在大多数情况下,收集到的原始数据在内容和格式上都不能直接进行分析。实际生活中的数据通常不能在抛开其格式的情况下实施有效的分析,例如病人的电子医疗档案、各类传感器的读数、音频和视频数据等。因此,需要针对所处理的数据设计信息提取的具体方法。此外,由于数据源本身可能出错,并且传输环境中不可避免地存在干扰和噪声,因此需要对数据中包含的错误进行分析和建模,有针对性地研发数据清洗方法。实际应用中的数据清洗方法大多与数据源和具体应用有很强的相关性。
(3)数据聚合与表示
为了对采集到的数据实施有效的分析,通常需要大量来自多个数据源的异构数据。例如对某个地区的空气质量进行综合性评估时,不仅需要收集常规的温度、湿度、风力、降水量、各类污染物指数等数据,还要获取往年的同比数据以及当月或者当日的环比数据。这些数据的来源不仅包括不同种类的传感器,还包括已经保存在存储介质上的数据集,因此需要专门的数据转换和聚合机制来处理各类数据在结构和语义上的异构性。解决异构性后所得的聚合数据能够按照统一的标准进行解释,这里的标准是指符合具体应用的分析需求。
(4)建模与分析
针对大数据进行查询和挖掘的方法与传统的统计分析存在本质上的不同。大数据通常都包含噪声,并且具有动态性、异构性、内联性和不可信性。尽管如此,即使是包含噪声的大数据也要比小样本的数据更有价值,这是因为由频繁出现的模式和相关性分析得出的统计信息通常都能够抑制单个的数据波动,并且能够更加可靠地揭示数据中潜在的模式和知识。因此,通过应用合适的统计方法,研究者能够借助近似分析(approximate analysis)来获得较好的结果。
(5)解释
针对已经获得的数据分析结果,决策者需要对其进行解释。一般来说,解释的过程涉及检查所有假设和跟踪分析结果。此外,由于计算机系统本身的故障、模型的前提假设等,不可避免地会引入错误数据。决策者不仅需要对计算机给出的分析结果进行理解,还需要对结果进行检验。因此,大数据处理机制的设计者需要在解释阶段为用户呈现出友好的界面。考虑到大数据本身具有的复杂性,如何将数据分析的结果友好地呈现出来是一个研究热点。
2.大数据研究与应用的挑战
目前,学界和业界投入了大量的资源来实现对大数据的价值提取。在对大数据进行处理和分析的过程中,研究者总结出了众多具有挑战性的难点。文献[65]认为大数据的研究与应用面临着六个方面的挑战:异构性(heterogeneity)、不一致性与不完整性(inconsistency and incompleteness)、扩展性(scale)、及时性(timeliness)、隐私与数据所有权(privacy and data ownership)以及可视化与协作(visualization and collaboration)。在上述六个方面中,异构性、扩展性和及时性分别对应多样化、数量和速度这三个大数据的关键特征。
数据科学领域的研究者在研究和处理大数据的过程中面临诸多挑战,其中之一是如何以更少的软硬件需求对分布式数据源产生的海量数据进行收集、集成和存储[44][66]。文献[67]认为大数据的理论与技术的难点主要集中在数据的获取、存储、查找、共享、分析、管理和可视化上。此外,针对数据驱动的分布式应用,数据的安全和隐私保护也是一个难点。具体来说,大数据的研究与应用面临六个方面的挑战:大数据管理、大数据清洗、大数据聚合、非均衡的系统处理能力、非均衡的大数据以及大数据分析。
(1)大数据管理
为了更好地实现可靠的价值提取,需要对大数据进行高效的管理。实际上,良好的大数据管理是大数据分析的基石。常规的数据管理包含了数据清洗、数据集成、多源数据的统一编码及存储。此外,大数据管理还意味着确保高效的数据存储以及基于角色的分布式端点多点接入。换言之,大数据管理的目标是确保数据以合适的方式安全地进行存储,同时方便地进行访存。
(2)大数据清洗
在传统的数据管理机制中,清洗、聚合、编码、存储和访存这五个环节就已经存在。对于海量数据来说,如何应对大数据的本质特征(3V)所带来的复杂性,并在拥有多个应用程序的分布式环境下对数据进行处理是大数据清洗所面临的挑战[68]。
(3)大数据聚合
对于政府机构和商业组织而言,其内部存在特定的基础设施结构,如何将外部的各类数据源和分布式数据平台(应用程序、数据仓库、传感器和网络等)与内部的基础设施结构进行同步是一个重大挑战。在大多数情况下,仅分析一个组织内部产生的数据是远远不够的。为了从数据中提取更多的价值,需要将内部数据与外部数据进行聚合。外部数据通常包含第三方数据源、金融市场的波动、天气预报、交通状况、社交网络、消费者评价和市民反馈等。对于某些特定的应用场景,上述外部数据能够提供额外的支持,例如提升数据分析阶段所使用的预测模型的性能。
(4)非均衡的系统处理能力
根据摩尔定律,中央处理器(Central Processing Unit,CPU)的性能每18个月就实现翻倍。此外,磁盘驱动器的性能也以相同的速率增长。但遗憾的是,输入/输出(Input/Output,I/O)操作的性能增长并没有遵循类似的模式,例如随机的输入/输出操作在以中等的速度增长,而时序(sequential)输入/输出操作的速度并没有随着存储密度的增加而表现出较快的增长[69]。因此,上述非均衡的系统处理能力会降低数据访存的速度,进而影响相关应用程序的性能和可扩展性。类似地,对通信网络中的设备进行梳理,很容易发现不同的路由器、通信链路、传感器、磁盘和内存等构件均具有不同的性能,它们之间的协作在整个系统层面通常都不具有较高的性能。
(5)非均衡的大数据
一般来说,真实世界中的应用程序会产生具有不同分布情况的数据。第一类为个数可以忽略的、代表性不足的样本,也称为少数类或正类(minority or positive class)。第二类为个数很多的样本,也称为多数类或负类(majority or negative class)。对少数类进行快速高效的识别在众多领域都具有十分重要的意义,例如医疗诊断(medical diagnosis)[70]、软件缺陷检测(software defects detection)[71]、金融预测(finance prediction)[72]、药品研发(drug discovery)[73]和生物信息学(bio-informatics)[74]等。
由于传统的学习方法在构造模型时是基于全局查找策略的,其没有考虑样本的个数,因此无法应用于非均衡的大数据集合。实际上,全局规则通常都比特定规则具有更高的优先级,这会导致少数类在模型的构造过程中被忽略掉。换言之,标准的学习方法没有对属于不同类的样本的个数差异进行考量[75]。然而,代表性不足的少数类可以构成实现识别的重要案例。文献[76]指出,实际应用场景中的很多问题通常都包含多于两个的不均匀(uneven)分布,例如蛋白质折叠(protein fold)分类和焊接缺陷(weld flaw)分类。上述多类的非均衡问题引入了二分类问题中未曾关注到的新挑战。实际上,处理多分类问题比二分类问题要难。目前已有的方法分为两类:第一类对一些二分类问题的分类方法进行扩展,例如判别分析(discriminant analysis)、决策树(decision tree)、最近邻居(k-nearest neighbor)、朴素贝叶斯(naive bayes)、神经网络(neural network)和支持向量机(Support Vector Machine,SVM)。第二类称为分解和集成方法(Decomposition and Ensemble Method,DEM),该类方法首先将多分类问题分解为二分类问题的集合,这些二分类问题可以通过传统的二分类器来解决。然后,通过对二分类器的预测应用集成策略来分类新的样本[77][78]。
(6)大数据分析
为了理解大数据中各项特征的内在联系,需要针对海量数据的新型分析方法。数据分析能够提取出数据中的潜在价值,还能够对影响决策的积极因素和消极因素实施模式监测。对于特定领域的数据驱动的应用,还需要进行实时(real-time)分析,例如导航(navigation)、社交网络(social network)、金融预测、生物医学(biomedicine)、天文学(astronomy)和智能交通系统(intelligent transport system)等。因此,需要新型的算法和高效的方法来对数据实施分析,进而获得准确的结果,达到监测变化和预测未来的目的[79]。但是,由于大数据本身的复杂性以及内在特征(5V),面向海量异构数据的、具有实时响应性的数据分析方法是大数据研究领域的一个难点[80]。
目前流行的数据分析技术包括数据挖掘、可视化、统计分析和机器学习。从某种角度来说,数据分析领域的研究分为两类:一类是对已有的技术进行改进,从而提出新的方法;另一类是对不同的算法和技术进行组合,进而测试其性能。大数据的出现不仅推动了系统体系结构和软硬件的发展,同时对数据分析方法也提出了新的挑战。例如,当数据量十分可观时,如何保证数据分析过程中响应的及时性。