CN111460005B - 一种基于jsd的时序数据的离群点检测方法 - Google Patents
一种基于jsd的时序数据的离群点检测方法 Download PDFInfo
- Publication number
- CN111460005B CN111460005B CN202010319014.5A CN202010319014A CN111460005B CN 111460005 B CN111460005 B CN 111460005B CN 202010319014 A CN202010319014 A CN 202010319014A CN 111460005 B CN111460005 B CN 111460005B
- Authority
- CN
- China
- Prior art keywords
- part1
- part2
- jsd
- data
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及到一种用于检测时间序列离群点的方法,通过改进的概率分布公式P,提出一种基于JSD的高效检测离群点的方法JSDFP。首先将6‑8月份西气东输外壁通电位时间序列数据进行预处理,删除重复点后。得到可分析的时间序列数据集M,按等天分割时间后,统计出一天的所有测试桩放电情况。再对每一个测试桩进行JSDFP算法寻找离群点。在Python中实现,并按照每日日期,测试桩编号,以及范围内所有离群点的索引Find_List=[a,b,c,...,n]。根据最终得到的索引编号匹配MongoDB数据库内的通电位时间序列的值,完成离群点的检测结果。利用JSDFP可以有效对时间序列中的离群点进行检测。
Description
技术领域
本发明涉及时间序列和统计学领域。涉及到一种基于JSD的离群点检测方法JSDFP(Jensen Shannon Find Point),该架构通过统计学中概率分布公式,通过实现离群点的敏感化来解决离群点的识别问题。可以有效用于西气东输通电位时序数据的离群点检测。
背景技术
西气东输项目:北京中海油能源研究院的西气东输管道外壁保护层检测系统的构建。中国的西气东输外壁采用阳极保护法,类似于船底部的涂层。通过氧化还原的原理实现管道外壁的保护。每隔3Km设置一个桩,用来采集管道外壁的电压值,按照时间生成西气东输外壁管道电位差时序数据。根据变化的电压值设计出一套实时故障监测系统。这个系统的核心就是对于各种故障的监测和分类。这类数据按照时间顺序收集,所以构成了时序数据。
时间序列在金融,股票,债券,电学,物理,化学等诸多领域有着重要应用。离群点检测对于研究时间序列非常重要,JSD方法就是实现了时间序列分割点的选取,同时,通过其概率分布的机制,可以简单的实现离群点的分割,但是效果不太好,其原因在于JSD算法的概率分布公式与实际场景的不匹配。对时序数据收集的过程中,由于设备供电不稳或设备老化,造成的单点或者多点的数据值异常偏高或偏低的情况,通过JSDFP方法进行准确识别。现在基于JSD算法提出一种JSDFP方法,该方法根据JSD离群点检测方法,通过其概率分布可以确定差异较大的数据,也就是所谓的离群点,实现了离群点的检测。我发现这个基于JSD改进的算法JSDFP,可以很好的运用在离群点的检测上面。在西气东输外壁通电位时序数据中可以准确命中离群点,其准确率在95%以上。
在时序数据发展的过程中,各种算法层出不穷。离群点的检测主要包括三大类,基于统计的离群点检测方法;基于聚类的离群点检测方法;基于最近邻的检测方法。的JSDFP方法就是基于统计的离群点检测方法。其中,在JSD算法的基础上,通过引入权重机制,将每一个点到下一个点的波动情况的权重进行量化后,与其对应的概率分布相结合,就能实现修正JSD算法在离群点检测上性能的不足。JSDFP解决了传统JSD方法在检测离群点波动变化上不敏感的问题。
对于西气东输项目中,使用JSD方法,达到了60-70%的准确率。同一组数据,使用JSDFP方法后,达到了95%以上的准确率。
本专利采用的方法:JSD+WF:JSD算法中概率分布与波动权重WF(Weight-Fluctuation)相结合共同构建出用来检测西气东输外壁通断电位时序数据离群点的系统。其准确率在95%以上。相较于传统方法,性能提升了25-35%。JSDFP是JSD的升级版。在性能上面得到了极大的提升。
对于JSD+WF相结合的方法。如果没有WF,根据波动变化赋予概率分布权重,在JSD中只有60-70%的准确率,对于那些波动变化不明显的离群点,很难检测出来。WF波动权重为指明离群点所在的方位。在西气东输项目数据集标注了1000组带有离群点的时序数据数据集,其中953组时序数据的离群点均被检测出来。
本发明所用实际案例是采用西气东输通电位变化时序数据,对其中时间进行划分,可以选取k个点,每个点的时间间隔为t,就可以得到k*t段时间范围内点的。经过多次实验发现,k取[100,200]个点时效果最佳,k取得越大,算法复杂度越高,时间段的尺度也就越大,很难精确命中离群点。
k取的越小,会造成多个连续的局部误差诞生,也就是说会将不是离群点的剧烈波动点也归为离群点。在本专利中,每一组时序数据的事件范围是以天为尺度。
发明内容:
本发明的目的在于提供一种基于JSD的离群点检测方法。
本发明的另一个目的是解决时序数据波动在JSD方法上的兼容性。
为达到上述目的,本发明的技术方案如下:
一种基于JSD的离群点检测方法,其中,包括如下步骤:
输入西气东输外壁通电位带有离群点的时序数据集M,其包含了1000组带有离群点的西气东输通电位时序数据。
在M中共有n条数据,每条数据中有k个点,点与点之间的时间间隔为t分钟。其中k的有效取值为:[100,200],t的有效取值为:[1,10]。
现在,将k个点进行遍历,从第二个点开始,到倒数第二个点结束,总计k-2个点。在执行具体项目时,k=141,k-2=139;
通过k-2个点确认了每一个点的波动性,求和后得到总波动性,波动性数值取绝对值。之后将每一个波动和总波动进行归一化处理,得到k-2个点的权重值WF。
开始JSD算法,首先,将k-2个点按照平均值;上平均值;下平均值进行标准化。以三个平均值作为分界线,将数据分为0,1,2,3四个级别,方便进行概率分布的统计。
标准化完成后,将一天的数据,首和末数据不取,从第二个数据开始,倒数第二个数据结束,总共k-2个点。并将每一个这样的点设置为遍历点。
将这k-2个点依次进行遍历。每一个点被选作分割点时,可以将片段分为两部分,对其中每一部分的点按照标准化结果,进行概率分布的统计。
之后通过香农熵计算公式,计算每一个分割点两部分的香农熵差值。
统计k-2个点的香农熵差值。
将k-2个对应的点的WT权重值与其香农熵差值相乘,找到其中最大的乘积值。
步骤11.根据最大乘积值S-max确认离群点。该最大值的索引index-S就是离群点所在位置.
进一步,步骤5在标准化时。选取平均数,上平均数,下平均数,将数据的波动分为4个级别。
进一步,所描述步骤7对分割点选取上面,应该将k-2个点,分别作为分割点并遍历,分割后形成2部分,每一部分都有一个对应的香农熵,需要计算出来。
进一步,所描述步骤10对权重归一化后,将分割点的香农熵差值与其相乘,可以得到一个香农熵系数,用这个方法来在进行大小排序。对波动变化较大的数据,赋予一个更高的权重值,这样就不容易出现因为波动差异变化不大造成离群点误判。
首先,将带有离群点的时序数据按天读取,时间间隔每10分钟读取一个点,一天读取141个数据点,即k=141如下:
X=[X1,X2,X3,...,Xn](n=k)
X表示某一天内具有离群点的时序数据组。
上述数据是1000组时序数据中的一组,其中有一个点是离群点,接下来让找出它。
数据的标准化:选取数据的平均值,将X根据下面公式,确认平均值:
上平均值为:
下平均值为:
其中,根据X确定了:X a为平均数;X u为上平均数;X d为下平均数。
将这三个平均数作为分割点,将整个数据区域分为四块,分别用0,1,2,3来表示。意思就是时序数据肯定会落在4个区域其中之一,根据落下的位置区域,将对应的区域和0,1,2,3进行匹配。得到标准化的X序列S:
S=[x1,x2,x3...,xn](n=k)
根据S得到的XS,XS是S第一个元素和最后一个元素去掉后得到的数列,取中间的k-2个点,将每一个点作为分割点:
Xs=[x1,x2,x3,...,xm](m=k-2)
其中,XS代表某一天S序列内的所有分割点,通过量化分割点,将一天内的数据分为两个部分,如下:
Part1(xi)=[x1,x2,…,xi]
Part2(xi)=[xi,xi+1,xi+2,...,xn](n=k)
Part1表示被Xi分割的第一部分;Part2表示被Xi分割的第二部分。
概率分布计算:
第一个Part1的公式表示由三种平均数4分后,得到的四种取值范围。这四种取值的概率分布值是多少,分别表示为:
同理,Part2的公式与Part1表示内容一样。
Number(X u)表示在X u范围内点的数量,Number(Part1(xi))表示Part1(Xi)部分所有点数量。Number(Part2(xi))表示Part2(xi)部分所有点数量,xi表示X中第i个分割点。
概率的权重值确认
其中,Number(Part1(Xi))表示Part1(Xi)部分所有点数量。Number(Part2(Xi))表示Part2(Xi)部分所有点数量,使用上面参数配置完Part1和Part2的权重。
将权重参数其对应的Part概率分布值相乘,构成两个如下的参数,这两个参数是下面计算香农熵非常重要的依据,其组合数量有:
Number(Part1(xi))*Number(Part2(xi))
接下来介绍参数公式为:
APart1=WPart1*Part1(xi,P)
APart2=WPart2*Part2(xi,P)
Apart1表示Part1内概率与Part1权重乘积;Apart2表示Part2内概率与Part2权重乘积。从A part1中获得q个值,从A part2中获得p个值。将A part1和Apart2按照数量公式一共会产生q*p种结果。将q*p组参数输入下列香农熵计算公式。
开始计算香农熵。香农熵底数设置为2,香农熵计算公式如下:
C=(APart1+APart2)*(log2(APart1+APart2))
A=(APart1)*(log2(APart1))
B=(APart2)*(log2(APart2))
JensenShannon=C-(A+B)
香农熵计算公式如上,将[0030]中的q*p种组合分别带入Jensen_Shannon公式中,计算出q*p个香农熵值,将所有的香农熵值进行求和,得到Jensen_Shannon离散测度,简称JSD。JSD的计算公式如下:
计算出在x i点作为分割点的JSD值,现在开始按照波动计算Xi点
处波动的权重值W(xi):
根据W(xi)和JSD(xi),确认了最终的参数S,S由JSD和W共同构成,表示概率分布和波动率结合的综合指标参数。
S(xi)=JSD(xi)*W(xi)
X中第i个分割xi得到的概率波动参数S(xi)。
根据k-2个分割点,获得了k-2个S(xi)概率波动参数,其中第g个参数所对应的S(xg)值最大。
G(xg)=max(S(xg))
得到了某天的离群点时序数据中最大概率波动参数的S(xg),xg表示这一天内时序数据离群点的所在位置。
根据JSD算法和波动权重归一化,得到了离群点xg这样的方法就是JSDFP方法。
本发明独创性如下:
综上所述,本专利的框架是在基于JSD的离群点分割算法框架基础上,通过波动权重归一化设置,构建处JSDFP方法,得到了最终的离群点,其在1000张图片任务上,离群点的命中率为接近95%。
1.JSD算法是用来分割时序数据的,其概率分布机制可以对波动较大的数据有着较高的敏感度,根据这个原理来设计一种基于概率分布的离群点检测方法。经历了两个版本的改良,初代JSD离群点检测有着60-70%的准确率。
2.在波动方面,采用权重归一化的方法,来保持权重波动的数据特征,之前的JSD离群点检测方法缺少了波动的准确描述,在精确度上面大打折扣。这种方法与JSD离群点检测结合,其准确率达到了95%,这种新方法称作JSDFP方法。
附图说明
图1基于JSD改进的离群点检测框架(JSDFP)的流程图
图2JSD框架下执行离群点检测任务的流程图
图3JSDFP框架下执行离群点检测任务的流程图
专利原创性声明:
1.独创性1:本专利所用JSD方法主要做时序数据的时序数据分割工作,但是我根据20次实验发现,JSD内部的概率分布算法对离群点很敏感,我将原有的JSD算法改进成为可以专门检测离群点的新算法。(离群点检测在时序数据应用中非常重要,这个发现是在大量的实验基础上发现的)
2.独创性2:改进的算法在性能上和主流算法存在差异,因此,将AHP层次分析法中的权重计算与新算法中的概率分布计算结合,二者协同工作,大大增加了新算法在离群点的稳定性,结合传统的JSD方法,设计出:JSDFP离群点检测方法。(该算法在性能上接近传统的离群点检测算法)
3.独创性3:对概率分布进行的权重计算可以控制时序数据波动性,对波动离散的时序数据有约束效果。
具体实施方式
首先,将带有离群点的时序数据按天读取,时间间隔每10分钟读取一个点,一天读取k=141个数据点,如下:(接下来让通过具体的案例来说明,选取了具体的西气东输通电位时序数据如下所示)
X=[x1,x2,x3,…,xn](n=k)
X=[-1.006,-0.986,-0.902,-0.886,-1.106,-0.874,-1.086,-0.978,-0.99,-0.906,-1.038,-0.962,-0.906,-0.89,-0.886,-0.87,-1.01,-0.878,-0.85,-1.09,-0.946,-1.05,-1.078,-1.026,-0.986,-0.994,-1.146,-1.094,-1.03,-1.07,-0.946,-1.138,-1.102,-0.91,-0.938,-1.082,-1.09,-1.13,-1.885,-0.934,-1.082,-1.006,-0.862,-0.89,-0.858,-1.006,-0.982,-1.098,-0.918,-0.91,-0.95,-0.93,-0.866,-0.906,-1.134,-1.106,-1.126,-0.942,-0.982,-0.91,-1.09,-0.998,-0.934,-1.146,-0.926,-1.058,-1.118,-1.006,-0.91,-1.038,-0.946,-0.854,-1.054,-0.854,-1.082,-1.054,-1.142,-1.058,-0.858,-1.118,-0.914,-0.93,-0.878,-0.866,-0.87,-0.966,-1.118,-1.07,-1.102,-1.058,-1.002,-0.91,-0.934,-1.134,-0.878,-0.958,-0.966,-0.998,-1.11,-0.99,-0.978,-0.858,-0.886,-0.922,-1.038,-1.098,-1.078,-0.922,-1.094,-0.926,-1.13,-1.09,-0.97,-1.094,-0.874,-0.91,-0.878,-0.89,-1.062,-1.122,-0.858,-1.106,-1.038,-0.866,-0.974,-0.858,-1.142,-0.938,-1.11,-1.106,-1.042,-0.862,-0.906,-0.942,-0.986,-0.898,-0.882,-0.878,-1.006,-1.066,-1.002]
X表示表示1000条西气东输通电位时序数据中的任意一条数据。
数据的标准化:选取数据的平均值:
上平均值为:
下平均值为:
其中,Xa为平均数;Xu为上平均数;Xd为下平均数。
根据X计算出这三个分位数分别为:Xu=-0.85;Xd=-1.139;Xa=-0.994
将这三个平均数作为分割点,将整个数据区域分为四块,分别用0,1,2,3来表示。意思就是时序数据肯定会落在4个区域其中之一,根据落下的位置区域,将对应的区域和0,1,2,3进行匹配。得到标准化的X序列S:
S=[x1,x2,x3...,xn](n=k)
通过X计算出其归一化后的数据为:
S=[1,2,2,2,1,2,1,2,2,2,1,2,2,2,2,2,1,2,2,1,2,1,1,1,2,2,0,1,1,1,2,1,1,2,2,1,1,1,0,2,1,1,2,2,2,1,2,1,2,2,2,2,2,2,1,1,1,2,2,2,1,1,2,0,2,1,1,1,2,1,2,2,1,2,1,1,0,1,2,1,2,2,2,2,2,2,1,1,1,1,1,2,2,1,2,2,2,1,1,2,2,2,2,2,1,1,1,2,1,2,1,1,2,1,2,2,2,2,1,1,2,1,1,2,2,2,0,2,1,1,1,2,2,2,2,2,2,2,1,1,1]
根据S得到的XS,XS是S第一个元素和最后一个元素去掉后得到的数列,取中间的k-2=139个点,将每一个点作为分割点:
Xs=[x1,x2,x3,...,xm](m=k-2)
Xs=[-0.986,-0.902,-0.886,-1.106,-0.874,-1.086,-0.978,-0.99,-0.906,-1.038,-0.962,-0.906,-0.89,-0.886,-0.87,-1.01,-0.878,-0.85,-1.09,-0.946,-1.05,-1.078,-1.026,-0.986,-0.994,-1.146,-1.094,-1.03,-1.07,-0.946,-1.138,-1.102,-0.91,-0.938,-1.082,-1.09,-1.13,-1.885,-0.934,-1.082,-1.006,-0.862,-0.89,-0.858,-1.006,-0.982,-1.098,-0.918,-0.91,-0.95,-0.93,-0.866,-0.906,-1.134,-1.106,-1.126,-0.942,-0.982,-0.91,-1.09,-0.998,-0.934,-1.146,-0.926,-1.058,-1.118,-1.006,-0.91,-1.038,-0.946,-0.854,-1.054,-0.854,-1.082,-1.054,-1.142,-1.058,-0.858,-1.118,-0.914,-0.93,-0.878,-0.866,-0.87,-0.966,-1.118,-1.07,-1.102,-1.058,-1.002,-0.91,-0.934,-1.134,-0.878,-0.958,-0.966,-0.998,-1.11,-0.99,-0.978,-0.858,-0.886,-0.922,-1.038,-1.098,-1.078,-0.922,-1.094,-0.926,-1.13,-1.09,-0.97,-1.094,-0.874,-0.91,-0.878,-0.89,-1.062,-1.122,-0.858,-1.106,-1.038,-0.866,-0.974,-0.858,-1.142,-0.938,-1.11,-1.106,-1.042,-0.862,-0.906,-0.942,-0.986,-0.898,-0.882,-0.878,-1.006,-1.066]
其中,XS代表某一天S序列内的所有分割点,通过量化分割点,将一天内的数据分为两个部分,如下:(取Xi=1,通过下列公式得到)
Part1(xi)=[x1,x2,…,xi]
Part2(xi)=[xi,xi+1,xi+2,…,xn](n=k)
Part1(1)=[1]
Part2(1)=[2,2,2,1,2,1,2,2,2,1,2,2,2,2,2,1,2,2,1,2,1,1,1,2,2,0,1,1,1,2,1,1,2,2,1,1,1,0,2,1,1,2,2,2,1,2,1,2,2,2,2,2,2,1,1,1,2,2,2,1,1,2,0,2,1,1,1,2,1,2,2,1,2,1,1,0,1,2,1,2,2,2,2,2,2,1,1,1,1,1,2,2,1,2,2,2,1,1,2,2,2,2,2,1,1,1,2,1,2,1,1,2,1,2,2,2,2,1,1,2,1,1,2,2,2,0,2,1,1,1,2,2,2,2,2,2,2,1,1,1]
Part1表示被Xi=1分割的第一部分;Part2表示被Xi=1分割的第二部分。
概率分布计算:
第一个Part1的公式表示由三种平均数4分后,得到的四种取值范围。这四种取值的概率分布值是多少,分别表示为:
同理,Part2的公式与Part1表示内容一样。
P1的标准化数值:{1}(1个点)
P1的分布概率['1.00']
P2的标准化数值:{0,1,2}(141个点)
P2的分布概率['0.04','0.42','0.54']
Number(X u)表示在X u范围内点的数量,Number(Part1(xi))表示Part1(Xi)部分所有点数量。Number(Part2(xi))表示Part2(xi)部分所有点数量,xi表示X中第i个分割点。
概率的权重值确认
其中,Number(Part1(Xi))表示Part1(Xi)部分所有点数量。Number(Part2(Xi))表示Part2(Xi)部分所有点数量,使用上面参数配置完Part1和Part2的权重。
根据实际X计算出:概率权重分布WPart1=0.00709WPart2=0.9929
将权重参数其对应的Part概率分布值相乘,构成两个如下的参数,这两个参数是下面计算香农熵非常重要的依据,其组合数量有:
Number(Part1(xi))*Number(Part2(xi))
接下来介绍参数公式为:
APart1=WPart1*Part1(xi,P)
APart2=WPart2*Part2(xi,P)
A part1表示Part1内概率与Part1权重乘积;A part2表示Part2内概率与Part2权重乘积。从A part1中获得q个值,从A part2中获得p个值。将A part1和Apart2按照数量公式一共会产生q*p种结果。将q*p组参数输入下列香农熵计算公式。
开始计算香农熵。香农熵底数设置为2,香农熵计算公式如下:
C=(APart1+APart2)*(log2(APart1+APart2))
A=(APart1)*(log2(APart1))
B=(APart2)*(log2(APart2))
Jensen Shannon=C-(A+B)
根据其X的计算结果得到其离散测度:
WPart1=0.00709
WPart2=0.9929
P1的分布概率[′1.00′]
P2的分布概率[′0.04′,′0.42′,′0.54′]
A=WPart1*P1
B=WPart2*P2
JSD=(A+B)*log2(A+B)-(WPart2*(A)*log2(A)+WPart2*(B)*log2(A+B))
在实例X中使用JSD算法,算出第一个分割点即Xi=1时的离散测度为:
JSD(Xi=1)=[0.022864,0.002,0.000861]
表示P1和P2第一个值组成一个香农熵0.022864,P1和P2第二个值组成一个香农熵0.002,P1和P2第三个值组成一个香农熵0.000861,第Xi=1个点的Jensen-Shannon:离散测度是对上述JSD进行求和、平均值:其结果为:Average(JSD)=0.008576
香农熵计算公式如上,将[0045]中的q*p种组合分别带入Jensen_Shannon公式中,计算出q*p个香农熵值,将所有的香农熵值进行求和,得到Jensen_Shannon离散测度简称JSD。其计算公式如下:
从第二个点开始到倒数第二个点结束,总共计算出139个JSD离散测度
接下来要根据上面的方法对之前提到的Xs个分割点依次确定其平均的JSD离散测度值:将
JSD_ALL=[0.0086,0.0105,0.0151,0.0196,0.0237,0.0277,0.0312,0.0349,0.0385,0.0418,0.0446,0.0481,0.0507,0.0539,0.0569,0.059,0.0616,0.0633,0.0659,0.0672,0.0695,0.0706,0.0725,0.0731,0.0755,0.0772,0.0767,0.0785,0.0797,0.0813,0.0826,0.084,0.0851,0.0869,0.0887,0.0895,0.0907,0.0912,0.0936,0.095,0.0957,0.0969,0.0976,0.0991,0.1001,0.1011,0.1015,0.1024,0.1037,0.1043,0.1055,0.106,0.1067,0.1069,0.1076,0.1058,0.1065,0.1083,0.1081,0.1092,0.1091,0.1094,0.1097,0.1094,0.1094,0.1097,0.1107,0.1108,0.1108,0.1108,0.1108,0.1108,0.1105,0.1106,0.1104,0.1102,0.1101,0.1096,0.1094,0.1089,0.1088,0.1082,0.1079,0.1068,0.1065,0.1057,0.1058,0.105,0.1056,0.1054,0.1045,0.1039,0.1026,0.1018,0.1014,0.0999,0.0992,0.0979,0.0977,0.0961,0.094,0.0929,0.0912,0.0899,0.089,0.0881,0.0869,0.0851,0.084,0.0821,0.0813,0.0797,0.0779,0.0762,0.0768,0.0744,0.0719,0.0699,0.0683,0.0666,0.0639,0.0623,0.0601,0.0573,0.0547,0.0522,0.0518,0.0498,0.0471,0.0446,0.0418,0.0385,0.0349,0.0312,0.0279,0.0239,0.0199,0.0243,0.0166]
计算出在x i点作为分割点的JSD值,现在开始按照波动计算Xi点处波动的权重值W(xi):(二者的差值由于都是负数,在统计权重值时,在如下的减法公式计算结果应该加绝对值)
根据计算,这139个JSD离散测度的权重值为:['0.131%','0.551%','0.105%','1.443%','1.522%','1.391%','0.709%','0.079%','0.551%','0.866%','0.499%','0.367%','0.105%','0.026%','0.105%','0.919%','0.866%','0.184%','1.575%','0.945%','0.682%','0.184%','0.341%','0.262%','0.052%','0.997%','0.341%','0.42%','0.262%','0.814%','1.26%','0.236%','1.26%','0.184%','0.945%','0.052%','0.262%','4.953%','6.239%','0.971%','0.499%','0.945%','0.184%','0.21%','0.971%','0.157%','0.761%','1.181%','0.052%','0.262%','0.131%','0.42%','0.262%','1.496%','0.184%','0.131%','1.207%','0.262%','0.472%','1.181%','0.604%','0.42%','1.391%','1.443%','0.866%','0.394%','0.735%','0.63%','0.84%','0.604%','0.604%','1.312%','1.312%','1.496%','0.184%','0.577%','0.551%','1.312%','1.706%','1.338%','0.105%','0.341%','0.079%','0.026%','0.63%','0.997%','0.315%','0.21%','0.289%','0.367%','0.604%','0.157%','1.312%','1.68%','0.525%','0.052%','0.21%','0.735%','0.787%','0.079%','0.787%','0.184%','0.236%','0.761%','0.394%','0.131%','1.023%','1.128%','1.102%','1.338%','0.262%','0.787%','0.814%','1.443%','0.236%','0.21%','0.079%','1.128%','0.394%','1.732%','1.627%','0.446%','1.128%','0.709%','0.761%','1.863%','1.338%','1.128%','0.026%','0.42%','1.181%','0.289%','0.236%','0.289%','0.577%','0.105%','0.026%','0.84%','0.394%']
根据W(xi)和JSD(xi),确认了最终的参数S,S由JSD和W共同构成,表示概率分布和波动率结合的综合指标参数。
S(xi)=JSD(xi)*W(xi)
S(xi)=S(xi)*100000
数据太小了需要将其按照比例放大:得到以下S(xi)的值:
[1.1283,5.7866,1.5855,28.2906,36.0738,38.5279,22.1083,2.7466,21.2173,36.1988,22.2376,17.6719,5.3235,1.4122,5.9745,54.1915,53.3456,11.6282,103.7661,63.4906,47.4199,12.9692,24.737,19.1814,3.9637,76.9838,26.17,32.9622,20.9133,66.1376,104.0512,19.8408,107.2005,15.9635,83.8038,4.6987,23.7997,451.7501,583.9985,92.245,47.716,91.5511,17.9291,20.8011,97.1971,15.9232,77.2517,120.9242,5.4443,27.3683,13.8416,44.5094,27.9981,159.9117,19.7661,13.881,128.5668,28.4179,51.0664,128.9543,65.8528,45.9371,152.5817,157.908,94.7404,43.1779,81.3424,69.7818,93.0498,66.8789,66.8789,145.3918,144.9981,165.4465,20.2805,63.6295,60.6761,143.8171,186.6145,145.7518,11.424,36.9178,8.4917,2.7982,67.0737,105.404,33.3164,22.0395,30.4867,38.724,63.0762,16.3643,134.6317,170.9833,53.2249,5.2447,20.8221,71.9369,76.9192,7.5631,74.0062,17.0657,21.5414,68.4229,35.0304,11.5587,88.9421,96.0353,92.5848,109.8826,21.3331,62.7478,63.3716,109.9871,18.1402,15.6166,5.6585,78.8822,26.8829,115.3579,103.9717,27.792,67.8229,40.6028,41.6322,97.2643,69.3291,56.1993,1.234,18.7275,49.3616,11.1149,8.2434,9.0074,16.1095,2.5095,0.5214,20.4071,6.5338]
X中第i个分割xi得到的概率波动参数S(xi)。
根据k-2个分割点,获得了k-2个S(xi)概率波动参数,其中第g个参数所对应的S(xg)值最大。
G(xg)=max(S(xg))
根据上面一系列计算,从139个带有权重的离散测度值中得到其中最大的离散测度值:G(xg=38)=max(S(xg)=583.9985。
得到了X数据中离群点的索引位置是在第38个数字上。Python的检索是从零开始的。它的JSD最大值为583.9985。这说明在存在较为剧烈的数据波动情况,即该点有很大概率是离群点。
得到了某天的离群点时序数据中最大概率波动参数的S(xg),xg表示这一天内时序数据离群点的所在位置。
根据JSD算法和波动权重归一化,得到了离群点xg这样的方法就是JSDFP方法。
将1000个带有离群点的时序数据使用JSDFP方法确认离群点,其中951个数据的离群点准确命中,其命中率为:95.1%
以上述依据发明的理想实时例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (8)
1.一种基于JSD的时序数据的离群点检测方法,其特征在于,包括以下步骤:
步骤1.输入西气东输外壁通电位带有离群点的时序数据集M,其包含了1000组带有离群点的西气东输通电位时序数据;
步骤2.M中共有n条数据,每条数据中有k个点,点与点之间的时间间隔为t分钟;其中k的有效取值为:[100,200],t的有效取值为:[1,10];
步骤3.现在,将k个点进行遍历,从第二个点开始,到倒数第二个点结束,总计k-2个点;在执行具体项目时,k=144,k-2=142;
步骤4.通过k-2个点确认了每一个点的波动性,求和后得到总波动性,波动性数值取绝对值;之后将每一个波动和总波动进行归一化处理,得到k-2个点的权重值WF;
步骤5.开始JSD算法,首先,将k-2个点按照平均值;上平均值;下平均值进行标准化;以三个平均值作为分界线,将数据分为0,1,2,3四个级别,方便进行概率分布的统计;
步骤6.标准化完成后,将一天的数据,首和末数据不取,从第二个数据开始,倒数第二个数据结束,总共k-2个点;并将每一个这样的点设置为遍历点;
步骤7.将这k-2个点依次进行遍历;每一个点被选作分割点时,可以将片段分为两部分,对其中每一部分的点按照标准化结果,进行概率分布的统计;
步骤8.之后通过香农熵计算公式,计算每一个分割点两部分的香农熵差值;
步骤9.统计k-2个点的香农熵差值;
步骤10.将k-2个对应的点的WT权重值与其香农熵差值相乘,找到其中最大的乘积值;
步骤11.根据最大乘积值S-max确认离群点;该最大值的索引index-S就是离群点所在位置。
2.根据权利要求1所述的一种基于JSD的时序数据的离群点检测方法,其特征在于,将带有离群点的时序数据按天读取,其中k=n,时间间隔每t=10分钟读取一个点,一天读取k个数据点,如下:
X=[X1,X2,X3,...,Xn](n=k)
X表示某一天离群点波段的所有数据。
4.根据权利要求1所述的一种基于JSD的时序数据的离群点检测方法,其特征在于,对k*t,时间段内的数据依次遍历切割,将其分为两段:
去掉第一个元素和最后一个元素,取其中k-2个点,将每一个点作为分割点:
Xs=[x1,x2,x3,...,xm](m=k-2)
其中,XS代表某一天内的所有分割点,通过量化分割点,将一天内的数据分为两个部分,如下:
Part1(xi)=[x1,x2,...,xi]
Part2(xi)=[xi,xi+1,xi+2,...,xn](n=k)
Part1表示被Xi分割的第一部分;Part2表示被Xi分割的第二部分。
6.根据权利要求1所述的一种基于JSD的时序数据的离群点检测方法,其特征在于,概率权重计算:
其中,Number(Part1(Xi))表示Part1(Xi)部分所有点数量;Number(Part2(Xi))表示Part2(Xi)部分所有点数量,使用上面参数配置完Part1和Part2的权重;
将权重参数其对应的Part概率分布值相乘,构成两个如下的参数,这两个参数是下面计算香农熵非常重要的依据,其组合数量有:
Number(Part1(xi))*Number(Part2(xi))
接下来介绍参数公式为:
APart1=WPart1*Part1(xi,P)
APart2=WPart2*Part2(xi,P)
A part1表示Part1内概率与Part1权重乘积;A part2表示Part2内概率与Part2权重乘积;从A part1中获得q个值,从A part2中获得p个值;将A part1和A part2按照数量公式一共会产生q*p种结果。
7.根据权利要求1所述的一种基于JSD的时序数据的离群点检测方法,其特征在于,香农熵计算:
香农熵底数设置为2,香农熵计算公式如下:
C=(APart1+APart2)*(log2(APart1+APart2))
A=(APart1)*(log2(APart1))
B=(APart2)*(log2(APart2))
JensenShannon=C-(A+B)
香农熵计算公式如上,将上述公式中的q*p种组合分别带入Jensen_Shannon公式中,计算出q*p个香农熵值,将所有的香农熵值进行求和,得到Jensen_Shannon离散测度,简称JSD;JSD的计算公式如下:
计算出在xi点作为分割点的JSD值,现在开始按照波动计算Xi点处波动的权重值W(xi):
根据W(xi)和JSD(xi),确认了最终的参数S,S由JSD和W共同构成,表示概率分布和波动率结合的综合指标参数;
S(xi)=JSD(xi)*W(xi)
X中第i个分割xi得到的概率波动参数S(xi)。
8.根据权利要求1所述的一种基于JSD的时序数据的离群点检测方法,其特征在于,离群点计算:
根据k-2个分割点,获得了k-2个S(xi)概率波动参数,其中第g个参数所对应的S(xg)值最大;
G(xg)=max(S(xg))
得到了某天的离群点时序数据中最大概率波动参数的S(xg),xg表示这一天内时序数据离群点的所在位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010319014.5A CN111460005B (zh) | 2020-04-22 | 2020-04-22 | 一种基于jsd的时序数据的离群点检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010319014.5A CN111460005B (zh) | 2020-04-22 | 2020-04-22 | 一种基于jsd的时序数据的离群点检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460005A CN111460005A (zh) | 2020-07-28 |
CN111460005B true CN111460005B (zh) | 2021-08-13 |
Family
ID=71683867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010319014.5A Active CN111460005B (zh) | 2020-04-22 | 2020-04-22 | 一种基于jsd的时序数据的离群点检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460005B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339288A (zh) * | 2010-07-21 | 2012-02-01 | 中国移动通信集团辽宁有限公司 | 数据仓库异常数据的检测方法及装置 |
CN108197845A (zh) * | 2018-02-28 | 2018-06-22 | 四川新网银行股份有限公司 | 一种基于深度学习模型lstm的交易指标异常的监测方法 |
CN109993198A (zh) * | 2018-12-26 | 2019-07-09 | 中国科学院信息工程研究所 | 一种基于特征同构共享描述的多源异构离群点检测方法 |
AU2018200016B2 (en) * | 2017-05-05 | 2019-09-12 | Servicenow, Inc. | Systems and methods for anomaly detection |
CN110825769A (zh) * | 2019-10-11 | 2020-02-21 | 苏宁金融科技(南京)有限公司 | 一种数据指标异常的查询方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699205B2 (en) * | 2015-08-31 | 2017-07-04 | Splunk Inc. | Network security system |
-
2020
- 2020-04-22 CN CN202010319014.5A patent/CN111460005B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339288A (zh) * | 2010-07-21 | 2012-02-01 | 中国移动通信集团辽宁有限公司 | 数据仓库异常数据的检测方法及装置 |
AU2018200016B2 (en) * | 2017-05-05 | 2019-09-12 | Servicenow, Inc. | Systems and methods for anomaly detection |
CN108197845A (zh) * | 2018-02-28 | 2018-06-22 | 四川新网银行股份有限公司 | 一种基于深度学习模型lstm的交易指标异常的监测方法 |
CN109993198A (zh) * | 2018-12-26 | 2019-07-09 | 中国科学院信息工程研究所 | 一种基于特征同构共享描述的多源异构离群点检测方法 |
CN110825769A (zh) * | 2019-10-11 | 2020-02-21 | 苏宁金融科技(南京)有限公司 | 一种数据指标异常的查询方法和系统 |
Non-Patent Citations (2)
Title |
---|
Anomaly Detection in Network Traffic using;Osman Salem;《IEEE》;20121129;第5200-5204页 * |
基于残差融合的时序数据离群点检测算法;李倩倩;《科学技术与工程》;20190731;第180-184页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111460005A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110336534B (zh) | 一种基于光伏阵列电气参数时间序列特征提取的故障诊断方法 | |
CN106779505B (zh) | 一种基于大数据驱动的输电线路故障预警方法及系统 | |
CN110018670B (zh) | 一种基于动态关联规则挖掘的工业过程异常工况预测方法 | |
CN107591800B (zh) | 基于场景分析的含分布式电源配电网运行状态预测方法 | |
CN110796173B (zh) | 一种基于改进kmeans的负荷曲线形态聚类算法 | |
Yin et al. | Financial time series segmentation based on turning points | |
CN109727446A (zh) | 一种用电数据异常值的识别与处理方法 | |
CN111931834B (zh) | 基于孤立森林算法的铝型材挤压过程流数据异常检测方法、设备及存储介质 | |
CN111784093B (zh) | 一种基于电力大数据分析的企业复工辅助判断方法 | |
CN112417764A (zh) | 一种面向锅炉特种设备蒸汽量预测的k近邻回归预测方法 | |
CN115062272A (zh) | 一种水质监测数据异常识别及预警方法 | |
CN108038211A (zh) | 一种基于上下文的无监督关系数据异常检测方法 | |
CN113095579B (zh) | 一种耦合伯努利-伽马-高斯分布的日尺度降水预报校正方法 | |
Subali et al. | A new model for measuring the complexity of SQL commands | |
CN111460005B (zh) | 一种基于jsd的时序数据的离群点检测方法 | |
CN110705099B (zh) | 一种检定风电场出力相关性的方法 | |
CN113962504A (zh) | 一种配电网规划方案成本效益比计算方法 | |
CN112949735A (zh) | 一种基于离群数据挖掘的液态危化品挥发浓度异常发现方法 | |
CN116401212A (zh) | 一种基于数据分析的人事文书档案快速查找系统 | |
CN111026741A (zh) | 基于时间序列相似性的数据清洗方法及装置 | |
CN113554079B (zh) | 一种基于二次检测法的电力负荷异常数据检测方法及系统 | |
CN106816871B (zh) | 一种电力系统状态相似性分析方法 | |
CN115935285A (zh) | 基于掩码图神经网络模型的多元时间序列异常检测方法和系统 | |
Liu et al. | Improved time-variant fuzzy time series forecast | |
Pandit et al. | QQ plot for assessment of Gaussian Process wind turbine power curve error distribution function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |