CN117235632A - 一种大型蒸发传感器水位异常数据检测方法 - Google Patents
一种大型蒸发传感器水位异常数据检测方法 Download PDFInfo
- Publication number
- CN117235632A CN117235632A CN202311030768.9A CN202311030768A CN117235632A CN 117235632 A CN117235632 A CN 117235632A CN 202311030768 A CN202311030768 A CN 202311030768A CN 117235632 A CN117235632 A CN 117235632A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- training
- factor
- feature
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 73
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 49
- 238000001704 evaporation Methods 0.000 title claims abstract description 32
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 31
- 230000008020 evaporation Effects 0.000 title claims abstract description 30
- 238000012549 training Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000012216 screening Methods 0.000 claims abstract description 24
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 230000007423 decrease Effects 0.000 claims abstract description 6
- 238000002372 labelling Methods 0.000 claims abstract description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000007637 random forest analysis Methods 0.000 claims description 19
- 238000011156 evaluation Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 9
- 238000002790 cross-validation Methods 0.000 claims description 7
- 230000009286 beneficial effect Effects 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims description 4
- 230000001627 detrimental effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000001556 precipitation Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000011109 contamination Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007636 ensemble learning method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
本发明公开一种大型蒸发传感器水位异常数据检测方法,其特征在于:它包括如下步骤:S1:获取因子数据;所述因子数据包括物理量场因子数据和被检测对象数据;S2:对因子数据进行特征萃取,得到萃取后的数据;S3:建立孤立森林异常检测模型,使用萃取后的数据进行训练;S4:孤立森林异常检测模型参数调优;使用最优参数重复S3对模型进行训练;S5:使用得到的异常检测模型对被检测对象数据进行检测,得出检测结果;本发明克服传统检测方法因为异常因子样本数目不足而造成的模型泛化能力下降问题,同时采用Pseudo‑labeling半监督学习和permutation特征筛选方法相结合的方式产生伪异常标签的特征因子用于模型训练,避免模型泛化能力下降。
Description
技术领域
本发明涉及气象观测设备维护保障技术领域,具体地指一种大型蒸发传感器水位异常数据检测方法。
背景技术
传统气象观测设备异常检测主要采用阈值法,通过定义一个正常行为的区域并声明不属于区域的数据为异常数据,即根据数据的内容设定一个范围,取值不在该范围内的则可判定为异常数据。这种看似简单的方法实则存在以下问题:正常数据和异常数据之间的界限往往不精确,正常数据与异常数据的界定仅仅通过上限阈值和下限阈值来划分;检测阈值无法随实际情况动态调整,对于正常数据的定义是在不断发展的,目前的正常数据放在未来不一定适用。
虽然目前机器学习算法也被应用于异常检测,但还存在一定问题和不足。例如基于One-class SVM算法的异常检测方法,但该方法更适合小样本、样本分类不均衡的环境,而且One-class SVM的训练集如果包含异常样本,很可能在训练时影响边界的选取。除此之外,现有的异常检测算法常需要对正常样本进行描述,这样不会对异常样本的描述做优化,就有可能造成大量检测错误的情况,或者出现只检测出少量异常的情况。就机器学习统计建模而言,特征工程和模型泛化能力对于模型最终的检测结果的影响。
同时对于长时间处于正常状态下的气象观测设备而言,异常数据样本数又较为稀少,如何产生更多的可用于训练检测模型的异常样本,使检测模型的泛化能力的得到提升,对于获取更有价值的预测结果,显得尤为关键。
现有技术存在的问题如下:
1、正常数据和异常数据之间的界限往往不精确;
2、需对正常数据样本进行描述,描述情况将直接影响最终的检测结果;
3、异常数据样本数目相对于正常数据的样本数目占比很小,训练得到的检测模型泛化能力差,影响最终的检测结果。
发明内容
本发明的目的在于克服上述不足,提供一种大型蒸发传感器水位异常数据检测方法,以解决背景技术中提出的问题。
本发明为解决上述技术问题,所采用的技术方案是:一种大型蒸发传感器水位异常数据检测方法,它包括如下步骤:
S1:获取因子数据;所述因子数据包括物理量场因子数据和被检测对象数据;
S2:对因子数据进行特征萃取,得到萃取后的数据;
S3:建立孤立森林异常检测模型,使用萃取后的数据进行训练;
S4:孤立森林异常检测模型参数调优;使用最优参数重复S3对模型进行训练;
S5:使用得到的异常检测模型对被检测对象数据进行检测,得出检测结果。
优选地,所述步骤S1中,获取的因子数据包括:
自动气象观测站的大型蒸发观测设备的蒸发水位数据,自动气象观测站的站点纬度Lat、站点经度Lon、站点拔高Alti、相对湿度RHU、气温TEM、最低气温TEM_Min、最高气温TEM_Max等小时观测数据。
优选地,所述步骤S2中,对因子数据进行特征萃取的方法包括:权重随机森林算法、Pseudo-labeling半监督学习和二阶特征筛选,具体包括以下步骤:
S21:使用随机森林算法对因子数据进行重要性评估,看每个特征因子在随机森林中的每棵树上所作贡献的大小,然后进行集成平均,最后比较不同特征因子之间贡献的大小;为了增加小样本的识别概率,提高总体的分类准确率,具体选择权重随机森林算法进行因子数据重要性评估;
S22:使用Pseudo-labeling半监督学习方法增加训练数据,使模型的泛化能力得到提升;
S23:permutation特征筛选方法进行二阶特征筛选。
优选地,所述步骤S22具体为:
第一阶段用训练数据训练模型;
第二阶段使用第一阶段训练好的模型在无标注的数据上预测,将其中置信度较高的数据合并到训练集中;
第三阶段使用合并后的数据重新训练模型。
优选地,所述步骤S23具体为:
首先,基于已经训练好的模型在评估集上得到一个baseline评分,然后分别将每一列特征变成噪音数据后重新评估,评分等于或高于baseline评分说明该特征对模型没有增益甚至于是有损的,如果评分下降说明该特征是对模型有益的,用这个和baseline评分的差值做为特征因子筛选的参考值选择特征。
优选地,所述步骤S3中所述的使用萃取后的数据进行训练,是将因子数据按照3:7的比例划分为测试数据集和训练数据集,使用划分后的训练数据集对建立的孤立森林异常检测模型进行训练。
优选地,步骤S4中所述的模型参数调优,采用K-fold Cross-validation交叉验证方法实现。
优选地,步骤S5中,使用基于voting的集成学习方法得到最终检测结果,具体采用Greedy Ensemble方法;使用RMSE(Root Mean Squared Error)均方根误差、准确率(Accuracy)、精确率(Precision)、召回率(Recall)、精确率与召回率的调和平均数(F1-Score)、接受者操作特征曲线(Receiver Operating Characteristic curve,ROC)、ROC曲线以下部分的面积(Area Under ROC Curve,AUC)作为最终检测结果的性能评价指标。
本发明有益效果:
(1)使用孤立森林异常检测算法,既能给出准确的检测结果,同时给出检测结果对应的置信度;
(2)模型无需对正常样本进行学习和描述,通过异常数据样本数量少、异常数据样本特征和正常数据样本特征差别大这两个特点来孤立异常点,检测效率和准确度高;
(3)克服传统检测方法因为异常因子样本数目不足而造成的模型泛化能力下降问题,同时采用Pseudo-labeling半监督学习和permutation特征筛选方法相结合的方式产生伪异常标签的特征因子用于模型训练,避免模型泛化能力下降;
(4)本发明通过检索和提取主成分因子,减小了提取大量因子带来的计算量;通过使用混合泛化能力方法,综合运用Pseudo-labeling半监督学习、二阶特征筛选、K-foldCross-validation和Greedy ensemble技术,提升了检测模型泛化能力,避免了异常数据在整体数据样本中占比小带来的模型性能下降,对于大型蒸发观测设备水位数据,更有效地检测出异常水位数据;
(5)本发明结合气象业务实际需求,依托算法、软件技术实现,适用气象观测设备维护领域的管理系统,功能部署速度快。
附图说明
图1为一种大型蒸发传感器水位异常数据检测方法的流程示意图;
图2为孤立森林异常检测原理图(a);
图3为孤立森林异常检测原理图(b);
图4为因子数据相关性分析热力图;
图5为特征因子重要性评估图;
图6为检测模型参数调优学习曲线图。
具体实施方式
下面结合具体实施例对本发明作进一步的详细描述。
实施例1:一种大型蒸发传感器水位异常数据检测方法,它包括如下步骤:
S1:获取因子数据;所述因子数据包括物理量场因子数据和被检测对象数据;
S2:对因子数据进行特征萃取,得到萃取后的数据;
S3:建立孤立森林异常检测模型,使用萃取后的数据进行训练;
S4:孤立森林异常检测模型参数调优;使用最优参数重复S3对模型进行训练;
S5:使用得到的异常检测模型对被检测对象数据进行检测,得出检测结果。
优选地,所述步骤S1中,获取的因子数据包括:
自动气象观测站的大型蒸发观测设备的蒸发水位数据,自动气象观测站的站点纬度Lat、站点经度Lon、站点拔高Alti、相对湿度RHU、气温TEM、最低气温TEM_Min、最高气温TEM_Max等小时观测数据。
优选地,所述步骤S2中,对因子数据进行特征萃取的方法包括:权重随机森林算法、Pseudo-labeling半监督学习和二阶特征筛选,具体包括以下步骤:
S21:使用随机森林算法对因子数据进行重要性评估,看每个特征因子在随机森林中的每棵树上所作贡献的大小,然后进行集成平均,最后比较不同特征因子之间贡献的大小;为了增加小样本的识别概率,提高总体的分类准确率,具体选择权重随机森林算法进行因子数据重要性评估;
S22:使用Pseudo-labeling半监督学习方法增加训练数据,使模型的泛化能力得到提升;
S23:permutation特征筛选方法进行二阶特征筛选。
优选地,所述步骤S22具体为:
第一阶段用训练数据训练模型;
第二阶段使用第一阶段训练好的模型在无标注的数据上预测,将其中置信度较高的数据合并到训练集中;
第三阶段使用合并后的数据重新训练模型。
优选地,所述步骤S23具体为:
首先,基于已经训练好的模型在评估集上得到一个baseline评分,然后分别将每一列特征变成噪音数据后重新评估,评分等于或高于baseline评分说明该特征对模型没有增益甚至于是有损的,如果评分下降说明该特征是对模型有益的,用这个和baseline评分的差值做为特征因子筛选的参考值选择特征。
优选地,所述步骤S3中所述的使用萃取后的数据进行训练,是将因子数据按照3:7的比例划分为测试数据集和训练数据集,使用划分后的训练数据集对建立的孤立森林异常检测模型进行训练。
优选地,步骤S4中所述的模型参数调优,采用K-fold Cross-validation交叉验证方法实现。
优选地,步骤S5中,使用基于voting的集成学习方法得到最终检测结果,具体采用Greedy Ensemble方法;使用RMSE(Root Mean Squared Error)均方根误差、准确率(Accuracy)、精确率(Precision)、召回率(Recall)、精确率与召回率的调和平均数(F1-Score)、接受者操作特征曲线(Receiver Operating Characteristic curve,ROC)、ROC曲线以下部分的面积(Area Under ROC Curve,AUC)作为最终检测结果的性能评价指标。
实施例2:
请参考图1,一种大型蒸发传感器水位异常数据检测方法,它包括如下步骤:
S101:获取因子数据;所述因子数据包括物理量场因子数据和被检测对象数据;
物理量场因子自动气象观测站的站点纬度Lat、站点经度Lon、站点拔高Alti、相对湿度RHU、气温TEM、最低气温TEM_Min、最高气温TEM_Max等小时观测数据。对于某一时次的物理量场因子,可记为(X1,X2...Xn),每个物理量场样本数n。检测结果场为0或1,0表示正常,1表示异常。
S102:对因子数据进行特征萃取,得到萃取后的数据,具体包括如下步骤:
S201:使用随机森林算法对因子数据进行重要性评估,主要看每个特征因子在随机森林中的每棵树上所作贡献的大小,然后进行集成平均,最后比较不同特征因子之间贡献的大小;为了增加小样本的识别概率,提高总体的分类准确率,具体选择权重随机森林算法进行因子数据重要性评估;
权重随机森林(WRF)中使用gini值作为切分节点的标准,权重的本质是赋给小类较大的权重,给大类较小的权重。权重用于切分点选择中加权计算gini值,表达式如下:
Δi=i(NL)-i(NR)
其中,N表示未分离的节点,NL和NR分别表示左侧子节点和右侧子节点,Wi为c类样本的类权重,ni表示节点内各类样本的数量,Δi是节点不纯度减少量,该值越大表明分离点的分离效果越好。
同时,对于终结点,权重用于决定其类标签,表达式如下:
NODEclass=argi max(niWi) (i=1,2,3,…,C)将特征因子的重要性评分用VIM来表示,gini值用GI表示,假设有m个特征X1,X2...Xn,对于每个特征Xj的gini指数评分VIMj,即第j个特征因子在权重随机森林所有决策树中节点分裂不纯度的平均改变量,gini指数的计算公式可表示为:
其中,k表示特征因子有k个类别,Pmk表示节点m中类别k所占的比例。
特征Xj在节点m的重要性,即节点m分枝前后的gini指数变化量为:
其中GIL和GIR分别表示分枝后左右两个新节点的gini指数。
如果特征Xj在决策树i中出现的节点在集合M中,那么Xj在第i棵树的重要性可表示
假设随机森林共有n棵树,那么:
将所有求解得到的重要性评分归一化处理后就可得到特征因子的重要性评分:
将特征因子的重要性评分依从高到低的顺序进行排序,按照需要选取排名靠前的特征因子。
S202:使用Pseudo-labeling半监督学习方法增加训练数据,使模型的泛化能力得到提升,具体包括如下步骤:
(1)使用标记数据训练有监督模型M;
(2)使用有监督模型M对无标签数据进行预测,得出预测概率P;
(3)通过预测概率P筛选高置信度样本;
(4)使用有标记数据以及伪标签数据训练新模型M’;
(5)使用M’替换M,重复以上步骤直至模型效果不再出现提升。
S203:permutation特征筛选方法进行二阶特征筛选。
具体为:首先,基于已经训练好的模型在评估集上得到一个baseline评分,然后分别将每一列特征变成噪音数据后重新评估,评分等于或高于baseline评分说明该特征对模型没有增益甚至于是有损的,如果评分下降说明该特征是对模型有益的,用这个和baseline评分的差值做为特征因子筛选的参考值选择特征。
S103:建立孤立森林异常检测模型,使用萃取后的数据进行训练;
孤立森林异常检测方法在训练阶段,主要完成异常检测模型的构建和训练:对训练集进行采样,使用采样得到的子样本构建孤立树iTree,由孤立树iTree集成孤立森林,使用样本点对森林中的每棵孤立树进行遍历,记录路径长度。
在训练阶段,iTree的建立是通过对训练集的递归分割来实现的,直到所有样本不能再被分割或树生长到了设定的高度。具体包括如下步骤:
(1)构建初始n棵iTree时,从组采样数据中均匀随机抽取m个样本作为子样本;
(2)在子样本中,随机选取一个特征,在选取特征的所有取值范围内,随机选取一个值k作为节点,对样本进行划分,具体为:将样本中小于k值的划至节点左侧,大于等于k值的划至节点右侧;
(3)分别在左右两侧新产生的数据子集上重复步骤(2)的过程,当样本不能继续划分或划分次数达到log2k时,停止划分操作。
在构建完成n棵iTree后,使用样本x遍历每棵iTree,并计算每次遍历经过的路径长度h(x)。h(x)为样本从根节点至叶子节点过程中经过的边的数量。
S104:孤立森林异常检测模型参数调优;使用最优参数重复S103对模型进行训练;
参数调优过程中,采用K-fold Cross-validation交叉验证方法实现,具体包括如下步骤:
S401:将给定的因子数据分割成k组(k=10),进行10折交叉验证;
S402:将因子数据集随机打乱;
S403:将因子数据集随机分割为10组;
S404:对于每一个组,进行如下操作:
(1)将这个组的数据作为测试集;
(2)剩余的9个组的数据作为训练集;
(3)使用测试集训练模型,并在测试集上进行评测;
(4)保留评测的分数,进行下一组操作。
S105:使用得到的异常检测模型对被检测对象数据进行检测,得出检测结果。
在评估阶段,主要完成异常分数的计算:使用异常分数计算公式,计算每个样本点的异常分数(Anomaly Score)。
样本点x的异常分数定义为:
S(x,n)=2^(-E(h(x))/c(n))
S(x,n)为每个采样样本的异常分数,E(h(x))为样本x在所有iTree中遍历过后的路径长度的期望。式中的c(n)表示给定样本数目n时,路经长度的平均值,可以通过下式计算得到:
c(n)=2H(n-1)-(2(n-1))/n
式中H(n)为调和数,该值可近似为ln(n)+γ,其中γ=0.577215664为欧拉常数。c(n)是用来标准化路径长度h(x)的,从而可以进一步将异常分值归一化。
S的取值范围为0~1,当S接近于1时,表示样本数据为异常的可能性非常高;当S取值处于0.5附近时,表示样本数据不足以被判定为异常数据;当S小于0.5时,样本数据可以被判定为非异常数据。
为了对本文提出的iForest异常检测模型性能进行评价,本文使用的评价指标如下:
(1)准确率(Accuracy):正确分类的样本占总样本的百分比,计算公式表示如下:
Accuracy=(TP+TN)/(TP+TN+FP+FN)
其中,TP为被模型分类为正常的正常样本;FP为被模型分类为正常的异常样本;FN为被模型分类为异常的正常样本;TN为被模型分类为异常的异常样本。
(2)精确率(Precision):又被称为查准率,是指所有被分类为正确样本的样本中实际为正确的概率,计算公式可以表示为:
Precision=TP/(TP+FP)
其中,TP与FP表示的意义与(1)中一致。
准确率表示模型的分类准确程度,而精确率表示模型对正确样本的分类准确程度。
(3)召回率(Recall):又被称为查全率,是指在实际为正确的样本中被分类为正确样本的概率,计算公式可表示为:
Recall=TP/(TP+FN)
其中,TP与FN表示的意义与(1)中一致。
通常,查准率越高,召回率越低。在孤立森林异常检测算法中,精确率与召回率都与最终的检测阈值的选取密切相关。在具体应用中,需根据实际选择合适的精确率与召回率。
(4)F1-score:表示精确率与召回率的调和平均数,对性能的描述较P-R曲线要更加准确。其计算公式如下:
F1=(2×TP)/(N+TP-TN)
其中,TP与TN表示的意义与(1)中一致。N为样本总数。
(5)ROC(Receiver Operating Characteristic curve):又被称为接受者操作特征曲线,因为实际应用中会出现正确、异常样本数量悬殊的情况,会对(1)-(4)评价指标值造成影响。而ROC曲线不会受到样本不平衡的影响,且ROC曲线不依赖于阈值变化的影响,可以避免模型性能评估受到阈值选取的影响。
真正率(True Positive Rate,TPR),又被称为灵敏度。计算如下:
TPR=TP/(TP+FN)
假负率(False Negative Rate,FNR)可表示为:
FNR=FN/(TP+FN)
假正率(False Positive Rate,FPR)可表示为:
FPR=FP/(TN+FP)
真负率(True Negative Rate,TNR)可表示为:
TNR=TN/(TN+FP)
以FPR为横轴,TPR为纵轴绘制的曲线即为ROC曲线。ROC曲线越接近于左上角代表模型的性能越好。
(6)AUC(Area Under ROC Curve):为ROC曲线以下部分的面积。通常,AUC取值范围为0.5~1,AUC的值越大代表模型的性能越好。
如图1和2所示,在孤立森林算法中,异常样本被定义为易于被“孤立”的离群点,具体表现为自身分布稀疏,且与密集分布的样本点的分布区域存在一定距离的样本点。对于集成孤立森林的每棵随机树,“孤立”一个样本点所需划分的数目可以通过从根节点到包含这个样本点的叶节点之间的路径的长度来衡量。所需的划分越少,样本点越容易被“孤立”。孤立森林算法的目的就是找出路径短的样本点。
实施例3:下面以本发明在57251郧西国家基准气候站的具体应用案例,展示本发明的大型蒸发传感器水位异常数据检测方法的具体检测过程。
使用数据:2020年9月至2021年9月,57251站大型蒸发水位数据和站点小时观测数据;
数据来源:气象内网大数据云平台。
S101:获取因子数据;所述因子数据包括物理量场因子数据和被检测对象数据。
其中物理因子场数据包括:Lat-站点纬度,Lon-站点经度,Alti-站点拔高,Mon-资料时间月,Day资料时间日,Hour资料时间小时,PRS-气压,PRS_Sea-海平面气压,PRS_Change_3h-3小时变压,PRS_Change_24h-24小时变压,PRS_Max-最高本站气压,PRS_Min-最低本站气压,TEM-温度/气温,TEM_Max-最高气温,TEM_Min-最低气温,TEM_ChANGE_24h-过去24小时变温,TEM_Max_24h-过去24小时最高气温,TEM_Min_24h-过去24小时最低气温,DPT-露点温度,RHU-相对湿度,RHU_Min-最小相对湿度,VAP-水汽压,PRE_1h-过去1小时降水量,PRE_3h-过去3小时降水量,PRE_6h-过去6小时降水量,PRE_12h-过去12小时降水量,PRE_24h-过去24小时降水量,EVP_Big-蒸发(大型),WIN_D_Avg_2mi-2分钟平均风向(角度),WIN_S_Avg_2mi-2分钟平均风速,WIN_D_Avg_10mi-10分钟平均风向(角度),WIN_S_Avg_10mi-10分钟平均风速,WIN_D_S_Max-小时内最大风速的风向,WIN_S_Max-最大风速,WIN_D_INST-瞬时风向(角度),WIN_S_INST-瞬时风速,WIN_D_INST_Max-极大风速的风向(角度),WIN_S_Inst_Max-极大风速,WIN_D_Inst_Max_6h-过去6小时极大瞬时风向,WIN_S_Inst_Max_6h-过去6小时极大瞬时风速,WIN_D_Inst_Max_12h-过去12小时极大瞬时风向,WIN_S_Inst_Max_12h-过去12小时极大瞬时风速,GST-地面温度,GST_Max-最高地面温度,GST_Min-最低地面温度,GST_Min_12h-过去12小时地面最低温度,GST_5cm-5cm地温,GST_10cm-10cm地温,GST_15cm-15cm地温,GST_20cm-20cm地温,GST_40cm-40cm地温,GST_80cm-80cm地温,GST_160cm-160cm地温,GST_320cm-320cm地温,LGST-草面(雪面)温度,LGST_Max-草面(雪面)最高温度,LGST_Min-草面(雪面)最低温度,VIS_HOR_1MI-1分钟平均能见度,VIS_HOR_10MI-10分钟平均能见度,VIS_Min-最小水平能见度,VIS-水平能见度;
被检测对象数据为大型蒸发传感器水位数据:Waterlevel。
对以上因子数据的相关性进行分析,分析结果如图4所示。
S102:对因子数据进行特征萃取,得到萃取后的数据。
S201:使用权重随机森林算法进行特征因子重要性评估,评估结果如图5所示;
将特征因子重要性评分结果依从高到低的顺序进行排序,保留排名占全部排名前80%的特征因子。
S202:由于异常的水位数据占总样本的比例较小,为使训练模型取得一定数量的异常样本,使用Pseudo-labeling半监督学习方法增加训练数据,提升模型的泛化能力。
初次构建模型时,为避免异常样本集中对模型泛化能力造成影响,采用分层抽样方法从总样本集中的各月样本中抽取得到样本子集。使用人工方法对样本子集内的异常数据进行标记。
(1)使用标记数据训练有监督模型M;
(2)使用有监督模型M对样本子集内的无标签数据进行预测,得出预测概率P;
(3)通过预测概率P筛选高置信度样本;
(4)使用有标记数据以及伪标签数据训练新模型M’;
(5)使用M’替换M,重复以上步骤直至模型效果不再出现提升。
S203:permutation特征筛选方法进行二阶特征筛选。经过二阶特征筛选后的特征因子及其重要性如表1所示。
表1二阶特征筛选特征因子及重要性
S103:建立孤立森林异常检测模型,使用萃取后的数据对默认参数模型进行训练,使用的孤立森林算法默认参数如下:
iforest.get_params()
{'bootstrap':False,
'contamination':'auto',
'max_features':1.0,
'max_samples':'auto',
'n_estimators':100,
'n_jobs':None,
'random_state':None,
'verbose':0,
'warm_start':False}
S104:孤立森林异常检测模型参数调优;采用K-fold Cross-validation交叉验证方法(K=10)参数调优的学习曲线如图6所示,之后使用调优后的参数重复S103对模型进行训练;
最终确定检测模型参数如下:
iforest.get_params()
{'bootstrap':False,
'contamination':'auto',
'max_features':7,
'max_samples':2000,
'n_estimators':100,
'n_jobs':None,
'random_state':None,
'verbose':0,
'warm_start':False}
使用最优参数的检测模型的预测准确率能够达到0.8814。最优参数下的检测模型的各项指标得分情况如表2所示。
表2最优参数下检测模型评价指标及得分情况
S105:使用得到的异常检测模型对被检测对象数据进行检测,同时使用LOF、RobustPCC等无监督异常检测算法作为对比,得出检测结果如表3所示。
表3检测模型性能指标对比
可以看出本文使用的检测方法在正解率(Accuracy)、准确率(Precision)、召回率(Recall)、F1_score和检测用时等方面,相较于另外两种无监督检测算法均有优势。
S106:在该站蒸发水位数据中抽样,样本数目>50,确定本站蒸发水位参考值w,如果某时次通过本文水位异常检测方法检测出了异常,将该时次水位数据Waterleveli与参考值w进行比较,如果Waterleveli>w,蒸发水位偏高;如果Waterleveli<w,蒸发水位偏低,从而给出最终异常检测结果。
上述的实施例仅为本发明的优选技术方案,而不应视为对于本发明的限制,本申请中的实施例及实施例中的特征在不冲突的情况下,可以相互任意组合。本发明的保护范围应以权利要求记载的技术方案,包括权利要求记载的技术方案中技术特征的等同替换方案为保护范围。即在此范围内的等同替换改进,也在本发明的保护范围之内。
Claims (8)
1.一种大型蒸发传感器水位异常数据检测方法,其特征在于:它包括如下步骤:
S1:获取因子数据;所述因子数据包括物理量场因子数据和被检测对象数据;
S2:对因子数据进行特征萃取,得到萃取后的数据;
S3:建立孤立森林异常检测模型,使用萃取后的数据进行训练;
S4:孤立森林异常检测模型参数调优;使用最优参数重复S3对模型进行训练;
S5:使用得到的异常检测模型对被检测对象数据进行检测,得出检测结果。
2.根据权利要求1所述的一种大型蒸发传感器水位异常数据检测方法,其特征在于:所述步骤S1中,获取的因子数据包括:
自动气象观测站的大型蒸发观测设备的蒸发水位数据,自动气象观测站的站点纬度Lat、站点经度Lon、站点拔高Alti、相对湿度RHU、气温TEM、最低气温TEM_Min、最高气温TEM_Max等小时观测数据。
3.根据权利要求1所述的一种大型蒸发传感器水位异常数据检测方法,其特征在于:所述步骤S2中,对因子数据进行特征萃取的方法包括:权重随机森林算法、Pseudo-labeling半监督学习和二阶特征筛选,具体包括以下步骤:
S21:使用随机森林算法对因子数据进行重要性评估,看每个特征因子在随机森林中的每棵树上所作贡献的大小,然后进行集成平均,最后比较不同特征因子之间贡献的大小;为了增加小样本的识别概率,提高总体的分类准确率,具体选择权重随机森林算法进行因子数据重要性评估;
S22:使用Pseudo-labeling半监督学习方法增加训练数据,使模型的泛化能力得到提升;
S23:permutation特征筛选方法进行二阶特征筛选。
4.根据权利要求3所述的一种大型蒸发传感器水位异常数据检测方法,其特征在于:所述步骤S22具体为:
第一阶段用训练数据训练模型;
第二阶段使用第一阶段训练好的模型在无标注的数据上预测,将其中置信度较高的数据合并到训练集中;
第三阶段使用合并后的数据重新训练模型。
5.根据权利要求3所述的一种大型蒸发传感器水位异常数据检测方法,其特征在于:所述步骤S23具体为:
首先,基于已经训练好的模型在评估集上得到一个baseline评分,然后分别将每一列特征变成噪音数据后重新评估,评分等于或高于baseline评分说明该特征对模型没有增益甚至于是有损的,如果评分下降说明该特征是对模型有益的,用这个和baseline评分的差值做为特征因子筛选的参考值选择特征。
6.根据权利要求1所述的一种大型蒸发传感器水位异常数据检测方法,其特征在于:所述步骤S3中所述的使用萃取后的数据进行训练,是将因子数据按照3:7的比例划分为测试数据集和训练数据集,使用划分后的训练数据集对建立的孤立森林异常检测模型进行训练。
7.根据权利要求1所述的一种大型蒸发传感器水位异常数据检测方法,其特征在于:步骤S4中所述的模型参数调优,采用K-fold Cross-validation交叉验证方法实现。
8.根据权利要求1所述的一种大型蒸发传感器水位异常数据检测方法,其特征在于:步骤S5中,使用基于voting的集成学习方法得到最终检测结果,具体采用Greedy Ensemble方法;使用RMSE(Root Mean Squared Error)均方根误差、准确率(Accuracy)、精确率(Precision)、召回率(Recall)、精确率与召回率的调和平均数(F1-Score)、接受者操作特征曲线(Receiver Operating Characteristic curve,ROC)、ROC曲线以下部分的面积(Area Under ROC Curve,AUC)作为最终检测结果的性能评价指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311030768.9A CN117235632A (zh) | 2023-08-15 | 2023-08-15 | 一种大型蒸发传感器水位异常数据检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311030768.9A CN117235632A (zh) | 2023-08-15 | 2023-08-15 | 一种大型蒸发传感器水位异常数据检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117235632A true CN117235632A (zh) | 2023-12-15 |
Family
ID=89092046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311030768.9A Pending CN117235632A (zh) | 2023-08-15 | 2023-08-15 | 一种大型蒸发传感器水位异常数据检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117235632A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117436005A (zh) * | 2023-12-21 | 2024-01-23 | 山东汇力环保科技有限公司 | 一种环境空气自动监测过程中异常数据处理方法 |
-
2023
- 2023-08-15 CN CN202311030768.9A patent/CN117235632A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117436005A (zh) * | 2023-12-21 | 2024-01-23 | 山东汇力环保科技有限公司 | 一种环境空气自动监测过程中异常数据处理方法 |
CN117436005B (zh) * | 2023-12-21 | 2024-03-15 | 山东汇力环保科技有限公司 | 一种环境空气自动监测过程中异常数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108777873B (zh) | 基于加权混合孤立森林的无线传感网络异常数据检测方法 | |
CN110728411B (zh) | 一种基于卷积神经网络的高低空区域联合降雨预测方法 | |
CN111081016B (zh) | 一种基于复杂网络理论的城市交通异常识别方法 | |
CN105069537B (zh) | 一种组合式空气质量预报模型的构建方法 | |
CN101231672A (zh) | 基于改进型bp神经网络的模拟电路软故障诊断方法 | |
CN117235632A (zh) | 一种大型蒸发传感器水位异常数据检测方法 | |
CN112756759B (zh) | 点焊机器人工作站故障判定方法 | |
Gagne et al. | Classification of convective areas using decision trees | |
CN111950645A (zh) | 一种通过改进随机森林提高类不平衡分类性能的方法 | |
CN110299192A (zh) | 一种轻武器部件及其复合材料、高分子材料的环境适应性评价方法 | |
Ruiz et al. | Storms prediction: Logistic regression vs random forest for unbalanced data | |
Mao et al. | Improving radar-based precipitation nowcasts with machine learning using an approach based on random forest | |
CN114492642A (zh) | 一种多尺度元深度残差收缩网络的机械故障在线诊断方法 | |
CN113836808A (zh) | 一种基于重污染特征约束的pm2.5深度学习预测方法 | |
CN113283467B (zh) | 一种基于平均损失和逐类选择的弱监督图片分类方法 | |
CN110196456A (zh) | 一种基于相似年灰色关联分析的中长期降雨径流预报方法 | |
CN116881652B (zh) | 基于优选负样本和随机森林模型的滑坡易发性评价方法 | |
CN109740118B (zh) | 一种质量控制方法、装置、设备及存储介质 | |
CN116663393A (zh) | 一种基于随机森林的配电网持续高温下故障风险等级预测方法 | |
CN115048986B (zh) | 一种基于多分类器动态剪枝选择的地表冻融状态分类方法 | |
CN113805252B (zh) | 基于集合预报模型的登陆热带气旋过程大风预报系统 | |
CN112014821B (zh) | 一种基于雷达宽带特征的未知车辆目标识别方法 | |
CN113689053B (zh) | 一种基于随机森林的强对流天气架空线停电预测方法 | |
CN115345245A (zh) | 一种基于随机森林和迁移学习的热带气旋快速加强预报方法 | |
CN115454990A (zh) | 一种基于改进knn的油纸绝缘数据清洗方法 |
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 |