CN114781520A - 基于改进lof模型的天然气行为异常检测方法及系统 - Google Patents
基于改进lof模型的天然气行为异常检测方法及系统 Download PDFInfo
- Publication number
- CN114781520A CN114781520A CN202210439492.9A CN202210439492A CN114781520A CN 114781520 A CN114781520 A CN 114781520A CN 202210439492 A CN202210439492 A CN 202210439492A CN 114781520 A CN114781520 A CN 114781520A
- Authority
- CN
- China
- Prior art keywords
- model
- natural gas
- lof
- point
- improved
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明提供基于改进LOF模型的天然气行为异常检测方法及系统,能够集成组合模型的数据训练结果,模型更加高效准确,提高检测精度,且操作简单。包括如下步骤:采集天然气用气行为数据,并确定模型输入变量;基于网格搜索算法构建改进LOF模型;将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果;构建OCSVM模型;将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果;判断天然气用气行为数据是否存在异常:当第一分类结果和第二分类结果均显示为异常时,则该组天然气用气行为数据存在异常;其余情况下该组天然气用气行为数据正常,异常检测完成。
Description
技术领域
本发明涉及异常行为检测技术领域,具体为基于改进LOF模型的天然气行为异常检测方法及系统。
背景技术
城市燃气包括天然气、液化石油气和人工能源。与以煤炭、石油为主的传统能源结构相比,天然气作为一种洁净环保的高品质能源,在降耗减排上效果明显,提升天然气消费量可以有效治理大气污染,积极应对气候变化等生态环境问题,发展城市燃气对减少大气污染、优化能源结构、促进可持续发展具有重要作用。
因此,天然气用气行为异常的检测与预测精度直接关乎供气的可靠性。天然气用气行为检测是提升终端能源消费智能化管控的重要技术手段,既有助于保障能源消费安全可靠,也有助于刻画用户个性化需求、实现精准供能。
而现阶段,对天然气用气行为异常检测的研究较少,目前检测过程中,由于天然气用气行为的数据集仅包含少量的数据标签,存在难以建立高效、准确的检测模型的问题。
发明内容
为了解决现有技术中存在的问题,本发明提供基于改进LOF模型的天然气行为异常检测方法及系统,能够集成组合模型的数据训练结果,模型更加高效准确,提高检测精度,且操作简单。
为实现上述目的,本发明提供如下技术方案:
一种基于改进LOF模型的天然气行为异常检测方法,包括如下步骤:
采集天然气用气行为数据,并确定模型输入变量;
基于网格搜索算法构建改进LOF模型;
将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果;
构建OCSVM模型;
将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果;
判断天然气用气行为数据是否存在异常:
当第一分类结果和第二分类结果均显示为异常时,则该组天然气用气行为数据存在异常;
其余情况下该组天然气用气行为数据正常,异常检测完成。
优选地,所述采集天然气用气行为数据,并确定模型输入变量,具体包括:
将采集的天然气用气行为数据按照7:3的数量比例划分为训练集数据和测试集数据,将训练集数据作为模型输入变量。
优选地,所述模型输入变量包括:
用气量、露水量、温度、压强、风速、雨量和雪量。
优选地,所述基于网格搜索算法构建改进LOF模型具体包括:
采用网格搜索算法对LOF模型的主要参数进行优化,其中,主要参数包括:n_neighbors参数和contamination参数,n_neighbors参数用于设置k值,contamination参数用于设置模型输入变量中异常点的比例,设置n_neighbors参数的值为[10,100],以10为步长,contamination参数的值为(0,0.5),以0.1为步长,遍历两个主要参数的每一个组合后得到两个主要参数的最优值。
优选地,所述将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果具体包括:
计算模型输入变量中每个点与其他点的欧氏距离;
对欧式距离进行排序,并计算每个点的第k距离及第k邻域;
根据第k距离及第k邻域计算每个点的局部可达密度;
根据局部可达密度计算每个点的局部离群因子;
计算平均局部可达密度与对该点的局部离群因子的比值,
若比值等于1,则该点标定为正常点,若比值大于1,则该点标定为异常点,标定完成后输出第一分类结果。
优选地,所述构建OCSVM模型包括:
确定OCSVM模型的主要参数,其中,OCSVM模型的主要参数包括:kernel核函数、degree、gamma和nu。
优选地,所述kernel核函数采用多项式内核函数‘ploy’。
优选地,所述将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果具体包括:
将模型输入变量输入OCSVM模型中,采用SVDD算法对OCSVM模型求解获得超球面;
判断模型输入变量中的数据点是否在求解的超球面内,
若是,则该点标定为正常点,若否,则该点标定为异常点,标定完成后输出第二分类结果。
一种基于改进LOF模型的天然气行为异常检测系统,包括:
数据采集模块,用于采集天然气用气行为数据,并确定模型输入变量;
LOF模型构建模块,用于基于网格搜索算法构建改进LOF模型;
LOF模型检测模块,用于将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果;
OCSVM模型构建模块,用于构建OCSVM模型;
OCSVM模型检测模块,用于将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果;
异常结果比较模块,用于判断天然气用气行为数据是否存在异常:
当第一分类结果和第二分类结果均显示为异常时,则该组天然气用气行为数据存在异常;
其余情况下该组天然气用气行为数据正常,异常检测完成。
优选地,所述LOF模型构建模块包括优化模块,所述优化模块用于采用网格搜索算法对LOF模型的主要参数进行优化,其中,主要参数包括:n_neighbors参数和contamination参数,n_neighbors参数用于设置k值,contamination参数用于设置模型输入变量中异常点的比例,设置n_neighbors参数的值为[10,100],以10为步长,contamination参数的值为(0,0.5),以0.1为步长,遍历两个主要参数的每一个组合后得到两个主要参数的最优值。
与现有技术相比,本发明具有以下有益效果:
本发明提供一种基于改进LOF模型的天然气行为异常检测方法,天然气用气行为异常检测本质上是一个二分类问题,即将数据分为正常和异常两个类别,通过基于改进的Local Outlie Factor(LOF)模型与天然气用气行为数据,得出第一个模型的第一分类结果,作为基本的分类结果。再使用One-Class SVM模型对数据进行二次训练,得出第二个模型的第二分类结果,最后集成两个模型训练的分类结果,只有当两个模型训练的分类结果都为异常时,此时,该组数据的分类结果才为异常,解决了单个模型分类结果的准确度无法确定的问题。LOF算法是一种基于密度的异常检测算法,对于数据集中的点,如果其局部邻域内的点都很密集,那么这个点大概率为正常的数据点;如果这个点距离其相邻的点的距离比较远,也就是在一个局部邻域的点密度较小,那么这个点可能为异常点,而在真实应用场景中,离群因子值只与参数k有关,当k取值不同时,离群因子的值将不同,之前是异常点的数据可能不再是异常点,因此本发明采用网格搜索算法进行k值选取代替传统的经验选取,改进优化后的LOF模型再进行第一次分类,能够提高LOF模型的异常检测精度。One-ClassSVM属于无监督算法,用于学习奇异点检测的决策函数,即将新数据分类为与训练集相似或不同的数据,本发明根据异常检测的特点,结合LOF模型和One-ClassSVM模型输入训练集数据,能够集成两个不同的模型的分类检测结果,从而多角度确认该组数据是否是异常点,增加了分类结果的可信度。
附图说明
图1为本发明异常检测方法流程图;
图2为本发明中改进LOF模型的训练流程图;
图3为本发明中OCSVM模型的训练流程图;
图4为本发明中组合模型构建流程图;
图5为本发明实施例中的异常检测结果图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
如图1所示,本发明一种基于改进LOF模型的天然气行为异常检测方法,包括如下步骤:
采集天然气用气行为数据,并确定模型输入变量;
基于网格搜索算法构建改进LOF模型;
将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果;
构建OCSVM模型;
将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果;
判断天然气用气行为数据是否存在异常:
当第一分类结果和第二分类结果均显示为异常时,则该组天然气用气行为数据存在异常;
其余情况下该组天然气用气行为数据正常,异常检测完成。
具体检测步骤为:
步骤1)对异常检测模型影响因素进行分析,确定模型输入变量,根据对本案例中的天然气用气行为数据进行优化,选取部分影响因素放入到模型中进行训练。首先需要对模型输入数据进行预处理,确定输入数据维度。
步骤2)使用一种改进的Local Outlie Factor(LOF)模型来区分数据中的异常点。
步骤3)使用One-Class SVM(OCSVM)模型来区分数据中的异常点。
步骤4)集成两个模型的异常点检测结果,得出最终的检测结果。
在步骤2)中,LOF异常点检测算法在实际应用中有两个缺陷:一是离群因子值只与参数K有关,当K取值不同时,离群因子的值将不同,之前是异常点的数据可能不再是异常点。二是对于未知异常点个数的数据集,选择参数K以保证离群点的挖掘数量合理难以做到。因此,本发明提出一种结合网格搜索算法的改进LOF异常点检测算法。
基于改进的LOF算法通过对计算数据集中的每一个点的离群因子LOF,对离群因子的大小进行判断,如果离群因子远大于1,将该点判断为异常点,如果离群因子接近1,则数据点为正常样本点。
本发明所述的网格搜索算法流程如下:
a.对步骤1)中的数据进行预处理,确认改进LOF模型的输入变量为:用气量,露水,温度,压强,风速,雨,雪,并将数据进行归一化处理。
b.结合网格搜索算法来改进LOF模型以获得最优参数。
使用网格搜索算法来对LOF模型的第k邻域的k值以及样本中的异常点比例这两个参数进行适配。
c.对所输入数据进行计算:
①遍历数据集中的所有点。
a.计算每一个点与其他点的欧氏距离;
b.对欧氏距离进行排序,计算第k距离及第k邻域;
定义dk(O)为点O的k-邻近距离,dk(O)=d(O,P)满足以下两个条件:
在数据集中,至少存在k个点P′∈DO,使得
d(P′,O)≤d(P,O) (1)
在数据集中,至少存在k-1个点P′∈DO,使得
d(P′,O)<d(P,O) (2)
也就是说第k距离就是距离点P第k远的点。
定义Nk(O)为点O的第k邻域那么它需要满足:
Nk(O)=P′∈Nk(O)|d(P′,O)≤dk(O) (3)
也就是点O的第k距离以内的所有点,包括第k距离。
c.计算点的局部可达密度;
定义dk(P,O)为点P到点O的可达距离,那么它满足:
dk(P,O)=maxd(P,O),dk(O) (4)
也就是点O的第k邻域内的所有点到点O的可达距离均为点O第k距离。
点P的局部可达密度
可以理解为点P到其第k邻域内到点的可达距离的均值的倒数,如果点P与其第k邻域内的点是属于同一个簇,那么点P到这些点的可达距离均值就会很小,因此局部可达密度就会较高。反之,如果点P与其第k邻域内的点不在同一个簇,那么它们之间的可达距离就会很大,即局部可达密度较小。
d.计算点的局部离群因子;
如果单纯的使用局部可达密度来衡量一个点是否异常,会有一个问题,局部可达密度容易受到簇的密度的影响,当样本空间里存在多个密度不同的簇时,密度较大的簇它的局部可达密度会比较大,容易造成误判。而LOF的思想不仅仅是看它的绝对密度,而是看这个点和相邻点的相对密度。
LOF主要是通过点的第k邻域内的点的平均局部可达密度与当前点的局部可达密度比值来衡量点的异常,也就是该点的相对密度。如果这个比值等于1,说明这个点和其邻域内的点的密度一致,因此它们可能属于同一个簇;而当这个比值大于1时,说明这个点的局部可达密度,相对于其相邻点都要小,因此它可能是异常点。
②对所有点的局部离群因子进行排序,输出。
在步骤3)中One-Class SVM也是属于支持向量机,但是和传统的基于监督学习的分类回归支持向量机不同,它是无监督学习的方法。对于如何寻找划分的超平面以及寻找支持向量机,使用SVDD算法,该算法期望所有不是异常的样本都是正类别,同时它采用一个超球体而不是一个超平面来做划分,该算法在特征空间中获得数据周围的球形边界,期望最小化这个超球体的体积,从而最小化异常点数据的影响。假设产生的超球体参数为中心O和对应的超球体半径r>0,超球体体积V(r)被最小化,中心O是支持行了的线性组合;跟传统SVM方法相似,可以要求所有训练数据点xi到中心的距离严格小于r。但是同时构造一个惩罚系数为C的松弛变量ζi,优化问题入下所示:
||xi-O||2≤r+ζi,i=1,2,3,...,m (8)
ζi≥0,i=1,2,...,m (9)
采用拉格朗日对偶求解之后,可以判断新的数据点z是否在内,如果z到中心的距离小于或者等于半径r,则不是异常点,如果在超球体以外,则是异常点。
在Sklearn中,可以采用SVM包里面的OneClassSVM来做异常点检测。OneClassSVM也支持核函数,所以普通SVM里面的调参思路在这里也适用。
在步骤4)中,首先将所有数据按照7∶3的比例划分为训练集和测试集,将训练集数据作为步骤2)所使用模型的输入变量放入模型中,进行训练,得到训练集数据的“lof_label”标签作为步骤2)的分类结果,然后对步骤3)所使用模型进行训练,得到训练集数据的“svm_label”标签作为步骤3)的分类结果,最后只有当两个步骤的分类结果都为异常时,该组数据的分类结果即为异常。
本发明还提供一种基于改进LOF模型的天然气行为异常检测系统,用以实现所述的异常检测方法,包括:
数据采集模块,用于采集天然气用气行为数据,并确定模型输入变量;
LOF模型构建模块,用于基于网格搜索算法构建改进LOF模型;
LOF模型检测模块,用于将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果;
OCSVM模型构建模块,用于构建OCSVM模型;
OCSVM模型检测模块,用于将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果;
异常结果比较模块,用于判断天然气用气行为数据是否存在异常:
当第一分类结果和第二分类结果均显示为异常时,则该组天然气用气行为数据存在异常;
其余情况下该组天然气用气行为数据正常,异常检测完成。
实施例
下面结合具体的实施例对本发明所述的天然气行为异常检测方法进行进一步说明。
本实施例中的天然气行为异常检测方法包括以下步骤:
1)对异常检测模型影响因素进行分析,确定模型输入变量,根据对本案例中的天然气异常检测方案进行优化,选取部分影响因素放入到模型中进行训练。首先需要对模型输入数据进行预处理,去除原始数据集中的不必要的元素。
2)得到1996×7的数据,确定影响因素有用气量,露水,温度,压强,风速,雪,雨,去除了“timestamp”列以及“wnd_dir”列非数值型元素,生成输入数据,并对其进行归一化。
3)将输入数据输入改进LOF模型中,进行训练,调整模型参数,对模型进行训练,将结果记录在新的一列中,列名为“lof_label”。
4)将输入数据输入One-Class SVM模型中,进行训练,调整模型参数,对模型进行训练,将结果记录在新的一列中,列名为“svm_label”。
5)将上述得到的两个标签列结果进行集成,若两个标签列结果都为-1,即两种模型训练的检测结果都为异常点,那么,该数据点的最终检测结果也为异常点,若任一模型训练的检测结果不是异常点,那么该点最终的检测结果即为正常点。该方法使用了两个不同的算法来对同一个数据进行检测,最终检测结果的可信度远大于只是使用单一算法来对数据进行检测。异常检测流程图如图1所示。
在3)中构建改进的LOF异常检测模型,流程如下:
A.在2)中对用气数据进行预处理,元数据存放在csv文件中,首先使用python中的pandas库的read_csv方法读取数据,将数据中的“timestamp”列以及“wnd_dir”列去除,对选定的数据进行归一化处理,归一化处理的表达式为:
x′=(x-Xmin)/(Xmax-Xmin) (10)
B.结合网格搜索算法来改进LOF模型以获得最优参数
主要参数有两个,即“n_neighbors”,设置k;“contamination”,该参数设置样本点中的异常点的比例,本发明经过实验设置为0.01。主要属性为“negative_outlier_factor_”,和LOF相反的值,值越小,越有可能是异常点。主要函数为fit_predict(X),会返回一个数组,-1表示异常点,1表示正常点,将结果记录在新的一列中,列名为“lof_label”。
使用网格搜索算法来确定n_neighbors,contamination两个参数值,设置n_neighbors的值为[10,100],以10为步长,contamination的值为(0,0.5),以0.1为步长,将其当作一个10*5的表格,来遍历每一个组合,得到最优的参数。
C.对所输入数据进行计算:
1)遍历数据集中的所有点。
e.计算每一个点与其他点的欧氏距离;
f.对欧氏距离进行排序,计算第k距离及第k邻域;
定义dk(O)为点O的k-邻近距离,dk(O)=d(O,P)满足以下两个条件:
在数据集中,至少存在k个点P′∈DO,使得
d(P′,O)≤d(P,O) (11)
在数据集中,至少存在k-1个点P′∈DO,使得
d(P′,O)<d(P,O) (12)
也就是说第k距离就是距离点P第k远的点。
定义Nk(O)为点O的第k距离邻域那么它需要满足:
Nk(O)=P′∈Nk(O)|d(P′,O)≤dk(O) (13)
也就是点O的第k距离以内的所有点,包括第k距离。
g.计算点的局部可达密度;
定义dk(P,O)为点P到点O的可达距离,那么它满足:
dk(P,O)=maxd(P,O),dk(O) (14)
也就是点O的第k邻域内的所有点到点O的可达距离均为点O第k距离。
点P的局部可达密度
可以理解为点P到其第k邻域内到点的可达距离的均值的倒数,如果点P与其第k邻域内的点是属于同一个簇,那么点P到这些点的可达距离均值就会很小,因此局部可达密度就会较高。反之,如果点P与其第k邻域内的点不在同一个簇,那么它们之间的可达距离就会很大,即局部可达密度较小。
计算点的局部离群因子;
如果单纯的使用局部可达密度来衡量一个点是否异常,会有一个问题,局部可达密度容易受到簇的密度的影响,当样本空间里存在多个密度不同的簇时,密度较大的簇它的局部可达密度会比较大,容易造成误判。而LOF的思想不仅仅是看它的绝对密度,而是看这个点和相邻点的相对密度。
点P的局部离群因子
LOF主要是通过点的第k邻域内的点的平均局部可达密度与当前点的局部可达密度比值来衡量点的异常,也就是该点的相对密度。如果这个比值等于1,说明这个点和其邻域内的点的密度一致,因此它们可能属于同一个簇;而当这个比值大于1时,说明这个点的局部可达密度,相对于其相邻点都要小,因此它可能是异常点。
2)对所有点的局部离群因子进行排序,输出。改进的LOF模型构建流程图如图2所示。
在4)中构建One-Class SVM模型,流程如下:
a.与3)中对数据预处理方法一致,确认One-Class SVM模型的输入变量为:用气量,露水,温度,压强,风速,雨,雪,并对其进行归一化处理。
b.确定One-Class SVM模型的参数,主要参数有四个,即kernel,核函数,默认选择高斯核(‘rbf’),本发明经过实验选择多项式内核函数(‘ploy’);degree,多项式内核函数的阶数,默认为3;gamma,内核系数,设置为0.1;nu,训练误差分数的上限,支持向量误差的下限,取值范围在(0,1],默认为0.5,本发明经实验选择0.01。主要方法为fit(x),根据训练样本和参数kernel,nu探测边界,为无监督训练;方法predict(x),返回预测值,-1表示异常点,1表示正常点,将结果记录在新的一列中,列名为’svm_label’。;decision_function(X),返回各样本点到超平面的函数距离,正的为正常样本,负的为异常样本。
c.对输入数据进行计算:假设产生的超球体参数为中心O和对应的超球体半径r>0,超球体体积V(r)被最小化,中心O是支持行了的线性组合;跟传统SVM方法相似,可以要求所有训练数据点xi到中心的距离严格小于r。但是同时构造一个惩罚系数为C的松弛变量ζi,优化问题入下所示:
||xi-O||2≤r+ζi,i=1,2,3,...,m (18)
ζi≥0,i=1,2,...,m (19)
采用拉格朗日对偶求解之后,可以判断新的数据点z是否在内,如果z到中心的距离小于或者等于半径r,则不是异常点,如果在超球体以外,则是异常点。One-Class SVM模型异常检测流程图如图3所示。
实验说明
根据如图4所示构建的异常检测模型,将天然气用气行为数据以及影响因素转化为输入数据矩阵,通过模型训练得到相对的异常检测结果标签数据。通过对天然气用气行为数据进行分析,统计出用气行为的影响因素共六种。基于上一节异常检测模型构建方法,建立异常检测模型。采用改进的LOF检测模型数据以及One-Class SVM检测模型数据,得到检测出的异常样本与正常样本的结果图,如图5所示。在图5中横坐标表示划分的样本的编号,纵坐标表示用气行为的原始数据,图中深灰色点表示正常样本点,浅灰色点表示异常样本点。可以表明基于本发明所述异常检测方法构建的异常检测模型检测结果较为理想,这验证了采用本发明的构建方式混合进行用气行为异常检测的方法有着更好的检测性能。在本发明中将通过计算模型的混淆矩阵,准确率ACC,召回率REC,F1分数三个参数来对用气行为异常检测模型检测精度进行衡量,计算可得到本模型的ACC为98.64%,REC为99.74%,F1-score为99.32%;可以看出本异常检测模型的检测效果指标较为精确。本发明可在后续储运过程中使用气数据分析提供有益的或指导性的意见,具有实际意义。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,包括如下步骤:
采集天然气用气行为数据,并确定模型输入变量;
基于网格搜索算法构建改进LOF模型;
将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果;
构建OCSVM模型;
将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果;
判断天然气用气行为数据是否存在异常:
当第一分类结果和第二分类结果均显示为异常时,则该组天然气用气行为数据存在异常;
其余情况下该组天然气用气行为数据正常,异常检测完成。
2.根据权利要求1所述的一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,所述采集天然气用气行为数据,并确定模型输入变量,具体包括:
将采集的天然气用气行为数据按照7:3的数量比例划分为训练集数据和测试集数据,将训练集数据作为模型输入变量。
3.根据权利要求2所述的一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,所述模型输入变量包括:
用气量、露水量、温度、压强、风速、雨量和雪量。
4.根据权利要求1所述的一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,所述基于网格搜索算法构建改进LOF模型具体包括:
采用网格搜索算法对LOF模型的主要参数进行优化,其中,主要参数包括:n_neighbors参数和contamination参数,n_neighbors参数用于设置k值,contamination参数用于设置模型输入变量中异常点的比例,设置n_neighbors参数的值为[10,100],以10为步长,contamination参数的值为(0,0.5),以0.1为步长,遍历两个主要参数的每一个组合后得到两个主要参数的最优值。
5.根据权利要求1所述的一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,所述将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果具体包括:
计算模型输入变量中每个点与其他点的欧氏距离;
对欧式距离进行排序,并计算每个点的第k距离及第k邻域;
根据第k距离及第k邻域计算每个点的局部可达密度;
根据局部可达密度计算每个点的局部离群因子;
计算平均局部可达密度与对该点的局部离群因子的比值,
若比值等于1,则该点标定为正常点,若比值大于1,则该点标定为异常点,标定完成后输出第一分类结果。
6.根据权利要求1所述的一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,所述构建OCSVM模型包括:
确定OCSVM模型的主要参数,其中,OCSVM模型的主要参数包括:kernel核函数、degree、gamma和nu。
7.根据权利要求6所述的一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,所述kernel核函数采用多项式内核函数‘ploy’。
8.根据权利要求1所述的一种基于改进LOF模型的天然气行为异常检测方法,其特征在于,所述将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果具体包括:
将模型输入变量输入OCSVM模型中,采用SVDD算法对OCSVM模型求解获得超球面;
判断模型输入变量中的数据点是否在求解的超球面内,
若是,则该点标定为正常点,若否,则该点标定为异常点,标定完成后输出第二分类结果。
9.一种基于改进LOF模型的天然气行为异常检测系统,其特征在于,基于权利要求1-8中任一项所述的异常检测方法,包括:
数据采集模块,用于采集天然气用气行为数据,并确定模型输入变量;
LOF模型构建模块,用于基于网格搜索算法构建改进LOF模型;
LOF模型检测模块,用于将模型输入变量输入改进LOF模型中进行训练后输出第一分类结果;
OCSVM模型构建模块,用于构建OCSVM模型;
OCSVM模型检测模块,用于将模型输入变量输入OCSVM模型中进行训练后输出第二分类结果;
异常结果比较模块,用于判断天然气用气行为数据是否存在异常:
当第一分类结果和第二分类结果均显示为异常时,则该组天然气用气行为数据存在异常;
其余情况下该组天然气用气行为数据正常,异常检测完成。
10.根据权利要求9所述的一种基于改进LOF模型的天然气行为异常检测系统,其特征在于,所述LOF模型构建模块包括优化模块,所述优化模块用于采用网格搜索算法对LOF模型的主要参数进行优化,其中,主要参数包括:n_neighbors参数和contamination参数,n_neighbors参数用于设置k值,contamination参数用于设置模型输入变量中异常点的比例,设置n_neighbors参数的值为[10,100],以10为步长,contamination参数的值为(0,0.5),以0.1为步长,遍历两个主要参数的每一个组合后得到两个主要参数的最优值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210439492.9A CN114781520A (zh) | 2022-04-25 | 2022-04-25 | 基于改进lof模型的天然气行为异常检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210439492.9A CN114781520A (zh) | 2022-04-25 | 2022-04-25 | 基于改进lof模型的天然气行为异常检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114781520A true CN114781520A (zh) | 2022-07-22 |
Family
ID=82432919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210439492.9A Pending CN114781520A (zh) | 2022-04-25 | 2022-04-25 | 基于改进lof模型的天然气行为异常检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114781520A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115860579A (zh) * | 2023-02-27 | 2023-03-28 | 山东金利康面粉有限公司 | 一种用于面粉加工的生产质量监测系统 |
CN116660667A (zh) * | 2023-07-26 | 2023-08-29 | 山东金科电气股份有限公司 | 一种变压器异常监控方法及系统 |
-
2022
- 2022-04-25 CN CN202210439492.9A patent/CN114781520A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115860579A (zh) * | 2023-02-27 | 2023-03-28 | 山东金利康面粉有限公司 | 一种用于面粉加工的生产质量监测系统 |
CN116660667A (zh) * | 2023-07-26 | 2023-08-29 | 山东金科电气股份有限公司 | 一种变压器异常监控方法及系统 |
CN116660667B (zh) * | 2023-07-26 | 2023-10-24 | 山东金科电气股份有限公司 | 一种变压器异常监控方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107944622B (zh) | 基于连续时段聚类的风电功率预测方法 | |
CN110990461A (zh) | 大数据分析模型算法选型方法、装置、电子设备及介质 | |
CN114781520A (zh) | 基于改进lof模型的天然气行为异常检测方法及系统 | |
KR102340258B1 (ko) | 시계열의 데이터를 예측 하는 방법 및 그 장치 | |
KR102215690B1 (ko) | 시계열의 데이터를 모니터링 하는 방법 및 그 장치 | |
CN108446619B (zh) | 基于深度强化学习的人脸关键点检测方法及装置 | |
CN113452018B (zh) | 一种电力系统备用不足风险场景辨识方法 | |
CN111027636B (zh) | 基于多标签学习的无监督特征选择方法及系统 | |
CN111224805A (zh) | 一种网络故障根因检测方法、系统及存储介质 | |
CN114861788A (zh) | 一种基于dbscan聚类的负荷异常检测方法及系统 | |
CN111325264A (zh) | 一种基于熵的多标签数据分类方法 | |
CN113591948A (zh) | 一种缺陷模式识别方法、装置、电子设备和存储介质 | |
CN115952429A (zh) | 基于无先验权重欧氏距离的自适应dbscan异常电池识别方法 | |
Abdelaziz et al. | Convolutional neural network with genetic algorithm for predicting energy consumption in public buildings | |
CN113837266A (zh) | 一种基于特征提取和Stacking集成学习的软件缺陷预测方法 | |
CN116365519B (zh) | 一种电力负荷预测方法、系统、存储介质及设备 | |
CN113033898A (zh) | 基于k均值聚类与bi-lstm神经网络的电负荷预测方法及系统 | |
CN115034005B (zh) | 一种面向构件剩余使用寿命预测的模型分析可视化方法 | |
CN116245259A (zh) | 基于深度特征选择的光伏发电预测方法、装置和电子设备 | |
CN116561569A (zh) | 一种基于EO特征选择结合AdaBoost算法的工业电力负荷辨识方法 | |
Zhou et al. | Pre-clustering active learning method for automatic classification of building structures in urban areas | |
CN113723670A (zh) | 变时间窗口的光伏发电功率短期预测方法 | |
CN112347162A (zh) | 一种基于在线学习的多元时序数据规则挖掘方法 | |
Shi et al. | A study of support vector regression-based fuzzy c-means algorithm on incomplete data clustering | |
Koloski et al. | Latent Graph Powered Semi-Supervised Learning on Biomedical Tabular Data |
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 |