一种基于N-gram模型的工业报警泛滥预测方法与流程

文档序号:16121659发布日期:2018-11-30 23:16阅读:205来源:国知局

本发明属于信号处理领域,尤其涉及一种基于n-gram模型的工业报警泛滥预测方法。

背景技术

在目前的工业领域中,报警系统作为对工业过程中的异常情况进行监控和警报的角色被广泛应用。然而目前的工业报警系统依然存在着很多的问题,如滋扰报警,常驻报警和报警泛滥等。滋扰报警指的是短时间内产生的大量无意义的,不需要操作员进行响应的报警,这些报警的存在会降低操作人员对真正报警的响应能力;常驻报警指的是出现后持续保持很长时间的报警,这些报警通常在操作员采取动作后依旧清不掉,会影响操作员对系统工作状态的判断;报警泛滥是指短时间内发生许多报警,而且通常是由单一事件触发的,这些报警通常超过了操作人员的处理极限,解决起来比较复杂。

目前针对报警泛滥的研究工作主要在针对报警泛滥序列的相似性分析方面,而针对工业过程中实时出现的报警泛滥的及时预判和处理的研究还是一片空白。

报警泛滥的预测是指对于正在出现的报警泛滥,系统能够预测出下一个可能发生的报警,从而使操作人员能够提前进行操作。目前关于报警泛滥的预测主要存在的问题有:1)没有对历史报警泛滥进行分类的前提下直接进行预测,导致某些由不同事件导致的但是又有部分报警相同的历史报警泛滥用于预测时产生误导的结果;2)没有考虑历史报警泛滥数据库中数据的数量对于预测结果的影响,由实际经验来看,历史数据越多,对于预测的结果就会越精准,传统的n-gram预测方法并不能反映出历史数据数量对结果带来的影响,导致输出错误的预测结果,影响操作人员的判断。

以上两个问题为报警预测的可靠性造成了障碍,如果不解决将会可能造成错误的报警预测,影响操作人员的判断,造成工业生产过程中的安全和经济损失。



技术实现要素:

根据以上现有技术的不足,本发明提供了一种基于n-gram模型的工业报警泛滥预测方法,其能解决目前在没有考虑历史报警泛滥的分类以及历史报警泛滥数据库中的数据数量的情况下进行报警泛滥预测而出现的预测不准确的问题。

本发明解决的技术问题采用的技术方案包括如下步骤:

(1)获取历史报警泛滥数据集统计其中报警变量计算每个报警变量的区分度di,对数据集中区分度为0的报警变量进行剔除预处理,形成第一数据集

(2)将第一数据集中的第m个历史报警泛滥序列与正在出现的报警序列逐一进行相似性对比,并将匹配后的序列根据相似性分数从高到低排列,形成第二数据集

(3)设定时间窗口和时间窗口的滑动大小对第二数据集进行分段,并统计每个数据段的数量,求出由第二数据集作为样本时下一个可能出现的报警变量及对应的概率;

(4)通过贝叶斯概率模型求出预测下一个出现的报警的概率和对应的置信区间[z1,z2];

(5)对步骤(3)和步骤(4)进行n次迭代运算,取置信区间[z1,z2]下限z1最高的结果对应的数据集中的序列为最佳预测数据集,并将对应的预测结果输出为最终预测结果。

进一步地,步骤(1)的具体实现为:

报警变量xi的区分度di=log{n/|m:xi∈xaf(m)},其中n代表数据集中包含的历史报警泛滥序列的数目,|m:xi∈xaf(m)表示数据集中包含该报警元素的历史报警泛滥序列的数目,剔除区分度为0的报警变量之后得到第一数据集区分度为0时,说明报警泛滥数据集中由各种故障引发的报警泛滥都有这个报警变量出现,因此我们认为这个报警变量是没有意义的滋扰报警,故将这种报警变量直接从报警泛滥数据集中去除。

进一步地,步骤(2)的具体实现过程为:

采用smith-waterman算法计算相似性分数,当正在出现的报警序列xas与第一数据集中第m个序列进行相似性比对时,构造相似性分数矩阵h(m),初始化第一行和第一列为0,矩阵大小为j×(ml+1),ml为x′af(m)的长度,

其中(1≤i′≤j-1,1≤j′≤ml),wk′=k′w1是插空长度为k′时的罚分,w1为单位罚分,是直接匹配xi′和的得分,h(m)i′-k′,j′-wk′是xi′前插空长度k′的罚分,h(m)i′,j′-l′-wl′是前插空长度l′的罚分,0表示匹配到xi′和时序列已没有相似性,最终得分矩阵h(m)中最大的元素即为xas和x′af(m)的相似性分数;将第一数据集中的报警泛滥序列根据相似性分数从高到低排序,得到第二数据集

进一步地,所述步骤(3)中,设定对第二数据集进行分段的时间窗口的长度为n和n-1,时间窗口的滑动大小为1,求由第二数据集作为样本时下一个可能出现的报警变量及对应的概率的具体实现过程为,以时间窗口n和n-1分别对第二数据集为内的数据进行分段后统计每个数据段的数量,记录进数据集对正在出现的报警序列因为同一故障引发的报警泛滥序列相似度高,故预测下一时刻tj时刻发生的报警时,可参考第二数据集中报警数据片段之后进入报警状态的报警变量,所有在这个数据片段之后进入报警状态的报警变量都可以视为是下一个可能出现的报警,这样就避免了不同故障引发的但是有部分报警相同的历史报警泛滥对预测结果产生的误导,所以查询xds中对应的数量以及下一时刻出现的所有报警查询对应的数量,使用最大似然法则近似求出条件概率设定中使条件概率最大时对应的元素为输出结果

进一步地,考虑到预测的准确性和运算速度,n的优选值为3。

进一步地,步骤(4)中,考虑到实际情况中用于预测的历史报警泛滥数据集大小会对预测结果的可靠性产生影响,比如用10个和100个报警泛滥序列组成的数据集预测出下一个报警为报警变量xj0的概率都为80%,显然100个报警泛滥序列组成的数据集的预测结果要更加可靠,而步骤3中对于数据集大小对结果的影响并无体现,因此我们引入贝叶斯概率模型来改进算法。

设定正在发生的序列xas的下一时刻进入报警状态的报警变量为事件其发生概率为假设其为均匀分布,定义为先验概率;

设定由第二数据集作为样本预测下一个报警是报警变量为事件

设定第二数据集中有k个报警泛滥序列包含有l个报警泛滥序列包含则条件概率表示事件已知的情况下事件发生的概率,其中

则由事件确定的情况下推测正在出现的报警序列xas下一时刻进入报警状态的为报警变量的概率是定义为后验概率;

其中,因为后验概率会根据先验概率的取值不同而变化,而且事件服从均匀分布,使用概率质量函数(pmf)进行计算,得出后验概率的概率质量函数fx;

对概率质量函数fx求和即为最终预测报警为报警变量的概率;

给出置信度1-α,对概率质量函数fx求和,求出区间[z1,z2],这个区间就是置信度1-α对应的置信区间。

我们引入置信区间的概念,是为了体现预测的概率值的可信程度。置信区间体现了实际发生的下一个报警的概率落在预测概率结果的周围的程度,假设置信度为95%,置信区间[z1,z2]的下限意味着我们有95%的把握保证下一个发生的报警的可能性至少为zβ。

进一步地,步骤(5)的具体实现过程为:

对步骤(3)和步骤(4)进行n次迭代,第k次删除k(0≤k≤n)条数据集中相似性分数最低的序列,使用数据集进行预测,最终对比n次结果中置信区间[z1,z2]的下限z1,取置信区间[z1,z2]下限z1最高的结果为最佳预测结果,对应的数据集为最佳预测数据集,因为置信区间下限反应了预测结果为目标报警的最低把握,故选择置信区间下限最高的结果对应的数据集中的序列为最佳预测数据集。

本发明的有益效果是:(1)本发明提出了将预测使用的数据集与要预测的报警泛滥进行相似性比对并根据相似性分数由高到低重新排序的方法,并迭代减少相似分数低的序列,直到得到最佳预测结果,考虑了由同一故障引发的历史报警泛滥能提高预测的准确性,避免了不同故障引发的但是有部分报警相同的历史报警泛滥对预测结果产生的误导;(2)本发明提出的基于贝叶斯概率模型的n-gram预测方法,考虑了用于预测的历史报警泛滥数据集大小对于预测结果的影响,体现了预测结果的可信程度,避免因为样本数量不足对预测结果产生误导。

附图说明

图1是本发明的实施例所述基于n-gram模型的工业报警泛滥预测方法的流程图;

图2是本发明具体应用场景中预测结果的概率质量函数;

图3是本发明具体应用场景中预测概率和置信区间随用于预测的历史报警泛滥数目变化而变化的示意图;

具体实施方式

下面结合附图对本发明作进一步描述。

实施例一:

如图1,本发明所述的一种基于n-gram模型的工业报警泛滥预测方法,包括如下步骤:

s1,获取历史报警泛滥数据集统计其中报警变量计算每个报警变量的区分度di,对数据集中区分度为0的报警变量进行剔除预处理,形成第一数据集

s2,将第一数据集中的第m个历史报警泛滥序列与正在出现的报警序列逐一进行相似性对比,并将匹配后的序列根据相似性分数从高到低排列,形成第二数据集

s3,设定时间窗口和时间窗口的滑动大小对第二数据集进行分段,并统计每个数据段的数量,求出由第二数据集作为样本时下一个可能出现的报警变量及对应的概率;

s4,通过贝叶斯概率模型求出预测下一个出现的报警的概率和对应的置信区间[z1,z2];

s5,对步骤(3)和步骤(4)进行n次迭代运算,取置信区间[z1,z2]下限z1最高的结果对应的数据集中的序列为最佳预测数据集,并将对应的预测结果输出为最终预测结果。

在步骤s1中,获得历史报警泛滥数据集统计历史报警泛滥数据集中包含的报警变量计算每个报警变量的区分度di;报警变量xi的区分度为di=log{n/|m:xi∈xaf(m)},其中n代表数据集中包含的历史报警泛滥序列的数目,|m:xi∈xaf(m)表示数据集中包含该报警元素的历史报警泛滥序列的数目;剔除区分度为0的报警变量之后得到第一数据集区分度为0时,说明报警泛滥数据集中由各种故障引发的报警泛滥都有这个报警变量出现,因此我们认为这个报警变量是没有意义的滋扰报警,故将这种报警变量直接从报警泛滥数据集中去除。

在步骤s2中,采用smith-waterman算法,当正在出现的报警序列xas与第一数据集中第m个序列进行相似性比对时,构造相似性分数矩阵h(m),初始化第一行和第一列为0,矩阵大小为j×(ml+1),ml为x′af(m)的长度,初始化第一行和第一列为0,矩阵大小为j×(ml+1),ml为x′af(m)的长度:

其中(1≤i′≤j-1,1≤j′≤ml),wk′=k′w1是插空长度为k′时的罚分,w1为单位罚分;

是直接匹配xi′和的得分;

h(m)i′-k′,j′-wk′是xi′前插空长度k′的罚分;

h(m)i′,j′-l′-wl′是前插空长度l′的罚分;

0意味着匹配到xi′和时序列已没有相似性。

按照以上规则对矩阵进行更新,最终得分矩阵h(m)中最大的元素即为xas和x′af(m)的相似性分数,将第一数据集中的序列根据相似性分数从高到低进行排序,得到第二数据集,记为

步骤s3中,可取时间窗口的长度为n和n-1,时间窗口的滑动大小为t=1s,对第二数据集内数据分别以时间窗口进行分段后统计每个数据段的数量,记录进数据集对正在出现的报警序列因为同一故障引发的报警泛滥序列相似度高,故预测下一时刻tj时刻发生的报警时,可参考第二数据集中报警数据片段之后进入报警状态的报警变量,所有在这个数据片段之后进入报警状态的报警变量都可以视为是下一个可能出现的报警,这样就避免了不同故障引发的但是有部分报警相同的历史报警泛滥对预测结果产生的误导,具体为查询xds中对应的数量以及下一时刻出现的所有报警查询对应的数量,使用最大似然法则近似求出条件概率:

显然,条件概率取最大值时对应的报警变量就是下一时刻最有可能进入报警状态的报警变量,记使条件概率取最大值时的报警变量为

此外,考虑到预测的准确性和运算速度,本发明将n的值选为3。

在步骤s4中,考虑到实际情况中用于预测的历史报警泛滥数据集大小会对预测结果的可靠性产生影响,比如用10个和100个报警泛滥序列组成的数据集预测出下一个报警为报警变量xj0的概率都为80%,显然100个报警泛滥序列组成的数据集的预测结果要更加可靠,而步骤3中对于数据集大小对结果的影响并无体现,因此我们引入贝叶斯概率模型来改进算法。

具体实现为:

设定正在发生的序列xas的下一时刻进入报警状态的报警变量为事件其发生概率为假设其为均匀分布,定义为先验概率;

设定由第二数据集作为样本预测下一个报警是报警变量为事件

设定第二数据集中有k个报警泛滥序列包含有l个报警泛滥序列包含则条件概率表示事件已知的情况下事件发生的概率,其中

则由事件确定的情况下推测正在发生的报警序列xas下一时刻进入报警状态的为报警变量的概率是定义为后验概率;其中,因为后验概率会根据先验概率的取值不同而变化,而且事件服从均匀分布,所以使用概率质量函数(pmf)进行计算,得出后验概率的概率质量函数fx;

对概率质量函数fx求和即为最终预测报警为的概率;

给出置信度1-α,对概率质量函数fx求和,求出区间[z1,z2],这个区间就是置信度1-α对应的置信区间。

我们引入置信区间的概念,是为了体现预测的概率值的可信程度。置信区间体现了实际发生的下一个报警的概率落在预测概率结果的周围的程度,假设置信度为95%,置信区间[z1,z2]的下限意味着我们有95%的把握保证下一个发生的报警的可能性至少为zβ。

在步骤s5中,对步骤s3和步骤s4进行n次迭代运算,第k次迭代删除k(0≤k≤n)条数据集中相似性分数最低的一条历史报警泛滥序列直到数据集为空。使用数据集进行预测,最终对比n次结果中置信区间下限z1,取置信区间下限最高的结果为最佳预测结果,对应的数据集为最佳预测数据集。因为置信区间下限反应了预测结果为目标报警的最低把握,故选择置信区间下限最高的结果对应的数据集中的序列为最佳预测数据集。

本发明提出了将预测使用的数据集与要预测的报警泛滥进行相似性比对并根据相似性分数由高到低重新排序的方法,并迭代减少相似分数低的序列,直到得到最佳预测结果,考虑了由同一故障引发的历史报警泛滥能提高预测的准确性,避免了不同故障引发的但是有部分报警相同的历史报警泛滥对预测结果产生的误导;同时提出的基于贝叶斯概率模型的n-gram预测方法,考虑了用于预测的历史报警泛滥数据集大小对于预测结果的影响,体现了预测结果的可信程度,避免因为样本数量不足对预测结果产生误导。

以下是本发明所述方法在具体应用场景中的应用。

使用te过程仿真给出一组历史数据报警泛滥数据。其中序列个数为100,n的大小设定为3。

步骤(1),计算数据集中每个报警变量的区分度,剔除掉区分度为0的报警变量。

步骤(2),根据序列相似性分数排列方法将数据集中的所有报警泛滥序列与正在出现的报警序列一一比对并根据相似性分数由大到小重新排序。

步骤(3),对数据集中的序列进行分段,并统计各数据段数量,根据最近两个时刻出现的报警从数据集中查找历史数据段,并通过最大似然法则近似求出对应的条件概率。

步骤(4),使用贝叶斯概率模型求出预测结果对应的概率质量函数,通过对概率质量函数求和进得出预测概率,并求出对应置信水平95%下的置信区间。如图2所示,置信区间为(47.17%,55.81%)。

步骤(5),对数据集进行迭代计算,重复步骤(3)和(4),取所有结果中预测概率置信区间下限最高的结果为最终输出结果。如图3所示,最佳的预测结果为x11,预测概率为98.82%,置信区间为[97.33%,100%](置信度90%),说明系统有90%的把握认为下一个出现的报警为x11的最低概率是97.33%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1