您好, 访客   登录/注册

基于贝叶斯的大数据异常值检测模型研究

来源:用户上传      作者:周梁琦 章权 魏莉

  摘要:随着物联网、云计算、移动互联网等信息产业的不断进步,数据规模越来越大、处理难度也逐渐加大。而海量的数据中,异常数据会干扰后续的挖掘、预测与分析。因此,有必要对异常数据进行检测,提高数据的准确性。但由于数据量过大,大数据常常不具备明显的分布特征,然而对非典型特征的数据进行建模是一个挑战,因为推理会变得更加困难。以空气质量大数据为例,研究了如何将不具备明显分布特征的大数据,利用独立的高斯分布混合分布描述此类数据。在前期研究的高斯混合模型+神经网络的基础上优化了均值和协方差的选取,使得结果更加准确。这对于异常数据检测具有重要意义,更大程度地提高检测的准确性。
  关键词:异常值检测;贝叶斯聚类算法;高斯混合模型;神经网络;模型融合
  中图分类号:TP3-05 文献标识码:A
  文章编号:1009-3044(2020)01-0207-03
  1概述
  随着物联网、云计算、移动互联网等信息产业的不断进步,数据发生了“大爆炸”。人们将这种海量数据称之为“大数据”,数据规模越大、处理难度越大,但如果能够有效地组织和使用大数据,对其进行科学的挖掘,产生的价值将会更大。而海量的数据中,异常数据会干扰后续的挖掘、预测与分析。因此,有必要对异常数据进行检测,提高数据的准确性。
  空气质量数据在实际监测过程中,由于样品的采集、分析和采样地点的偶发事件、各种环境要素本身的时空变化以及本身的数据特点等一系列因素的影响,导致数据常常不具备明显的分布特征。所以本文以空气质量大数据为例,提出一种基于贝叶斯优化的聚类模型。
  2研究现状
  在大数据下,人们产生的数据量激增,为人们分析利用数据提供了大而广的数据来源,然而这些数据往往呈现结构复杂、噪声多等特性,传统的数据异常值检测方法已经难以进行有效的数据分析,这已成为人们深度挖掘大数据潜在价值的阻碍。
  现有方法对具有非典型特征的大数据异常值检测,在实际应用中往往出现效率低或准确性差等问题。如何提高大数据异常值检测的效率和准确性,对数据挖掘、数据分析以及预测具有重要意义。异常值检测最先是在统计学方向出现的,接着,Knorr等将其应用到了数据挖掘领域中。
  对于已有的异常值检测方法基本能够按下面的标准分成三大类别:
  以数据的分布为基础来检测离群值,这个方法一开始就以所已知的数据满足一个已有的概率模型或者概率分布,接着按照数据点与假定的分布中的点是否一致来检测异常值。但是由于实际中的数据很难准确得到其概率分布,因此这种方法在应用上有比较大的局限。
  以数据间的距离为基础来检测离群值,这个方法一开始是由Knott与Ng一起提出,他们认为,若是一个数据与集合里的绝大部分数据间的距离都比之前设定的阈值大,那么它便是一个异常数据。该方法的不足的地方就是比较难确定基准值和距离。
  以数据密度为依据来检测离群值,这个方法最早被Breunig提出来,通过衡量一个对象与它周围对象的无关程度来判断是否为离群点。该方法能够探测到包括基于距离方法探测不到的所有异常值,但它仍有一些问题,比如方法中涉及的参数确定问题。
  为了弥补异常值检测算法的不足,后来的很多学者发展了很多不一样的算法来改善异常值算法。姜立明[4]等人利用聚类算法来对模糊集的进行降维和对单元格边长选择了加权处理,运用了一种基于单元格的离群值挖掘方法,该算法对高维数据具有良好的延展性,可是还是要人为设定参数。曾颖等人通过对数据流进行聚类算法来减少数据量,对聚类之后的数据采用凝聚聚类算法检测异常值。胡云等人利用了粗糙理论来分析异常数据,进行异常数据的检测,并使用了一种新的方法,该方法充分采用属性归约技术来去除多余属性,并通过对以近邻为基础的异常加权因子的计算,来最终判断异常数据的集合。徐衡分别研究了宝鸡市空气质量于气象因素之间的关系,并分别建立了回归方程,并提出了相应的空气治理办法及措施。沈劲等人对广东省顺德区进行空气质量分析,并建立了基于气象因子聚类和多远回归的方程来预测空气污染物浓度。
  虽然已有一些学者从不同方面对大数据的异常值检测方法进行了研究,但是由于大数据的复杂性,使得模型需要设置大量参数并且参数难以确定。
  针对大数据异常值检测,以空气质量大数据为例,研究空气质量数据下异常值检测的特点,综合分析各种方法的优劣,拟使用贝叶斯及神经网络的方法进行聚类及优化,提高异常值检测的准确性和效率。
  3模型及方法
  3.1數据分析
  本文使用我国某一城市2014-2018年度空气PM2.5一天24小时监测的污染数据。在本次研究中,相关PM2.5数据来源于大数据网站。数据分布如图1所示,可以看出数据大致集中在7到8个区域。
  通过对数据的大致分析,本文选取混合高斯模型作为基础模型对数据进行异常值的处理。
  3.2贝叶斯混合高斯模型
  本文所采用混合高斯模型,其目的是利用数据的密度进行初步聚类,使得数据体现出明显的分布特征,以便于后续对数据进行合理聚类,剔除其中的可疑或不合理的数据,使被监测的空气质量状况能够得到真实反映。
  此模型中由于对均值和协方差的计算会花费大量的时间、费用,因此,在优化时通常希望在少量代价下得到满意解,贝叶斯优化侧重于减少评估代价,保证其能够仅经过少数次目标函数评估即可得到近优解。在最优化采集函数的前提下,贝叶斯优化能够在理论上保证最终收敛。这是因为迭代过程中每次迭代都采样最有“潜力”的点进行评估,只要保证足量的迭代次数,算法最终一定会收敛到全局最优解。
  3.3基于cNN的空气质量数据异常检测模型
  由于气候数据之间存在明显的关联性,因此不能从单一方面说明某个数据是异常值,必须建立数据之间的关联关系。BP神经网络算法具有强大的非线性映射,但是在样本数量大、复杂性高等情况下存在训练速度慢、误差大和时间复杂度高等缺点。贝叶斯聚类能够对数据进行模块化分类,将高相似度数据聚集在数据集中,并且不同数据集之间差异较大,为了弥补BP神经网络算法的缺点,将聚类后的数据集作为训练样本。结合上述两种算法,能够取长补短,避免单独应用一种算法的局限性,更好地改善训练质量。
  BP神经网络由输入层、若干个隐层和输出层组成,层与层之间是全连接的,每一个连接弧连接两个神经元,并赋有权值作为前一层神经元对后一层神经元的影响程度,每一层内部的任意两个节点都是互不相连。它的学习规则是使用最速下降法,通过方向传播来不断调整网络的权值和阈值。
  3.4融合模型整体结构
  针对空气质量数据,将混合高斯模型和神经网络融合。首先,对空气质量数据进行聚类处理,然后将聚类后数据集作为BP神经网络的训练样本。通过比较网络的输出值和真实值实现数据的异常检测,达到目的,总体设计模型如图3所示。
  4实验仿真
  将空气质量大数据放入模型中训练,得到训练后的数据特征。如图4均值分布情况所示,这里均值分布等同于之后神经网络进行训练时簇的个数。
  单一的神经网络与贝叶斯高斯混合模型的效果进行比较,结果如图5所示。图中蓝色的线是神经网络的正确率,黄的线是贝叶斯高斯混合模型+神经网络的正确率。
  5结论
  为了解决大数据中异常数据的影响,提出了一种贝叶斯优化的异常值检测模型。通过贝叶斯推理,对混合高斯模型中均值及协方差的选取进行了优化,降低了模型的使用难度及成本;同时本方法相对于单个模型提升了准确率,加快了收敛速度,得到了更好的检测效果。但cNN模型的构建是一个耗时的工程,如果能更快地确定参数,将大大降低成本,提高效率,这将是未来的优化方向。
转载注明来源:https://www.xzbu.com/8/view-15143828.htm