传感器异常数据处理.docx
- 文档编号:6144327
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:13
- 大小:31.83KB
传感器异常数据处理.docx
《传感器异常数据处理.docx》由会员分享,可在线阅读,更多相关《传感器异常数据处理.docx(13页珍藏版)》请在冰豆网上搜索。
传感器异常数据处理
异常数据处理方法研究
1异常数据处理概述
1.1研究背景近年来,随着海上风力发电技术的日益成熟和陆上风电可开发资源的不断减少,海上风电尤其是近海风电的开发开始加速。
风机是海上风电开发的主要形式,而风机基础结构承担着抵抗海上风机结构的竖向、水平荷载和倾覆力矩的作用,其质量关系到海上风机结构的运行安全。
作为隐蔽工程,其健康状况受到了社会各界的高度重视,如何对风机基础特别是MW级风机基础的安全运行状况监测成为研究领域的热点。
现有的监测技术需要通过设置在风机基础中的数据采集系统自动获取基础的各状态的大量参数,如应力、应变、振动、变形等,采集到的海量原始数据通过通信网络传输到监控中心,经过数据存储,分析处理得到基础的安全运行状况和维修决策等结论。
风机基础监测系统是集结构监测、系统识别及结构评估于一体的综合监测系统,其内容包括几何变形监测、结构响应(应力、应变及振动)监测等。
监测系统的质量主要取决于三方面因素:
(1)传感器的灵敏性和精度以及数据传输和采集设备的性能;
(2)测点的空间分布,即传感器的最优布置问题;(3)异常数据的分析处理。
从目前电子技术的发展来看,成熟、稳定、高性能的传感器已经被应用与监测系统中,而且合理安排传感器位置,以达到信息采集的最优化,也已经有很多研究成果。
但由于监测信息格式复杂、信息量大,每天数据量甚至能达到十几GB,如果不能有效地对这些数据进行处理,很多异常数据将不能有效辨识,缺失信息将不能有效弥补,而且监测数据的分析必须建立在准确有效的监测数据之上,低精度和异常的监测数据常常影响数值分析的结果,会影响到系统的功能与特性分析,给后续数据处理带来很大的误差,正常信息不能得到有效利用,故有必要对原始采集数据进行处理。
因此监测异常数据处理是三方面中至关重要的一点。
监测系统异常数据处理包含两个方面的内容:
(1)异常数据检测,即找出异常信息并确定异常信息所在位置,根据需要将异常数据保存入专门数据库中或直接进行剔除;
(2)异常数据修正,即通过插值等方法,参考数据异常点前后的数据,完成该异常数据点的修正,确保采集信息不缺失,保持原始采集数据的连续性。
异常是一个复杂的概念,迄今为止还没有一个统一定义。
Hawkins提出的异常定义被大多数人所接受,其定义为:
异常是在数据集中与众不同的数据,使人们怀疑这些数据并非随机产生的,而是产生于完全不同的机制。
异常数据往往代
表一种偏差或者新模式的开始,因此对异常数据的识别有时会比正常数据更有价值。
传感器异常数据是指在数据集中与大部分数据不一致或者偏离正常行为模式的数据。
异常数据的产生主要是因为以下几种情况而发生的:
(1)数据来源中的
异常,这类异常中可能隐藏着重要的知识或规律。
对这类异常分析可以获取常规数据不能得到的新的信息,如基础结构损坏等;
(2)数据固有变化异常,这类异常通常是自然发生的,如风速的变化、波浪波动等;(3)数据测量误差,这类异
常的产生往往是因为测量仪器故障或者网络传输错误,以及噪音的存在引起的,这类异常通常作为噪声而被删除。
与其他工程相比,风机基础安全状况监测发展较为滞后,尚未发现关于风机基础监测数据处理的相关研究成果,其监测异常数据的处理缺乏相应的经验。
可以借鉴类似工程监测数据处理的方法进行研究。
而针对监测数据的种类多、数据海量、频幅分布广等特点,国内学者已经研究了很多处理办法。
其中研究较多的如小波分析、数据挖掘、数据流理论等。
然而,目前的类似工程监测数据处理的方法主要是在离线数据的基础上,在实时监控上还缺乏相应的准确率和智能化。
结合风机基础特点,寻找一种有效的适用于风机基础监测实时数据处理的方法具有十分重要的研究意义和实用价值。
1.2国内外研究现状综述
在国外,研究人员通过对异常挖掘的深入研究,根据对异常存在形式的不同假设,提出了许多异常数据检测算法。
早期的异常数据检测方法是基于统计的方法,这种方法依赖于数据集服从某种标准分布,所以异常数据是基于概率分布来定义的,如Yamanishi等人将正常行为用一个高斯混合模型来进行描述,通过计算数据对象与这个模型的偏离程度来发现异常。
虽然这种基于标准分布的模型,能识别异常现象,但此类方法有很大的局限性,因为往往无法预知数据集是服从哪类标准分布。
为了克服这种缺陷,JamesP.R、DanielB.等在概率论H假设检验方法的理论基础上,提出了一种基于某置信度区间标准的异常检测方法,达到这个标准的则为正常数据,反之则为异常。
Knorr等人于1998年提出了基于距离的异常数据检测算法,他们认为数据是高维空间中的点,异常数据被定义为数据集中与大多数点之间的距离大于某个事先设定的阈值的数据。
F.Abgiulli和C.Pizzuti等学者针对基于距离的异常数据挖掘算法在高维数据中计算时间较长的缺点,将图论中的连通性原理引入到数据之间距离的计算上,极大地降低了计算时间复杂度。
Arning等人提出了基于偏离的方法,这种方法认为:
某个数据对象在数据集中的特征明显“偏离”数据集中的其它数据时,这样的数据被认为是异常数据。
BirantD等提出了一种任意形状的聚类算法并将其应用于异常挖掘中,该算法可以依据数据的非空间属性、空间属性和时态属性来发现聚类簇和异常数据对象。
Breuning等学者定义了局部异常因子的概念,提出了一种基于密度的局部异常点挖掘算法,它是用局部异常因子LOF(LocalOutlierFactor)表征数据对象
与它的邻居对象的偏离程度,LOF越大则认为该点是异常数据的可能性越大。
ToWel等人在分析神经网络的基础上,根据神经网络的理论提出了基于神经网络的异常数据挖掘算法。
最近提出的比较流行的异常数据挖掘算法是基于核的分类方法,主要思想是将输入的数据通过关系函数映射到一个高维特征空间,通过高维空间的分类超平面,就可以建立一个简单的分类模型,从而区分正常或异常数据。
国内对异常数据挖掘的研究起步较晚,但是近年来在理论研究方面已经取得了许多研究成果。
林士敏对基于距离的异常数据挖掘算法作了改进,提出了基于抽样的近似检测算法;金义富等在Knorr观点的基础上,提出了一种异常约简算法ORDA,该算法以粗糙集理论的属性约简技术为基础,提出了异常数据划分和异常约简思想,以及异常数据关键属性域子空间的分析方法,这种方法可以对挖掘出的异常数据进行有效的分析和解释;重庆大学的邓玉洁,朱庆生提出了基于聚类的异常数据挖掘方法,该方法将离群数据在分类讨论的基础上,定义了平凡离群数据、非平凡离群数据以及噪声数据,然后引入离群属性和离群聚类簇的概念,在此基础上,以现有的异常数据挖掘技术为基础,实现了离群数据的发现。
田江在一类支持向量机的基础上,设计了一种“孤立点——类支持向量机”算法,该算法是一种无监督的异常数据检测算法,通过设定不同的权值,将基于超平面距离定义的异常数据的异常程度和基于概率大小定义的异常程度相结合,通过在特征空间划分距离可疑异常数据的最大间隔超平面来发现异常。
综上所述,国内外针对异常数据产生的原因以及应用领域的不同提出了许多异常数据检测算法。
大量研究发现,基于密度的局部异常数据挖掘算法能够发现其它的异常数据挖掘算法不能发现的异常,即“局部”异常,它更加符合Hawkins对异常数据的定义。
Breunig等人提出了局部异常因子(LocalOutlierFactor,LOF)的概念,通过它来表征一个数据对象的局部异常程度,LOF算法出现后,出现了很多局部异常程度的度量算法。
这些算法适用于静态环境下的数据库,但在工程应用领域,大部分数据库中的数据是随时间动态增加的,新增加的数据可能会影响某些对象的局部异常程度,因此在二次挖掘时,需重新计算所有数据对象的局部异常因子,计算时间复杂度较高,所以这些算法在动态环境中不易实现。
因此,如何在动态环境中提高基于密度的异常数据挖掘算法的时间效率避免大量的重复计算显得尤为重要。
1.3研究目的和意义本项研究的目的在于结合风机基础特点,在传统异常数据处理方法基础上,研究一种有效的适用于风机基础监测实时数据处理的方法,该方法能够在线辨识异常监测数据并保存,且能够自动修复原数据集,保持器连续性。
本研究的意义在于:
(1)实现异常数据在线检测与修正。
目前的监测数据处理方法主要是在离线数据的基础上,在实时监控上还缺乏相应的准确率和智能化。
本研究实现了异常数据在线检测与修正,与传统的异常数据识别方法相比,具有更快的计算时间和更高的还原精度,能够满足数据的在线异常检测与修正要求
(2)实时发现异常状况并采取必要处理措施。
对于实时检测出的异常数据进行分析,寻找异常事件原因,并根据产生原因采取应有的处理方式。
对于传感器故障或执行错误导致数据异常情况,应进行剔除处理;有些异常数据是数据变异产生的结果,如对于基础结构监测,发生异常工况或结构损坏在一段时间往往会出现前兆,导致数据异常,如果能够及时捕捉到异常状况的发生并采取相应措施,则能防患于未然,保证结构安全。
(3)提高和完善监测结果准确性,为后续研究奠定基础。
监测结果的准确性建立在高质量的监测数据之上,如果不能有效地辨识与处理异常数据,低精度和异常的监测数据混入正常数据集中,会对监测系统的功能与特性分析产生重大影响,给后续数据处理带来很大的误差,正常数据信息不能有效用于后续的相关研究,利用数据研究得到的结论与实际可能存在较大误差。
1.4主要研究内容
本研究主要包括以下3部分内容:
(1)对常用异常数据检测与修正方法简要介绍,介绍了常用的数据预处理技术及异常数据检测问题的重要特征,对常用异常数据检测及修正算法进行了描述和讨论,分析了各种算法的优缺点和适用场景。
(2)几种典型改进算法及其工程应用实例进行分析,。
(3)风机基础监测异常数据的检测和修正。
2异常数据检测与修正方法
异常数据检测问题通常包括四个过程:
第一是数据的预处理,即通过数字滤波方法去除一些干扰;第二是异常数据的定义,即在数据集中表现出怎样的行为或者模式的数据称为异常数据;第三是选择合适的能够有效发现异常数据的算法,异常数据表现行为不同,异常数据挖掘算法结果也会有所差异;第四是异常数据的修正,即通过异常挖掘将异常数据挖掘出来后,对这部分数据按照原有模式规则进行修正,确保采集信息不缺失,保持采集数据时间序列上的连续性。
本章介绍了常用的数据预处理技术及异常数据检测问题的重要特征,对常用异常数据检测及修正算法进行了描述和讨论,分析了各种算法的优缺点和适用场景。
2.1数据预处理技术
数据是通过各种类型的监测传感器获取的,数据是一种通过间接方法取得事物状态的技术,如将结构相应等参数通过一定的转换技术转变为电信号,然后再将电信号转换为数字化的数据。
由于传感器安装环境的不稳定和数据转换过程掺杂少量的噪声数据等各方面因素的影响,得到的数据会受到一定干扰,影响了最终数据的准确性。
为了减小噪声对数据结果的影响,除了采用更加科学的采样技术外,还需要采用一些必要的技术手段对原始数据进行整理、统计,数字滤波技术是最基本的处理方法,它可以消弱数据中的噪声,提高数据的代表性。
均值滤波是最常用的数字滤波方法,是对采样序列中的数据求和后,再取其平均值作为结果。
虽然这种方法可以达到滤波的目的,但是如果采样数据中的噪声数据过大或过小,都会对处理结果产生影响。
中值滤波是对采样序列按大小排序形成有序列,取有序列的中间值作为结果。
排序算法一般采用“冒泡排序法”或“快速排序法”等。
众数是数理统计中常用的一种数据处理办法,它要求对大量的数据进行处理,众数滤波的原理是在采样序列中找出最大值Tmax和最小值Tmin,再在区间上平均分为m组(5-10组),确定完分组后,对序列统计各组区间内数据的个数,形成统计序列,查找其最大的值即众数组序号k,根据相应公式计算众数的近似值。
以前由于计算机的采样速度和计算机速度较慢,处理周期较长,所以一直没有采用,随着计算机运算速度的提高及高速采集模块的采用,现在处理周期已缩短到1秒以内,由于众数滤波的数据代表性较其它处理方法更强,所以逐步被采用。
为了提高滤波的效果,尽量减少噪声数据对结果的影响,可将两种或两种以上的滤波算法结合在一起使用。
如对于采集的数据量比较大的环境参数,为了达到更好的滤波效果,可以选用众数滤波和均值滤波结合的复合滤波方法。
2.2异常数据问题的重要特征
异常数据问题的重要特征可以概括为四个方面,即数据特性、异常类型、数据标签和输出类型。
(1)数据特性
异常检测算法的输入一般是数据实例的集合。
每个数据实例用一个或若干个属性及其取值来描述,每个属性的取值可能为二进制、分类或连续变量的形式。
属性的表示方式不同,适用的异常检测算法也不同。
例如,如果使用统计学的技术检测异常,分类和连续取值的数据需要使用不同的统计模型。
按数据实例之间的关系,数据可以分为顺序数据和空间数据。
顺序数据的数据实例之间有一定的先后次序,其典型实例包括时间序列数据、基因组序列和蛋白质序列等。
空间数据的各个数据实例之间有一定的相对位置关系。
数据实例之间的关系对异常检测算法的设计有重要影响。
(2)异常类型
数据异常可以分为三类:
点异常、上下文异常和集合异常。
如果某个单个的数据实例被认为是异常值,则该数据实例就被标记为点异常。
点异常是最简单的一类异常,也是与异常检测相关的文献中讨论最多的一类异常。
如果某个数据实例只在特定的场合或环境下被认为是异常值,则该数据实例就被标记为上下文异常。
一个典型的例子就是野外环境的温度监控,温度报警阂值的设定要根据当前季节的大气温度变化范围和一天中的时间确定。
集合异常是包含多个相关的数据实例的异常,是多个数据实例的集合。
集合中单一数据实例不被认为是异常,但这些数据实例同时出现就构成了集合异常。
(3)数据标记对于点异常检测,每个数据实例都可以有一个分类标记,用来标记该数据实例是否正常或异常。
给数据实例做标记的工作一般由领域专家来完成,被标记的数据实例的集合称为训练数据集(trainingdataset)。
根据数据实例被标记的情况,异常数据检测技术可分为以下三类:
有监督(supervised)异常检测,半监督(semisupervised异常检测和无监督(unsupervised异常检测。
对于有监督异常检测,训练数据集存在,且其中既包括标记为正常的数据实例,也包括标记为异常的数据实例。
利用训练数据集构造一个分类预测模型,把标记未知的数据实例输入该模型,根据模型输出判断该数据实例是否异常。
对于
半监督异常检测,训练数据集存在,且其中只包括标记为正常的数据实例。
利用
训练数据集构造一个预测模型,把标记未知的数据实例输入该模型,根据模型输出判断该数据实例是否能属于正常分类,不属于任何正常分类的数据实例一律标记为异常。
对于无监督异常检测,不需要训练数据集,但需要假设正常的数据实例在数量上要远远多于异常数据实例。
(4)输出类型
异常检测算法有两类典型的输出:
分值(score)和标记(label)。
前一类算法依据一定的标准,给训练数据集中的每个数据对象(即数据实例或构成集合异常的数据实例的集合)标记一个分值,并且输出一个按分值排序的可能的异常数据对象列表。
领域专家可以在此基础上最终确定异常数据对象。
后一类算法直接把每一个数据对象标记为正常或异常,不需要领域专家的直接参与。
2.3异常数据检测方法
随着对异常挖掘研究的深入,对应于不同的应用领域出现了许多异常数检测方法,参考大量研究成果,本节简要介绍了常用的八种异常检测算法的基本技术思路及部分方法的优缺点。
前面七类主要是针对点异常检测做的归纳,但这些检测算法也经常适用于集合异常的检测,最后一类是讨论上下文异常的检测。
(l)基于分类的异常检测基于分类的异常检测基本都是分为两个阶段,即训练阶段和检测阶段。
在训练阶段,算法利用训练数据集中的数据对象,构造分类器模型。
在检测阶段,测试数据集中的数据对象被输入分类器,根据分类的结果判断是否是异常数据。
分类器可以基于规则、神经网络、贝叶斯网络和支持向量机等技术来实现。
按照训练样本有标记种类个数的不同,基于分类的方法分为有监督的方法和半监督的方法。
基于监督学习的分类方法最常用的方法是基于支持向量机的方法,基于支持向量机的方法不需要事先对数据作任何假设,也不需要任何的预设参数,但是支持向量机的计算时间往往较长,主要是因为核函数的计算往往要消耗大量的计算时间,同时基于支持向量机的方法也很难确定合适的参数来衡量特征空间中正常数据区域边界的大小。
基于半监督的分类方法常用的有基于神经网络的方法,神经网络是一种常用的回归预测和分类技术,基于神经网络的异常检测是通过对正常数据样本的学习后建立一个正常样本的分类模型,然后在输出层重构输入数据,如果重构的误差很大则将该数据判定为异常数据。
基于神经网络的异常数据检测方法不需要事先对数据进行任何条件假设,能够发现异常的关键属性,从而根据这个关键属性有效地发现数据集中的异常。
神经网络方法虽然能较好地发现异常,但是神经网络对模型参数的设定具有很强的依赖性,且这些参数会对检测结果产生较大影响。
(2)最近邻法异常检测
使用最近邻法的基本假设是:
按某种度量方式,正常数据对象之间比较接近,而异常数据对象和邻居数据对象之间却相对较远。
数据对象之间的远近可以用距离或相似性表示。
如果数据对象的属性都是连续的变量,经常用欧式(Euclidean)距离来表示数据对象之间的距离。
常见的基于最近邻法的异常检测算法大体分为两类:
一类算法是基于距离的异常数据检测,另外一类是基于密度的异常数据检测方法。
基于距离的方法克服了基于分布的方法事先要知道数据集分布,依赖统计检验的缺点,其实质是将异常数据对象看作是在阈值d内其邻居比较稀疏的对象。
基于距离的异常数据检测方法又可以分为三种:
即基于索引(index-basec)的方法、基于单元(cell-based)的方法、基于循环嵌套的方法(nested-loop。
基于距离的异常数据检测方法的主要缺陷是时间复杂度较高且难以确定合适的参数k
与d。
针对上述两种问题,出现了许多改进算法。
基于距离的异常数据挖掘方法是基于分布的方法的拓展,在数据集不满足任何分布模型时仍能够有效地发现异常数据。
但是该方法对参数选择非常的敏感,不适用于数据形状分布不均匀的数据集,且该方法需要搜索整个数据集来确定每个数据对象的邻居,算法时间复杂度较高,不适用于大规模的数据集。
基于密度的异常数据检测方法是通过计算数据之间的距离以及与给定范围内数据的个数相结合来得到“密度”的概念,然后将数据对象的异常程度与它周围的数据的密度相关联。
最常用的为基于局部异常因子(LocalOutlierFactor)的异常数据检测算法,自从LOF这个局部异常数据检测方法被提出以后,相继出现了许多度量异常程度的方法,比较经典的有COF、MDEF、SLOM等。
基于密度的方法能检测出其它方法不能识别的异常即局部异常数据。
该方法定义了数据对象的异常程度,在检测率上有较高的精度,但是该算法每次都要扫描数据库来查找数据对象的k邻居,这样计算时间开销是很大的,与基于距离的方法一样,基于密度的方法的时间复杂度也是0(N2),采用专门的索引结构可以将时间复杂度降为O(NIogN),但是当数据维数比较大时,索引结构将不再有效,时间复杂度为O(N2)。
(3)基于聚簇的异常检测
聚簇(clustering)技术用来对数据对象进行分组,相似的数据对象被归入一个簇。
在异常检测领域,聚簇技术被用于无监督检测和半监督检测。
依据基本假设的不同,基于聚簇技术的异常检测方法大体分为三类:
一类假设正常的数据对象
都能被聚簇算法归入某个簇,而异常数据对象不属于任何一个簇;一类假设正常的数据对象与它所在簇的质心比较近,而异常数据对象与它所在簇的质心比较远;另一类假设正常的数据对象属于较大且较密集的簇,而异常的数据对象属于较小且较稀疏的簇。
基于聚簇的异常数据检测方法首先是对数据集进行聚类操作,然后再针对聚类簇进行异常数据的判断,是一种有效的异常数据检测方法。
但是聚类的效果往往会影响异常数据的检测效果,而异常数据的存在对聚类效果的影响是不容易忽略的,因此在聚类过程中往往要采用不同的方法来避免异常数据对聚类的影响,因此该方法的针对性较强,能否有效地挖掘异常数据依赖于数据集中聚类簇的个数以及异常数据的存在性,并且虽然该算法适用于大规模数据集,但是对高维数据的异常检测效果并不十分的理想。
(4)统计异常检测
使用统计异常检测方法的基本假设是:
正常数据对象分布在某个随机模型的高概率区间,而异常数据对象出现在该随机模型的低概率区间。
异常检测的基本思路是:
首先利用训练数据集和领域知识构造随机模型,然后检测测试数据集中的数据对象是否有比较高的概率由该随机模型生成。
依据是否知道随机模型的具体参数,统计异常检测分为两类:
参数化检测和非参数化检测。
参数化检测主要包括基于高斯模型和基于回归模型的异常检测,非参数化检测主要包括基于直方图和基于核函数的异常检测。
基于统计学的异常数据检测算法主要优点是:
算法有概率统计的理论作为其有利的支撑;通过对异常数据不一致性检验可以发现背后隐藏的意义;在概率模型建立后只需要存储少量的模型信息不需要存储数据对象的信息,降低了数据的存储量。
基于统计学的异常数据检测算法主要缺点是:
通常只能处理单维的数据对象;需要很多先验知识,要预先假设数据集的分布,不适合分布未知的情况;通常只适合处理数据型的数据,限制了其在符号型或者含有大量分类数据对象的数据集上的应用。
(5)基于信息论的异常检测嫡在信息论中是一个重要的概念,用来衡量所收集到的信息的不确定性。
基于信息论进行异常检测的基本假设是:
数据集中的异常数据实例导致了嫡的增加。
如果用D表示数据集,C(D)表示D的嫡值,基本的异常检测思路是:
设法找到D的一个最小子集I,使得C(D)-C(D-I)最大,则子集I中的数据就是异常数据实例。
(6)基于维度减小技术的异常检测使用维度减小技术的基本假设是:
数据可以被嵌入或投射到一个低维度的子空间中。
在此子空间中,正常数据对象和异常数据对象能被显著的区分开。
虽然有多种降低数据维度的方法,但各种基于主分量分析(PrincipalComPonentAnalysis,PCA)的方法在异常检测中应用最多。
(7)基于偏差的异常检测
Argrawal和Ragaran(KDD1995)提出一种“序列异常”(sequentialexception)的概念。
给定n个对象的集合S,建立一个子集序列{Si,S2,…,Sm},对每个子集,确定该子集与前序子集的差异度的差。
光滑因子最大的子集就是异常集。
这个算法复杂度与数据集大小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感器 异常 数据处理
![提示](https://static.bdocx.com/images/bang_tan.gif)