CN111459996B - 对油枪在指定时间段内的工作状态进行检测的方法及装置 - Google Patents
对油枪在指定时间段内的工作状态进行检测的方法及装置 Download PDFInfo
- Publication number
- CN111459996B CN111459996B CN202010176702.0A CN202010176702A CN111459996B CN 111459996 B CN111459996 B CN 111459996B CN 202010176702 A CN202010176702 A CN 202010176702A CN 111459996 B CN111459996 B CN 111459996B
- Authority
- CN
- China
- Prior art keywords
- oil gun
- gun
- historical
- data
- time period
- 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
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/2462—Approximate or statistical 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- 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/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Loading And Unloading Of Fuel Tanks Or Ships (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种对油枪在指定时间段内的工作状态进行检测的方法及装置、存储介质,所述方法包括:获取油枪在一段时期于每日指定时间段内的历史加油数据以及工作状态;以油枪的每一种历史加油数据的取值范围为分支,以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树;获取油枪于指定日期指定时间段内的加油数据;基于油枪的每一种历史加油数据的取值范围,确定油枪于指定日期指定时间段内的每一种加油数据所属的取值范围;将所述每一种加油数据所属的取值范围输入所述油枪状态分类决策树,确定油枪于指定日期指定时间段内是否处于异常停枪状态,能够快速及时地发现指定时间段内油枪停枪的现象。
Description
技术领域
本发明属于加油站监控技术领域,具体涉及一种对油枪在指定时间段内的工作状态进行检测的方法及装置、存储介质。
背景技术
现有的油枪异常停枪的检测方法是由加油员记录上报,或通过系统自动监测油枪当日出油量是否为0来判断。其中,加油员记录上报的方法如下:加油员发现油枪异常,需要维修等情况,加油员会记录具体异常情况并进行上报,相关部门会根据不同情况进行处理解决。该方法受加油员人为因素影响较大,并且时效性较差;系统自动监测的方法如下:通过监测油枪每日的出油量,若油枪当日的加油量为0,则判定该油枪异常。该方法判断条件单一,只能检测出油枪整日停枪的状况,不适用于监测短期停枪问题。
加油员记录上报的方法能够解决部分油枪异常问题,但是时效性较差,对于部分监管力度不够的人为停枪问题,不能有效处理;系统自动监测的方法能够解决一部分上述因人为因素未能按时上报的停枪问题,即全天非计划性停枪问题,然而对于非全天停枪问题,即当日有加油,但不能有效预警某些时间段内人为停枪的问题,例如:加油员因人手不够在某些入口设置障碍物阻止车辆进入,因此,不利于后期调控改革。
现在亟须一种对油枪在指定时间段内的工作状态进行检测的方法及装置、存储介质。
发明内容
本发明所要解决的技术问题是对油枪的非计划性停枪的问题进行细粒度全面监测。
针对上述问题,本发明提供了一种对油枪在指定时间段内的工作状态进行检测的方法及装置、存储介质。
第一方面,本发明提供了一种对油枪在指定时间段内的工作状态进行检测的方法,包括以下步骤:
获取油枪在一段时期于每日指定时间段内的历史加油数据以及工作状态;
以油枪的每一种历史加油数据的取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树,其中,油枪的工作状态包括正常工作状态和异常停枪状态;
获取油枪于指定日期指定时间段内的加油数据;
基于油枪的每一种历史加油数据的取值范围,确定油枪于指定日期指定时间段内的每一种加油数据所属的取值范围;
将油枪于指定日期指定时间段内的每一种加油数据所属的取值范围输入所述油枪状态分类决策树,根据所述油枪状态分类决策树的分支走向判断油枪于指定日期指定时间段的工作状态的类别,从而确定油枪于指定日期指定时间段内是否处于异常停枪状态。
根据本发明的实施例,优选地,所述方法还包括:
当油枪处于异常停枪状态时,将指定日期指定时间段内油枪的加油数据与预测的同一时间段内油枪的正常加油数据进行对比,确定油枪在异常停枪状态下的异常加油数据,以为异常处理提供支持。
根据本发明的实施例,优选地,以油枪的每一种历史加油数据的取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树油枪的工作状态,包括:
汇总油枪在一段时期于每日指定时间段内的历史加油数据中每一种历史加油数据的所有取值,对每一种历史加油数据的所有取值进行连续属性离散化处理,确定每一种历史加油数据的多个取值范围,从而获取与油枪在一段时期于每日指定时间段内的历史加油数据对应的历史加油数据取值范围集;
由油枪在一段时期于每日指定时间段内的历史加油数据取值范围集以及与其对应的油枪的工作状态组成训练集;
基于C4.5算法,以所述训练集中的每一种历史加油数据为属性,以每一种历史加油数据的多个取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树。
根据本发明的实施例,优选地,对每一种历史加油数据的所有取值进行连续属性离散化处理,包括:
对每一种历史加油数据的所有取值按照递增的顺序进行排序,获取排序后的历史加油数据取值序列;
将所述历史加油数据取值序列中每对相邻值的中点作为可能的分裂点;
对于每个可能的分裂点,计算按照当前分裂点划分后的历史加油数据取值序列的熵值;将熵值最小时对应的分裂点作为所述历史加油数据取值序列的选定分裂点;
按照所述选定分裂点将所述历史加油数据取值序列划分为历史加油数据的多个取值范围。
根据本发明的实施例,优选地,通过以下表达式,计算按照当前分裂点划分后的历史加油数据取值序列的熵值:
其中,S为划分前的历史加油数据取值序列,T为当前分裂点,E(S,T)为按照分裂点T划分后的历史加油数据取值序列的熵值,S1和S2为按照分裂点T划分后的两个历史加油数据取值序列,|S1|为序列S1中历史加油数据取值的个数,|S2|为序列S2中历史加油数据取值的个数,E(S1)为序列S1的熵值,E(S2)为序列S2的熵值。
根据本发明的实施例,优选地,在构建用于判断指定时间段油枪工作状态的油枪状态分类决策树时,所述方法还包括:
基于REP算法,对所述用于判断指定时间段油枪工作状态的油枪状态分类决策树进行剪枝处理。
根据本发明的实施例,优选地,所述方法还包括:
将未被选入训练集的、历史加油数据取值范围集以及与其对应的油枪的工作状态,组成测试集,对剪枝处理后的油枪状态分类决策树进行分类准确率的评估;
当油枪状态分类决策树的分类准确率小于或等于预设阈值时,进一步对所述油枪状态分类决策树进行调整,直至油枪状态分类决策树的分类准确率大于预设阈值。
根据本发明的实施例,优选地,所述预测的同一时间段内油枪的正常加油数据通过以下步骤获取:
从油枪在一段时期于每日指定时间段内的历史加油数据中选出油枪的工作状态种类为正常工作状态的历史加油数据,作为油枪的历史正常加油数据;
基于加权滑动平均算法,根据油枪的每一种历史正常加油数据预测所述指定时间段内油枪的每一种正常加油数据。
第二方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
第二方面,本发明提供了一种对油枪在指定时间段内的工作状态进行检测的装置,其包括存储介质和处理器,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
应用本发明的对油枪在指定时间段内的工作状态进行检测的方法,获取油枪在一段时期于每日指定时间段内的历史加油数据以及工作状态;以油枪的每一种历史加油数据的取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树,其中,油枪的工作状态包括正常工作状态和异常停枪状态;获取油枪于指定日期指定时间段内的加油数据;基于油枪的每一种历史加油数据的取值范围,确定油枪于指定日期指定时间段内的每一种加油数据所属的取值范围;将油枪于指定日期指定时间段内的每一种加油数据所属的取值范围输入所述油枪状态分类决策树,根据所述油枪状态分类决策树的分支走向判断油枪于指定日期指定时间段的工作状态的类别,从而确定油枪于指定日期指定时间段内是否处于异常停枪状态,能够快速及时地发现指定时间段内油枪停枪的现象,从而实现对油枪停枪现象的实时监测。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1示出了本发明实施例一对油枪在指定时间段内的工作状态进行检测的方法;
图2示出了本发明实施例二对油枪在指定时间段内的工作状态进行检测的方法;
图3示出了本发明实施例三对油枪在指定时间段内的工作状态进行检测的方法;
图4是本实施例假设的构建的决策树。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
实施例一
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种对油枪在指定时间段内的工作状态进行检测的方法。
图1示出了本发明实施例一对油枪在指定时间段内的工作状态进行检测的方法,参照图1,本实施例的对油枪在指定时间段内的工作状态进行检测的方法,包括以下步骤:
S110,获取油枪在一段时期于每日指定时间段内的历史加油数据以及工作状态,其中,油枪的工作状态包括正常工作状态和异常停枪状态;
S120,汇总油枪在一段时期于每日指定时间段内的历史加油数据中每一种历史加油数据的所有取值,对每一种历史加油数据的所有取值进行连续属性离散化处理,确定每一种历史加油数据的多个取值范围,从而获取与油枪在一段时期于每日指定时间段内的历史加油数据对应的历史加油数据取值范围集;
S130,由油枪在一段时期于每日指定时间段内的历史加油数据取值范围集以及与其对应的油枪的工作状态组成训练集;
S140,基于C4.5算法,以所述训练集中的每一种历史加油数据为属性,以每一种历史加油数据的多个取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树,并基于REP算法,对所述用于判断指定时间段油枪工作状态的油枪状态分类决策树进行剪枝处理;
S150,获取油枪于指定日期指定时间段内的加油数据;
S160,基于油枪的每一种历史加油数据的取值范围,确定油枪于指定日期指定时间段内的每一种加油数据所属的取值范围;
S170,将油枪于指定日期指定时间段内的每一种加油数据所属的取值范围输入所述油枪状态分类决策树,根据所述油枪状态分类决策树的分支走向判断油枪于指定日期指定时间段的工作状态的类别;
S180,根据油枪于指定日期指定时间段的工作状态的类别判断油枪于指定日期指定时间段内是否处于异常停枪状态;
若是,则将指定日期指定时间段内油枪的加油数据与预测的同一时间段内油枪的正常加油数据进行对比,确定油枪在异常停枪状态下的异常加油数据,以为异常处理提供支持;
若否,则不予响应。
在步骤S110中,一段时期例如可以是一个星期、一个月或一年等等,指定时间段为一天中的一段时间,例如,可以是一天中的一个小时或几个小时等等。
在步骤S120中,对每一种历史加油数据的所有取值进行连续属性离散化处理,包括:
对每一种历史加油数据的所有取值按照递增的顺序进行排序,获取排序后的历史加油数据取值序列;
将所述历史加油数据取值序列中每对相邻值的中点作为可能的分裂点;
对于每个可能的分裂点,计算按照当前分裂点划分后的历史加油数据取值序列的熵值;将熵值最小时对应的分裂点作为所述历史加油数据取值序列的选定分裂点;
按照所述选定分裂点将所述历史加油数据取值序列划分为历史加油数据的多个取值范围。
其中,通过以下表达式,计算按照当前分裂点划分后的历史加油数据取值序列的熵值:
其中,S为划分前的历史加油数据取值序列,T为当前分裂点,E(S,T)为按照分裂点T划分后的历史加油数据取值序列的熵值,S1和S2为按照分裂点T划分后的两个历史加油数据取值序列,|S1|为序列S1中历史加油数据取值的个数,|S2|为序列S2中历史加油数据取值的个数,E(S1)为序列S1的熵值,E(S2)为序列S2的熵值,其中,m为序列S1中样本的种类,pi为第i种样本出现的概率。
在步骤S140之后,所述方法还包括:
将未被选入训练集的、历史加油数据取值范围集以及与其对应的油枪的工作状态,组成测试集,对剪枝处理后的油枪状态分类决策树进行分类准确率的评估;
当油枪状态分类决策树的分类准确率小于或等于预设阈值时,进一步对所述油枪状态分类决策树进行调整,直至油枪状态分类决策树的分类准确率大于预设阈值。
在步骤S150中,油枪的加油数据包括:加油笔数、加油升数、加油金额、加油时长、最大停枪时长、最早加油时间、最晚加油时间。
在步骤S180中,所述预测的同一时间段内油枪的正常加油数据通过以下步骤获取:
从油枪在一段时期于每日指定时间段内的历史加油数据中选出油枪的工作状态种类为正常工作状态的历史加油数据,作为油枪的历史正常加油数据;
基于加权滑动平均算法,根据油枪的每一种历史正常加油数据预测所述指定时间段内油枪的每一种正常加油数据。
本实施例通过油枪状态分类决策树先判断指定时间段内油枪是否处于停枪状态,再在指定时间段内油枪处于停枪状态时,进一步确定异常加油数据,不仅能够快速及时地发现指定时间段内油枪停枪的现象,还能够为监测者提供直观的异常加油数据,以便监测者能够及时地处理异常加油。
实施例二
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种对油枪在指定时间段内的工作状态进行检测的方法,其中,指定时间段为一天,历史加油数据为过去一年内的加油数据。
图2示出了本发明实施例二对油枪在指定时间段内的工作状态进行检测的方法,参照图2,本实施例的对油枪在指定时间段内的工作状态进行检测的方法,包括以下步骤:
S210,获取过去一年内油枪的挂枪加油流水数据以及影响因子数据;
具体地,油枪挂枪加油流水数据包括:加油日期(opedate)、加油时间(opetime)、加油升数(vol)、加油金额(amount)、油站编码(stncode)、油枪编码(guncode)、是否异常(norm);影响因子数据包括:是否是节假日(b1),是否是营销活动日(b2)。
S220,计算过去一年内油枪每天的加油数据;
具体地,对油枪的挂枪加油流水数据进行预处理,以计算过去一年中油枪每天的加油数据,其中,油枪每天的加油数据包括:日期(opedate)、油枪唯一码(gid)、油枪的日加油笔数(gcounts)、油枪的日加油升数(gvols)、油枪的日加油金额(gamt)、油枪的日加油时长(max_ope)、油枪的日最大停枪时长(max_vact)、油枪的日最早加油时间(start_ope)、油枪的日最晚加油时间(end_ope)、节假日因子(b1)、营销活动因子(b2)、是否异常(norm)。
过去一年中油枪每天的加油数据的计算方法如下:
gid=stncode_guncode
gcounts=count(vol)
gvols=sum(vol)
gamt=sum(amount)
max_ope=distance(min(opetime),max(opetime));(单位:min)
max_vact=max(distance(opetimei,(opetimej));(i≠j)
start_ope=min(opetime)
end_ope=max(opetime)
norm∈{0,1};(0:异常;1:正常)
S230,根据过去一年内油枪每天的加油数据和影响因子数据预测油枪当日的加油数据;
具体地,利用加权滑动平均算法根据一年内油枪每天的正常的加油数据对当日的每一个加油数据进行预测。
滑动平均算法是通过最近一段时间的实际数据对未来数据进行预测的一种方法,对于平稳变化的时序数据,该方法预测准确性较高,考虑到不同时段数据对目标数据的影响力不同,加权滑动平均算法通过对不同时段数据添加不同权重来实现更加精准的预测,具体表达式如下:
其中:
Yt是目标预测值;
Yt-i是第t-i期实际数据;
ωi是第t-i期权重。
在本实施例中,由于油品在一定程度上是一种必需品,销售数据量变化较为平稳,主要受阶段性、去年同期和营销活动影响,上述加权滑动平均算法能够实现阶段性和去年同期数据对目标预测值的影响,考虑到营销活动的独立性,用于本实施例的加权滑动平均算法,具体表达式如下:
其中:
Yt是预测的油枪当日的一个加油数据;
Yt-i是第t-i期油枪的实际加油数据;
ωi是第t-i期权重,其中,ω1到ωn依次递减;
b∈[-1,1]是节假日和/或营销活动因子,默认为0。
S240,根据一年内油枪每天的加油数据建立分类决策树;
具体地,对一年内油枪的每一种加油数据的所有取值进行连续特征离散化,以将一年内油枪的每一种加油数据的所有取值划分为多个取值范围,获取一年内油枪每天的加油数据取值范围集;
基于C4.5算法,根据一年内油枪每天的加油数据取值范围集建立分类决策树;
基于REP算法,对分类决策树进行剪枝;
计算分类决策树的分类准确率,判断是否调整分类决策树。
其中,连续特征离散化具体如下:
对某一连续属性A的m个属性值按自然序列排序{a1,a2,…,am,},取相邻两个的均值作为分割点,得到这组属性的m-1个分割点,其中第i个分割点:
对每个分割点Ti,新的分割点为Ti′,其中i∈[1,m-1],计算以Ti′作为分类点的信息增益最大值:
其中,j∈[1,m-2],则连续属性A的离散值为ax=1,ay=2,其中x∈[1,j],y∈[j+1,m],即实现了连续属性的离散化。
C4.5算法作为决策树算法的一种,能够高效的解决分类问题:将具有p维特征的n个样本分到c个类别中去:
c=f(n)
按照以下步骤构建决策树:
Step1.计算当前节点的类别熵;
Step2.计算属性条件下的条件熵;
Step3.计算各个属性的信息增益
Step4.计算各个属性的属性熵
Step5.计算各个属性的信息增益率
循环上述步骤直到当前节点变‘纯’(熵值为0),则当前节点设置为叶子节点。
其中,通过以下表达式计算信息熵:
其中,A代表某一属性,n代表A的n种取值,pi为第i种取值的概率。
条件熵:
另外,通过以下表达式计算信息增益率:
其中,其中的HA(D),对于样本集合D,将当前特征A作为随机变量(取值是特征A的各个特征值),求得的经验熵。
REP算法为对上述决策树自底向上执行以下步骤,判断决策树的每个节点是否出现过拟合,需要剪枝操作:
该剪枝方法考虑将决策树上的每个节点作为修剪的候选对象,决定是否修剪这个结点由如下步骤组成:
Step1,删除以此结点为根的子树
Step2,使其成为叶子结点
Step3,赋予该结点关联的训练数据的最常见分类
Step4,当修剪后的树对于验证集合的性能不会比原来的树差时,删除该结点,否则执行下个节点
循环上述步骤直到根节点,输出剪枝后的决策树。
计算分类决策树的分类准确率,具体实现如下:
由于每个油枪的日常加油量和营业时间不同(分24小时加油站和非24小时加油站),对每个油枪分别建立自己的决策树,对于每个油枪近一年的数据,可得到该油枪近一年每天的属性集合:R={gid,gcounts,gvols,gamt,max_ope,max_vact,start_ope,end_ope,norm},将数据集按照7:3的比例随机分为训练集和测试集,对训练集数据按照C4.5算法步骤可得到该油枪的分类决策树,通过对测试集norm值的预测准确率定义分类决策树的准确率,以通过建立好的决策树对当日加油数据进行预测。
S250,基于分类决策树,根据采集的油枪当日的加油数据判断当日油枪是否停枪,并在当日油枪停枪时获取加油异常数据,为异常处理提供支持。
具体地,获取油枪当日的加油数据;
基于油枪的每一种历史加油数据的取值范围,确定油枪当日的每一种加油数据所属的取值范围;
将油枪当日的每一种加油数据所属的取值范围输入所述油枪状态分类决策树,根据所述油枪状态分类决策树的分支走向判断油枪当日的工作状态的类别,从而确定油枪当日是否处于异常停枪状态:
当油枪当日处于停枪状态时,将油枪当日的加油数据与预测的油枪当日的正常加油数据进行对比,获取油枪在停枪状态下的异常加油数据,为异常处理提供支持。
本实施例的步骤S240中,能够通过连续特征离散化的方式处理连续性特征以及特征缺失数据;以信息增益率作为评价标准能够校正C4.5算法对多值属性的偏向问题;并能够通过REP算法对决策树进行剪枝,避免过拟合问题。
本实施例针对不同油枪的决策树算法可以根据不同油枪的历史加油行为准确预测该油枪的异常问题,进一步地,加权滑动平均算法结合决策树算法不仅能够准确预测异常,还能够对比实际加油量和加权滑动平均算法预测的加油量,可使监测者直观发现具体异常情况,以便进一步异常处理。
本实施例以自然日为周期构建决策树,能够通过决策树监测油枪在工作时间段是否停枪,与现有技术中仅按照油枪当日的加油量为0来判断油枪是否异常相比,本实施例在油枪当日仅停枪一段时间同时当日的加油量不为0,也能监测出油枪的异常。
实施例三
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种对油枪在指定时间段内的工作状态进行检测的方法,其中,指定时间段为一天中油枪营业时间的一个小时,以每天上午8点到9点为例,历史加油数据为过去一年内每天上午8点到9点的加油数据。
图3示出了本发明实施例三对油枪在指定时间段内的工作状态进行检测的方法,参照图3,本实施例的对油枪在指定时间段内的工作状态进行检测的方法,包括以下步骤:
S310,获取过去一年内油枪的挂枪加油流水数据以及影响因子数据;
具体地,油枪挂枪加油流水数据包括:加油日期(opedate)、加油时间(opetime)、加油升数(vol)、加油金额(amount)、油站编码(stncode)、油枪编码(guncode)、是否异常(norm);影响因子数据包括:是否是节假日(b1),是否是营销活动日(b2)。
S320,计算过去一年内油枪每天上午8点到9点的加油数据;
具体地,对油枪的挂枪加油流水数据进行预处理,以计算过去一年中油枪每天上午8点到9点的加油数据,其中,油枪每天上午8点到9点的加油数据包括:日期(opedate)、油枪唯一码(gid)、油枪每小时的加油笔数(gcounts)、油枪每小时的加油升数(gvols)、油枪每小时的加油金额(gamt)、油枪每小时的加油时长(max_ope)、油枪每小时的最大停枪时长(max_vact)、油枪每小时的最早加油时间(start_ope)、油枪每小时的最晚加油时间(end_ope)、节假日因子(b1)、营销活动因子(b2)、是否异常(norm)。
过去一年中油枪每天上午8点到9点的加油数据的计算方法如下:
gid=stncode_guncode
gcounts=count(vol)
gvols=sum(vol)
gamt=sum(amount)
max_ope=distance(min(opetime),max(opetime));(单位:min)
max_vact=max(distance(opetimei,(opetimej));(i≠j)
start_ope=min(opetime)
end_ope=max(opetime)
norm∈{0,1};(0:异常;1:正常)
S330,根据过去一年内油枪每天上午8点到9点的加油数据和影响因子数据预测油枪当天上午8点到9点的加油数据;
具体地,利用加权滑动平均算法根据一年内油枪每天上午8点到9点的正常的加油数据对当天上午8点到9点的每一个加油数据进行预测。
用于本实施例的加权滑动平均算法,具体表达式如下:
其中:
Yt是预测的油枪当天上午8点到9点的一个加油数据;
Yt-i是第t-i期油枪的实际加油数据;
ωi是第t-i期权重,其中,ω1到ωn依次递减;
b∈[0,1]是节假日因子和/或营销活动因子。
S340,根据一年内油枪每天上午8点到9点的加油数据建立分类决策树;
具体地,对一年内油枪上午8点到9点的每一种加油数据的所有取值进行连续特征离散化,以将一年内油枪的每一种加油数据的所有取值划分为多个取值范围,从而获取一年内油枪每天上午8点到9点的加油数据取值范围集;
基于C4.5算法,根据一年内油枪每天上午8点到9点的加油数据取值范围集建立分类决策树;
基于REP算法,对分类决策树进行剪枝;
计算分类决策树的分类准确率,判断是否调整分类决策树。
其中,连续特征离散化的原理如下:
先把一个连续特征数据集划分为两部分,计算两部分的熵的和,在熵的和最小的地方划分,然后对熵最大的那部分重复此步骤,直到满足用户需要的数据集个数。
在本实施例中,可以将油枪每小时的加油笔数、油枪每小时的加油升数、油枪每小时的加油金额、油枪每小时的加油时长、油枪每小时的最大停枪时长、油枪每小时的最早加油时间、油枪每小时的最晚加油时间、营销活动因子中的每一个划分为多个数据集。例如,当油枪每小时的加油笔数取值范围为1~9时,可以根据以上连续特征离散化的原理将油枪每小时的加油笔数划分为0~2、3~6和7~9三个数据集。
C4.5算法的具体过程如下:
对于本实施例,需要根据历史加油数据样本集构建决策树:
历史加油数据样本集有7个属性和2个类别标签,属性集合R={加油笔数、加油升数、加油金额、加油时长、最大停枪时长、最早加油时间、最晚加油时间},类别集合L={异常停枪,正常},以下表1为例展示本实施例的历史加油数据样本集:
以下举例根属性的选择过程:
Step1.计算样本集的类别信息熵;
Step2.计算各个属性条件下的各个条件熵;
Step3.计算各个属性的信息增益
各个属性的信息增益=样本集的类别信息熵—各个属性条件下的各个条件熵
Step4.计算各个属性的属性熵
Step5.计算各个属性的信息增益率
各个属性的信息增益率=各个属性的信息增益/对应属性的属性熵
选择信息增益率最大的属性作为根节点,对根节点的每个分支重复Step1至Step5,即可生成整个决策树。
图4是本实施例假设的构建的决策树,REP算法的具体实现过程如下:
Step1:将节点4删掉替换成8和9,测试决策树在验证集上的表现,若表现更好,则将节点4删掉并替换成8和9的并集,若表现不好则保留原树的形状;
Step2:将节点2删掉替换成8、9和5,测试决策树在验证集上的表现,若表现更好,则将节点2删掉并替换成8、9和5的并集,若表现不好则保留原树的形状;
Step3:将节点3删掉替换成6和7,测试决策树在验证集上的表现,若表现更好,则将节点3删掉并替换成6和7的并集,若表现不好则保留原树的形状。
计算分类决策树的分类准确率,具体实现如下:
由于每个油枪的日常加油量和营业时间不同(分24小时加油站和非24小时加油站),对每个油枪分别建立自己的决策树,对于每个油枪近一年的数据,可得到该油枪近一年每天的属性集合:R={gid,gcounts,gvols,gamt,max_ope,max_vact,start_ope,end_ope,norm},将数据集按照7:3的比例随机分为训练集和测试集,对训练集数据按照C4.5算法步骤可得到该油枪的分类决策树,通过对测试集norm值的预测准确率定义分类决策树的准确率,以通过建立好的决策树对当日加油数据进行预测。
S350,基于分类决策树,根据采集的油枪当天上午8点到9点的加油数据判断当天上午8点到9点油枪是否停枪,并在当天上午8点到9点油枪停枪时获取加油异常数据,为异常处理提供支持。
具体地,获取油枪当天上午8点到9点的加油数据;
基于油枪的每一种历史加油数据的取值范围,确定油枪当天上午8点到9点的每一种加油数据所属的取值范围;
将油枪当天上午8点到9点的每一种加油数据所属的取值范围输入所述油枪状态分类决策树,根据所述油枪状态分类决策树的分支走向判断油枪当天上午8点到9点的工作状态的类别,从而确定油枪当天上午8点到9点是否处于异常停枪状态:
当油枪当天上午8点到9点处于停枪状态时,将油枪当天上午8点到9点的加油数据与预测的油枪当天上午8点到9点的正常加油数据进行对比,获取油枪在停枪状态下的异常加油数据,为异常处理提供支持。
需要说明的是,本实施例的方法同样适用于对油枪当天上午9点到10点、油枪当天上午10点到11点、油枪当天上午11点到12点等时间段油枪是否停枪的检测。
本实施例按小时构建决策树,能够通过决策树对油枪是否停枪进行实时更新预警。
本实施例能够按小时对油枪是否停枪进行实时更新预警,对油枪的非计划性停枪问题进行细粒度全面监测,具体地,建立决策树,并通过分析油枪的历史加油行为、节假日、营销活动等影响因素,对油机的日常加油量、加油笔数、最大间隔时长、最早、最晚加油时间进行区间预测;并通过分析不同指标的异常程度和不同指标的影响因子最终对油枪进行全面异常监测,对异常油枪进行及时预警,实现油枪的细粒度监测。
本实施例通过大数据分析实时预测,以精确预警油枪异常停枪为目标,主要从油枪的当前加油数据、历史加油行为、节假日、营销活动等与油枪加油数据密切相关的各方面为挂枪加油流水数据进行建模,先通过加权滑动平均算法对油机的加油量、加油笔数、最大间隔时长、最早、最晚加油时间进行区间预测,再结合当日的节假日情况和影响活动情况,通过分析不同属性的熵值和信息增益,建立决策树算法对当日数据进行预警判断。最后,综合实现对当日油枪加油数据的异常监测。
本实施例不仅解决了加油员上报方法中人为因素的影响,还解决了现有技术中不能监测的短期停枪问题;本实施例能够按小时对油枪停枪现象进行实时预警,并利用滑动平均算法结合决策树算法不仅实现异常预测,还可以通过对比真实数据来展示具体异常情况。
实施例四
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种存储介质。
本发明实施例提供的存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
实施例五
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种对油枪在指定时间段内的工作状态进行检测的装置。
本发明实施例提供的对油枪在指定时间段内的工作状态进行检测的装置包括存储介质和处理器,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (7)
1.一种对油枪在指定时间段内的工作状态进行检测的方法,其特征在于,包括以下步骤:
获取油枪在一段时期于每日指定时间段内的历史加油数据以及工作状态;
以油枪的每一种历史加油数据的取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树,其中,油枪的工作状态包括正常工作状态和异常停枪状态;
获取油枪于指定日期指定时间段内的加油数据;
基于油枪的每一种历史加油数据的取值范围,确定油枪于指定日期指定时间段内的每一种加油数据所属的取值范围;
将油枪于指定日期指定时间段内的每一种加油数据所属的取值范围输入所述油枪状态分类决策树,根据所述油枪状态分类决策树的分支走向判断油枪于指定日期指定时间段的工作状态的类别,从而确定油枪于指定日期指定时间段内是否处于异常停枪状态;
以油枪的每一种历史加油数据的取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树油枪的工作状态,包括:
汇总油枪在一段时期于每日指定时间段内的历史加油数据中每一种历史加油数据的所有取值,对每一种历史加油数据的所有取值进行连续属性离散化处理,确定每一种历史加油数据的多个取值范围,从而获取与油枪在一段时期于每日指定时间段内的历史加油数据对应的历史加油数据取值范围集;
由油枪在一段时期于每日指定时间段内的历史加油数据取值范围集以及与其对应的油枪的工作状态组成训练集;
基于C4.5算法,以所述训练集中的每一种历史加油数据为属性,以每一种历史加油数据的多个取值范围为分支,并以油枪的工作状态为类别,构建用于判断指定时间段油枪工作状态的油枪状态分类决策树;
基于REP算法,对所述用于判断指定时间段油枪工作状态的油枪状态分类决策树进行剪枝处理;
其中,对每一种历史加油数据的所有取值进行连续属性离散化处理,包括:
对每一种历史加油数据的所有取值按照递增的顺序进行排序,获取排序后的历史加油数据取值序列;
将所述历史加油数据取值序列中每对相邻值的中点作为可能的分裂点;
对于每个可能的分裂点,计算按照当前分裂点划分后的历史加油数据取值序列的熵值;将熵值最小时对应的分裂点作为所述历史加油数据取值序列的选定分裂点;
按照所述选定分裂点将所述历史加油数据取值序列划分为历史加油数据的多个取值范围。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当油枪处于异常停枪状态时,将指定日期指定时间段内油枪的加油数据与预测的同一时间段内油枪的正常加油数据进行对比,确定油枪在异常停枪状态下的异常加油数据,以为异常处理提供支持。
3.根据权利要求1所述的方法,其特征在于,通过以下表达式,计算按照当前分裂点划分后的历史加油数据取值序列的熵值:
其中,S为划分前的历史加油数据取值序列,T为当前分裂点,E(S,T)为按照分裂点T划分后的历史加油数据取值序列的熵值,1和S2为按照分裂点T划分后的两个历史加油数据取值序列,|S1|为序列S1中历史加油数据取值的个数,|S2|为序列S2中历史加油数据取值的个数,E(S1)为序列S1的熵值,E(S2)为序列S2的熵值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将未被选入训练集的、历史加油数据取值范围集以及与其对应的油枪的工作状态,组成测试集,对剪枝处理后的油枪状态分类决策树进行分类准确率的评估;
当油枪状态分类决策树的分类准确率小于或等于预设阈值时,进一步对所述油枪状态分类决策树进行调整,直至油枪状态分类决策树的分类准确率大于预设阈值。
5.根据权利要求2所述的方法,其特征在于,所述预测的同一时间段内油枪的正常加油数据通过以下步骤获取:
从油枪在一段时期于每日指定时间段内的历史加油数据中选出油枪的工作状态种类为正常工作状态的历史加油数据,作为油枪的历史正常加油数据;
基于加权滑动平均算法,根据油枪的每一种历史正常加油数据预测所述指定时间段内油枪的每一种正常加油数据。
6.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述方法的步骤。
7.一种对油枪在指定时间段内的工作状态进行检测的装置,其包括存储介质和处理器,其特征在于,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010176702.0A CN111459996B (zh) | 2020-03-13 | 2020-03-13 | 对油枪在指定时间段内的工作状态进行检测的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010176702.0A CN111459996B (zh) | 2020-03-13 | 2020-03-13 | 对油枪在指定时间段内的工作状态进行检测的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111459996A CN111459996A (zh) | 2020-07-28 |
CN111459996B true CN111459996B (zh) | 2023-09-19 |
Family
ID=71682838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010176702.0A Active CN111459996B (zh) | 2020-03-13 | 2020-03-13 | 对油枪在指定时间段内的工作状态进行检测的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459996B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114440983B (zh) * | 2022-04-06 | 2022-10-25 | 常州市瑞德信息科技有限公司 | 一种用于烟花爆竹涉药机械运行状态测量检测设备、方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567807A (zh) * | 2010-12-23 | 2012-07-11 | 上海亚太计算机信息系统有限公司 | 加油卡客户流失预测方法 |
JP2015050869A (ja) * | 2013-09-03 | 2015-03-16 | 株式会社かんでんエンジニアリング | 油入電気機器の異常診断システム、決定木生成システム、決定木生成方法、及び決定木生成プログラム |
CN105550768A (zh) * | 2015-12-08 | 2016-05-04 | 浙江工商大学 | 一种加油站状态的判断方法和判断系统 |
CN106774019A (zh) * | 2017-02-16 | 2017-05-31 | 合肥创博信息科技有限公司 | 一种基于saas平台的互联网加油机控制系统 |
CN110232082A (zh) * | 2019-06-13 | 2019-09-13 | 中国科学院新疆理化技术研究所 | 面向连续时空加油数据的异常检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10546248B2 (en) * | 2014-12-31 | 2020-01-28 | Supported Intelligence, LLC | System and method for defining and calibrating a sequential decision problem using historical data |
-
2020
- 2020-03-13 CN CN202010176702.0A patent/CN111459996B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567807A (zh) * | 2010-12-23 | 2012-07-11 | 上海亚太计算机信息系统有限公司 | 加油卡客户流失预测方法 |
JP2015050869A (ja) * | 2013-09-03 | 2015-03-16 | 株式会社かんでんエンジニアリング | 油入電気機器の異常診断システム、決定木生成システム、決定木生成方法、及び決定木生成プログラム |
CN105550768A (zh) * | 2015-12-08 | 2016-05-04 | 浙江工商大学 | 一种加油站状态的判断方法和判断系统 |
CN106774019A (zh) * | 2017-02-16 | 2017-05-31 | 合肥创博信息科技有限公司 | 一种基于saas平台的互联网加油机控制系统 |
CN110232082A (zh) * | 2019-06-13 | 2019-09-13 | 中国科学院新疆理化技术研究所 | 面向连续时空加油数据的异常检测方法 |
Non-Patent Citations (3)
Title |
---|
Lijun Sun 等.Demand Forecasting for Petrol Products in Gas Stations Using Clustering and Decision Tree.《Journal of Advanced Computational Intelligence and Intelligent Informatics》.2018,第22卷(第3期),第387-393页. * |
张晨 等.基于决策树集成模型的加油站销量预测.《计算机与应用化学》.第第36卷卷(第第6期期),第615-619页. * |
朱广宇 等.基于决策树方法的车辆油耗估计模型.《交通运输系统工程与信息》.2016,第16卷(第3期),第200-206页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111459996A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991145B (zh) | 一种监测数据的方法及装置 | |
CN106886915B (zh) | 一种基于时间衰减采样的广告点击预估方法 | |
CN109740648B (zh) | 电力负荷异常数据识别方法、装置和计算机设备 | |
JP2002532799A (ja) | 特にセメントキルンの技術プロセスにおけるセンサ予測のための事例ベース推論システムと方法および装置 | |
CN113539382B (zh) | 一种亚磷酸二甲酯关键工艺参数的预警定位方法及系统 | |
CN110544180A (zh) | 一种基于能耗预测和分析诊断的建筑节能系统 | |
CN106896219A (zh) | 基于变压器油中溶解气体数据的变压器亚健康状态识别及平均剩余寿命估计方法 | |
WO2024146200A1 (zh) | 一种同时实现电力生产数据建模与可视化分析的方法 | |
CN111459996B (zh) | 对油枪在指定时间段内的工作状态进行检测的方法及装置 | |
Rebjock et al. | Online false discovery rate control for anomaly detection in time series | |
CN117670018A (zh) | 汽车制造中的风险预测以及交互式风险减轻的系统及方法 | |
CN117408394B (zh) | 电力系统的碳排放因子预测方法、装置及电子设备 | |
CN116862209B (zh) | 一种新能源汽车充电设施管理方法及系统 | |
CN115858606A (zh) | 时序数据的异常检测方法、装置、设备及存储介质 | |
CN117974321A (zh) | 一种基于规则引擎的金融产品风险管控方法 | |
CN117952456A (zh) | 基于涉企合同的综合智能评估方法及系统 | |
CN117375231A (zh) | 一种基于电网数据节点的统计方法及数据处理系统 | |
CN117349627A (zh) | 一种用于油田的能源管控系统及管控方法 | |
CN111948561A (zh) | 基于实测大数据和人工智能学习算法的电池寿命预测方法 | |
CN114004310A (zh) | 基于参数自适应聚类分析的供水管网漏损检测方法 | |
CN112561153A (zh) | 一种基于模型集成的景区人群聚集预测方法 | |
CN112070415B (zh) | 基于软件定量管理过程构建的场景化基线与模型实现方法 | |
CN117010663B (zh) | 基于图谱的智慧燃气数据管理方法和物联网系统及介质 | |
CN117670000B (zh) | 基于组合预测模型的泵站供水量预测方法 | |
CN118569814B (zh) | 一种智慧燃气企业用户监管方法、物联网系统和介质 |
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 |