查找差异数据子集的过滤规则建模方法

来源:期刊VIP网所属分类:软件开发发布时间:2019-12-16浏览:

  摘 要:大数据分析和应用得到了各个行业的关注,人们试图从大量数据中发现蕴含的模式和规律,进而产生更多的价值,数据过滤作为数据分析过程中常用手段所起到的作用是无可替代的。基于方便用户快速筛选数据并找到差异性的数据子集的实际需求[1],需要分析与挖掘数据项之间联系,对数据过滤规则进行建模,以帮助用户快速定位到差异性的数据子集。在本篇论文中创新性地提出一种查找差异数据子集的过滤规则建模方法。该方法的目的是解决如何在数据分析中应用数据过滤规则建立分析过滤模型,然后利用模型分析过滤得到差异性的数据子集,最后利用模型完成结果集的自动可视化。利用该建模方法建立的数据分析系统能在真实数据集中快速找到差异性数据子集,并且自动完成对结果子集的可视化展示,展现了建模方法的实用性和高效性。

  关键词:数据分析;差异性数据;过滤模型

软件工程

  《软件工程师》 征稿对象:各大院校IT相关专业、科研单位及培训机构的师生。从事企事业单位信息管理及IT相关行业的专业人员等。

  1 引言(Introduction)

  在數据无处不在的时代,用户的决策越来越受到数据分析的驱动[2]。通常,对于数据分析结果的不同往往能显著影响决策过程。选择不当数据,不管是有意的还是无意的,可能导致误导用户做出的不合适决策甚至导致错误的决策。差异化数据在数据分析中往往具有重要的分析意义,而非差异化的数据对于数据分析的贡献就比较小,甚至会降低数据分析的质量。所以提供用户优良的差异性数据过滤模型能引导用户进行质量更好的数据分析,从而提高用户的决策质量。

  2 简介(Brief introduction)

  大数据的快速发展引起了国内外的广泛关注和重视,如何对大数据进行科学有效地分析处理是大数据领域最核心的问题[3]。分析方法的优劣将决定分析结果的有效与否,将最终影响大数据分析成果的应用。根据国内外的研究将数据分析划分为描述性统计分析、探索性数据分析以及验证性数据分析[4];其中,探索性数据分析侧重于在数据之中发现新的特征,而验证性数据分析则侧重于已有假设的证实或证伪。本论文的研究方向属于探索性数据分析中的差异性数据查找方法。

  2.1相关研究

  在查找规律的方法中,粗糙集理论作为一种数据分析处理的理论引人注目[5]。粗糙集理论是处理不确定信息的一种方法。可以从不完备的信息中得出现有的规律,并从中提取出一些规则,这些规则代表原始数据集的数据分布。一般的在某些情况下有些信息在某些情况下是无用的或者说是无效的,这时候我们假设在不影响最终决策分类结果的情况下,对此属性进行约简去掉无用的属性并且对约简后的数据进行规则提取,分析提取出的规则。在属性简约的CEBARKCC算法中采用了基于信息熵的方法,去除冗余属性从而得到一个粗糙集,这个粗糙集是原始数据集的一个子集,相当于对原始数据集做一个抽样[6]。本文的过滤规则建模方法也是受到这种做法的启发,与属性简约的理念不同的是,本方法主要采用一系列的方法(包括信息熵)对原始数据集的过滤,最终的目的是提取具有最大差异数据的子数据集,这个数据子集不是原始数据集的抽样,而是原始数据集中具有最大差异性的数据的集合。

  2.2 差异数据探索

  数据分析的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。数据分析是组织有目的地收集数据、分析数据,使之成为信息的过程。不同领域不同类型的大数据往往需要特定的分析方法来对数据进行分析,此类数据分析要求分析者对该领域数据有较为深入的理解,这就意味着分析者需要拥有专业领域的知识背景。本论文提出的目的就在于希望通过建立差异化数据分析过滤模型协助分析者对差异化的数据进行快速的分析探索。即使是没有分析经验的分析者,面对大数据时利用本论文提出的分析过滤模型都能使用适当的方法探索分析出数据集中的差异化的数据。

  在大数据探索式场景中,面对大量数据时分析者很难找出差异化的数据。为了使用户能够尽可能消除容易出错的数据探索过程和烦琐的过滤条件设置,直截了当地得到差异化数据子集。毫无疑问的是我们需要一个标准化的流程来决定该如何进行数据的选择。为了实现这个目标,本论文提出一种差异数据子集的过滤规则识别方法,目的是通过合理的利用算法和设定相关的规则解决如何在数据分析中应用数据过滤规则建立分析过滤模型,并利用模型分析过滤数据,最后智能化的展示结果数据。

  建立良好的数据过滤规则面临以下的这些问题亟待解决:

  (1)维度:考虑从什么维度进行分析过滤才能产生更好的差异化分析结果。

  (2)可解释性:过滤模型需要能分析出数据之间的潜在关联,产生能过滤出差异化数据的过滤条件。

  (3)质量:如何判定分析的质量。

  在接下来的章节中我们会详细地讨论如何利用我们的建模方法在来解决上述三个问题。

  3 问题阐述及解决(Problem description and solution)

  3.1 问题阐述

  当用户打开数据集时,面对着成百上千的原始数据往往不知道该如何分析哪些数据子集。如果用户对原始数据没有一定的了解,也就不会知道数据之间的联系,更加不可能知道数据之间是否存在某种潜在联系。因此需要考虑如何选取差异化的维度,使得数据的分析能产生足够差异化的特征表现[7]。

  选取了适合的维度以后,该如何分析选定维度中数据的相互联系,如何定义在该维度数据下的差异化数据,进而选定适合的过滤条件并通过过滤找到其中的差异化数据。这个问题我们在之后会详细讨论如何解决。

  在常用的数据分析工具中常用可视化作为直观地展示数据分析结果的手段,可视化同时作为评判数据分析结果的质量。但是在常用的数据分析工具中需要用户自己选择如何对结果数据集可视化。有经验的分析师能凭借经验知道该如何选择,对于新手来说那就要经过多次的试错才能达到理想的数据展示效果。如果能自动的判定用户选定的数据该如何生成可视化图表,就能大大的帮助到用户检验数据分析的质量。事实上,我们的差异化数据分析过滤模型面对着该如何采用智能化的方法为用户可视化的问题,即如何使用可视化直观的呈现用户数据分析的结果。

  3.2 解决方案

  关于维度的选择和差异化数据过滤条件,本论文基于传统数据库的表结构,从行和列两个维度分析差异化数据。首先通过列数据的分析过滤,查找可能具有差异化信息的数据列,之后通过一系列的关于差异数据的信息计算算法,找到具有差异性特征的数据子集,最后通过可视化展示差异性数据查找的质量。

  总结来说就是在差异性数据过滤模型中有三个过滤规则:差异性数据列的过滤、差异数据范围的过滤、结果可视化的过滤。使用过滤模型进行差异化数据查找流程如图1所示。

  图1 差异化数据过滤模型过滤流程

  Fig.1 The filtering process of differentiated data

  filtering model

  實践证明通过以上过滤规则引导用户进行差异性数据分析,能明显提升用户分析差异性数据的质量。在接下来的章节4.1介绍数据列的过滤规则建模方法;4.2中介绍数据范围的过滤规则建模方法;4.3中介绍结果数据可视化的过滤规则建模方法。

  4 建模方法(Modeling approach)

  接着具体介绍一下如何根据数据集本身特征,以及用户的真实需求产生适当的数据列差异性分析过滤。

  4.1 差异数据列的过滤

  数据集D里面有很多数据列等待差异性分析,对于没有分析经验的普通用户来说,并不知道哪些数据列具有差异性数据。而数据列的差异性分析过滤不仅能帮助用户方便的分析数据列之间的联系,更能帮助用户挖掘数据列之间的潜在联系,用户通过分析过滤模型得到最有可能具有差异性数据子集的数据列。

  4.1.1 对于指定关键列差异性分析的列过滤

  当用户指定关键列时,一般来说,用户希望得到相关数据列对于关键列的差异性是否具有影响,并希望知道这些相关列对于关键列差异性的影响因子。因此,指定的关键列的差异性分析过滤核心思想就是在数据集D中计算相关列对于关键列所产生影响的影响因子,然后根据影响因子大小排序进行过滤。本部分过滤模型采用随机森林的方法完成相关列的过滤。随机森林[8]计算影响因子的核心思想就是计算每个特征列在随机森林中的每颗CART树(最小二乘回归树)上做了多大的贡献,然后取个平均值,比较特征之间的贡献大小。贡献度通常用基尼指数(Gini index)或者袋外数据(OOB)错误率作为评价指标来衡量。本论文采用的是袋外数据(OOB)错误率作为评价指标来衡量贡献度。方法的伪代码如下Algorithm 1所示。

  之所以可以用∑(err00B2-errOOB1)/Ntree这个表达式作为相应特征列影响因子的度量值是因为若给某个特征列随机加入噪声之后,袋外的准确率大幅度下降,则说明这个特征列对于关键列的分类结果影响很大,也就是说它对于关键列的差异性影响程度比较高。

期刊VIP网,您身边的高端学术顾问

文章名称: 查找差异数据子集的过滤规则建模方法

文章地址: http://www.qikanvip.com/ruanjiankaifa/49776.html