张思思
(河北大学,河北 保定 071000)
数据已经成为企业的重要资产,如何将数据转为有用价值信息是必须要做的事情。企业利用大数据进行分析挖掘,挖掘背后数据的价值,不仅能够根据需要进行宏观调整,还能提高企业运行效率。随着数据的不断积累和海量数据的产生,企业会有多种数据分析的需求,每次都需要进行单独研究,即需要重新开发。由于需求的不同,这就导致之前已经拥有的模型难以得到复用,必须重新选择数据集和构造数据分析模型。对企业多重数据的不合理存储不仅耗费企业巨大的资源,同时缺失数据分析及预测服务,导致无法发现这些数据背后的价值,从而导致企业的管理水平及服务得不到提升。随着大数据相关技术的日益成熟[1-3],以与大数据相关的技术来处理和挖掘企业数据,并对数据进行分析和预测,为企业的成本控制提供参考依据,已经越来越得到重视。
随着越来越多的技术应用到大数据中,大数据方面出现了很多技术。以Hadoop生态圈为代表的分布式数据处理平台以及计算框架解决了海量数据存储与处理的问题[4],由于使用过程中,Hadoop需要技术人员关注实现细节,并且一些算法只适用于特定的应用场景,可复用性较差,已经无法满足越来越复杂的大数据分析应用需求。本文主要对大数据分析流程配置进行研究,提出以业务为中心[5],使用户专注于问题的业务逻辑进行分析和研究,不再关注具体技术实现细节问题,并设计流程化大数据分析模型,根据业务不同选择不同的算法,通过参数优化配置,最终生成理想的预测模型。
针对业务需求的不同,并结合大数据分析的特点,设计分为以下步骤:数据准备、数据清洗、大数据算法、模型训练、模型应用。根据实际应用中的特点,设计了以业务为中心的分析模型的方式,对于同一类型的数据集,采用统一的数据集管理方式、配置相应的数据清洗规则、分析算法选择、参数配置、分析目标等。
由于模型训练的复杂性和需求不同,根据实际需求设置了手动操作和自动任务调度两种方式来进行模型的训练。自动任务调度的处理,能够保证批量定时执行,对选定数据集进行分析,挖掘有价值的信息等,最终大数据的分析结果以可视化图形或图像方式展示。大数据处理流程图如图1所示:
图1 大数据分析总体设计图
在企业应用中,数据是各项业务的基础。由于业务数据是分开存储的,数据很难得到共享。另外企业中的数据集来源不同、种类不同,有的是传统的关系化数据,还有非关系化数据,如通过Sqoop、Flume等工具可分别获得结构化数据和非结构化数据(如日志数据)。因此就需要整合各个不同的资源,基于数据多样性和不确定性,需要将不同的业务数据及其他方面收集的非业务数据建立规范,依据规范所有数据集做到按分类进行处理,以此来达到数据共享。我们建立将数据同步到数据仓库中,然后在数据仓库上对集成后的数据进行统计和分析,如图2所示:
由于企业数据及各个岗位需求的数据不同,首先数据分析人员需根据业务需求选取适合的数据,但如何确定数据是否合适还需要对数据进行初步的分析,比如通过汇总、均值、方差等操作来分析,经过对数据的初步分析,可以让数据分析人员清楚认识数据,为数据选择更实用的模型和配置。
图2 数据仓库的数据集成架构
3.2.1 配置分析模型
3.2.1.1 确定分析流程
通用的数据挖掘方法论主要有两类,主要分为学术模型和工业模型,学术模型以Fayyad模型为代表,工业模型以CRISP-DM模型为代表,其中Fayyad模型是一个偏技术的模型[6],见图3,CRISP-DM模型是一个综合考虑数据挖掘技术与应用的模型,见图4。
图3 Fayyad模型
图4 CRISP-DM模型
上述两种模型都各具特点但都有局限性,一方面两种模型无法支持目前分布式数据存储,对海量数据分析高效执行无法支持;另一方面,存在大数据分析技术应用与业务契合度不高的问题。
因此,我们根据实际业务分析需求,结合大数据分析建模与业务领域应用,提出基于业务领域的分析模型。
3.2.1.2 选择分析算法
根据分析模型需要,从算法库中选择线性回归、逻辑回归、决策树、朴素贝叶斯、随机森林、聚类算法(K均值等)、神经网络、协同过滤等大数据算法模型。
依据业务分析需求,选择分析算法,根据需求调整参数来帮助用户合理配置模型。
3.2.1.3 选择数据集
从企业数据集中,选择与需求相关的数据表,并筛选出需要进行数据分析的列作为数据集,从多个维度分析数据。另外针对非结构化的数据,可以先采用统一方式将数据上传至Hadoop分布式文件系统(HDFS),选择需要的信息(比如检索内容)作为数据集[7]。
3.2.1.4 设置数据预处理规则
数据采集过程中可能会出现脏数据,应筛选出只需要分析的数据记录,去除或补全确实的数据,去除不需要的数据,对关键数据进行汇总等聚合处理。对于非结构化数据需要以文件的模式先上传至HDFS;从HDFS读取的数据中,存在一些脏数据,我们根据自定义的清洗规则对数据进行筛选清理。对于残缺的一整条数据需要删除。经过一系列数据描述操作把数据转换为满足数据挖掘的形式。
数据预处理的内容主要包括数据清理、数据集成、数据规约、数据变换4个功能[8],功能结构图如图5所示。
3.2.2 训练模型
通过大数据分析,可生成与用户需求相关的预测数据。建立好预测模型之后,用户通过输入历史数据,依据模型生成与业务相关的预测信息。通过预测的数据,用户可合理调整经营策略,并针对不同情况能够作出快速响应。
图5 数据预处理的内容
根据需要进行配置,再通过手动执行、自动任务调度执行两种模式来对数据集进行多批次训练。系统运行时,根据选定的数据集进行数据预处理、运行选择的算法,最终生成分析模型。根据设置的指标参数对模型进行验证,当产生的模型不符合预期效果时,可对参数进行优化修改,在此基础上进行反复训练,最终生成比较理想的分析模型。
设计训练模型基于业务进行研发,要检查建立模型的步骤,保证模型与业务目标的吻合度。训练模型是基于已有机票、火车票、酒店等相关订单的信息,另外针对用户操作的数据(如用户搜索信息、操作习惯等),必须校验模型与不同业务数据吻合度。只有建立了理想的模型,才能提供更有的预测分析能力,能够为用户提供更优质的服务。
大数据预测是大数据最核心的应用。我们可以从海量数据中发挖掘数据背后的有用价值,在大数据分析模型建立之后,可以输入新的数据预测未来的发展趋势。在系统中设置手动和自动的任务调度,对海量数据进行业务划分,根据不同需求分析出数据的发展趋势。
可视化技术是将数据特点直观呈现出来,以图表、图形等方式展示出来。实现可视化,分为以下几个步骤,第一步通过对数据分析形成实际可用信息,第二步根据已形成的可用信息形成用户易分析和明白的图形或图像,最后利用人机交互将第二步中的数据转换为处理后的图形或图像显示处理[9]。
可视化模型依靠图形进行信息交互,直观反映出数据之间的关系,能够提升用户对需求和业务的理解,并对问题求解过程有更深入的理解。用户从定制的可视化界面中,可清晰地查看分析结果。灵活和简单易操作的界面能够提供契合用户的操作方式。
从差旅服务角度来看,本文定义的针对差旅各项数据的预测分析模型,能够给出客户针对出行方式、出行指数、目的地、航空公司选择等方面的数据,为平台决策提供参数;另一方面也能为企业合理控制差旅成本和合理规划差旅出行提供参考依据。
依据本文研究方法,建立了各个业务专业数据集。使用大数据分析方法,通过确定分析目标、数据预处理、数据集选择、大数据分析算法选择、数据分析预测等[10],完成大数据分析定制,并依托Hadoop、HBase、Hive等技术,进行数据分析。