首页> 中国专利> 基于统计模型生成用于设备预警的动态阈值的方法及装置

基于统计模型生成用于设备预警的动态阈值的方法及装置

摘要

本申请提供了基于统计模型生成用于设备预警的动态阈值的方法及装置。该方法包括:获取多个设备运行的最近(n+1)天的历史数据,其中,n为大于1的自然数;处理所述最近(n+1)天的历史数据,生成针对所述多个设备的设备对象;基于统计模型,处理所述设备对象,生成针对所述多个设备的结果对象的拟合调校值;利用针对所述多个设备的结果对象,生成针对所述多个设备各自的用于设备预警的动态阈值。该方法提高了动态阈值预测的精度;将多个设备分别训练后的数学模型封装在结果对象内,便于网络传输,有利于减小数学模型所占用的存储空间。

著录项

  • 公开/公告号CN114840581A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 重庆云内核智能科技有限公司;

    申请/专利号CN202210563435.1

  • 发明设计人 徐玥;

    申请日2022-05-20

  • 分类号G06F16/2458(2019.01);G06F17/18(2006.01);G06K9/62(2022.01);G06F16/21(2019.01);G06F16/9537(2019.01);G06N7/06(2006.01);G08B21/18(2006.01);

  • 代理机构北京华夏正合知识产权代理事务所(普通合伙) 11017;

  • 代理人韩登营

  • 地址 401122 重庆市渝北区卉竹路2号8栋22楼1号

  • 入库时间 2023-06-19 16:14:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-19

    实质审查的生效 IPC(主分类):G06F16/2458 专利申请号:2022105634351 申请日:20220520

    实质审查的生效

说明书

技术领域

本发明涉及设备预警技术领域,具体而言,涉及基于统计模型生成用于设备预警的动态阈值的方法及装置。

背景技术

目前,异常检测技术广泛地应用在各个工业领域中,尤其在工业互联网场景下,普遍地用于海量设备的检测、预警、报警等业务。这是因为,在制造企业的生产管理活动中,对设备或者系统的运行状态实时监控,并对其异常状态,及时发出预警、报警并及时响应,是避免造成生产暂停或业务中断的必要措施。

目前通用的异常检测技术大多是根据预先设定的静态阈值,并结合预先设定的预警规则来实现针对海量设备的预警或报警。但是,静态阈值无法适应工业设备因环境影响、四季气温、所在地气候等影响因素所产生的正常的数据波动,会导致虚警,如,误报预警或者误报警。

因此,有必要使用动态阈值对设备进行预警或告警,以有效地减少或避免针对设备误报的情形。

发明内容

针对以上问题,本申请提供基于统计模型生成用于设备预警的动态阈值的方法及装置,以使用动态阈值来进行设备预警,以有效避免目前存在的针对设备误报的问题。

第一方面,本发明提供一种基于统计模型生成用于设备预警的动态阈值的方法,包括:

获取多个设备运行的最近(n+1)天的历史数据,其中,n为大于1的自然数;

处理所述最近(n+1)天的历史数据,生成针对所述多个设备的设备对象;

基于统计模型,处理所述设备对象,生成针对所述多个设备的结果对象;

利用针对所述多个设备的结果对象,生成针对所述多个设备各自的用于设备预警的动态阈值。

进一步地,所述处理所述最近(n+1)天的历史数据,生成针对所述多个设备的设备对象,包括:

预处理所述最近(n+1)天的历史数据,生成针对每个设备的时间跨度为(p+1)天的时间序列,其中,p不大于n;

将每个设备对应的标识与针对每个设备的时间序列封装在针对所述多个设备的设备对象中。

进一步地,所述结果对象包括针对每个设备的拟合调校值;所述基于统计模型,处理所述设备对象,生成针对所述多个设备的结果对象,包括:

从所述设备对象中提取针对每个设备的时间序列,并将所述时间序列划分为训练样本和拟合样本;

基于三次指数平滑法统计模型,处理所述训练样本,确定针对每个设备的三次指数平滑数学模型;

根据针对每个设备的三次指数平滑数学模型,处理所述训练样本、所述拟合样本,确定针对每个设备的拟合调校值;

将每个设备对应的标识与针对每个设备的三次指数平滑数学模型、拟合调校值,封装在针对所述多个设备的结果对象中。

进一步地,所述将所述时间序列划分为训练样本和拟合样本,包括:

将所述时间跨度为(p+1)天的时间序列中的前q天的采样点作为训练样本,将所述时间跨度为(p+1)天的时间序列中的后(p-q+1)天的采样点作为拟合样本。

进一步地,所述基于三次指数平滑法统计模型,处理所述训练样本,确定针对每个设备的三次指数平滑数学模型,包括:

确定三次指数平滑法统计模型中的三元平滑参数各自的初始值;

确定三次指数平滑法统计模型中的平滑值序列、趋势分量值序列、季节分量值序列各自的初始值;

根据所述训练样本、所述三元平滑参数各自的初始值、所述平滑值序列、趋势分量值序列、季节分量值序列各自的初始值,基于最小二乘法,确定三次指数平滑法统计模型中三元平滑参数各自的最优估计值、所述平滑值序列、趋势分量值序列、季节分量值序列;

确定由所述三元平滑参数各自的最优估计值、所述平滑值序列、趋势分量值序列、季节分量值序列各自的最近数据点描述的所述针对每个设备的三次指数平滑数学模型。

进一步地,所述根据针对每个设备的三次指数平滑数学模型,处理所述训练样本、所述拟合样本,确定针对每个设备的拟合调校值,包括:

确定针对每个设备的所述拟合调校值的初始值;

根据所述训练样本、所述三次指数平滑数学模型、所述拟合调校值的初始值,预测每个设备的调校用样本;

根据所述调校用样本、所述拟合样本,基于最小二乘法,确定针对每个设备的拟合调校值。

进一步地,所述动态阈值用于在指定的至少一个自然日内的多个时段分别针对所述设备进行预警。

第二方面,本发明提供一种基于统计模型生成用于设备预警的动态阈值的装置,包括:

获取单元,用于获取多个设备运行的最近(n+1)天的历史数据,其中,n为大于1的自然数;

设备对象处理单元,用于处理所述最近(n+1)天的历史数据,生成针对所述多个设备的设备对象;

结果对象生成单元,用于基于统计模型,处理所述设备对象,生成针对所述多个设备的结果对象;

动态阈值生成单元,用于利用针对所述多个设备的结果对象,生成针对所述多个设备各自的用于设备预警的动态阈值。

第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现在第一方面说明的方法的步骤。

第四方面,本发明提供一种设备预警方法,包括:根据在第一方面说明的任一的方法,生成动态阈值;利用所述动态阈值,分别对多个设备进行预警。

本申请的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的基于统计模型生成用于设备预警的动态阈值的方法的流程示意图;

图2为本发明实施例的基于统计模型生成用于设备预警的动态阈值的装置的组成示意图;

图3为本发明实施例的基于统计模型生成用于设备预警的动态阈值的系统的组成示意图;

图4为本发明实施例的另一个基于统计模型生成用于设备预警的动态阈值的方法的流程流程图;

图5为本发明实施例的基于统计模型生成用于设备预警的动态阈值的方法的性能对比示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本申请,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义。

时间序列是指同一变量按发生时间的先后顺序排列起来的一组观察值或记录值。

采样,是把发生时间连续的模拟量用按发生时间的先后顺序排列起来的离散的数据点来表示。如,将时间轴上连续的信号以固定或可变的时间间隔抽取出信号的幅度值作为一个样本,使该时间轴上连续的信号成为时间上离散的脉冲序列。其中,样本之间的时间间隔称为采样周期(单位为秒或s),其倒数称为采样频率(单位为采样点数每秒或samples/s,或赫兹Hz)。连续地采样,将得到的各采样点的数值按采样时间的先后顺序排列起来,也构成时间序列。

自回归滑动平均(Auto Regressive Moving Average,ARMA)。ARMA模型,是处理时间序列的重要方法之一。

指数平滑,或指数移动平均(Exponential Moving Average),是以指数式递减加权的移动平均。各数据的权重随时间指数式递减,距离当前时间越近的数据,权重越高。

均方根误差(Root Mean Square Error,RMSE),观测值与真值偏差的平方和与观测次数比值的平方根。

开源库statsmodels是python中用于统计学分析的库函数包,如,在数学模型未知的情况下来检验模型的线性显著性、假设检验、回归分析、时间序列分析等。开源库statsmodels中的Holt-Winters函数只能一次针对一个设备的时间序列生成对应的数学模型,在工业互联网中海量设备的应用场景下,海量设备将对应着海量的模型。这些海量的模型不但导致维护困难,也不利于网络传输及在网络节点之间交互。

使用深度学习来训练数学模型时,需要获取大量的数据,并使用大量的计算资源,如NPU、GPU等计算加速装置,在消耗大量的运算时间后,训练得到的数学模型才能收敛。

如图1所示,本发明实施例的基于统计模型生成用于设备预警的动态阈值的方法,包括:

S10:获取多个设备运行的最近(n+1)天的历史数据,其中,n为大于1的自然数;

S20:处理所述最近(n+1)天的历史数据,生成针对所述多个设备的设备对象;

S30:基于统计模型,处理所述设备对象,生成针对所述多个设备的结果对象;

S40:利用针对所述多个设备的结果对象,生成针对所述多个设备各自的用于设备预警的动态阈值。

在一些实施例中,步骤S10至S30以第一时间间隔周期地执行,如,第一时间间隔为一个星期、一个自然月、一个季度。这时,步骤S10中,获取的最近(n+1)天的历史数据中,n不小于7、不小于28、或不小于120。

在一些实施例中,在步骤S30之后,步骤S40以第二时间间隔周期地执行,如,第二时间间隔为一个自然日或2个自然日等。相应的,步骤S40中生成的针对所述多个设备各自的动态阈值用于在指定的一个自然日或2个自然日内的多个时段(如一个自然日中24个小时中的每半小时)分别针对所述设备进行预警。

如此,可以以较小的时间间隔周期地或非周期地利用结果对象生成针对所述多个设备各自的用于设备预警的动态阈值,以较大的时间间隔周期地或非周期地获取设备运行的历史数据,生成针对多个设备的设备对象和数学模型对象。

步骤S10中,获取历史数据,可以是通过网页服务从云端服务器管理的数据仓库中获取,可以是从边缘端数据仓库中获取,如设置在智能工厂中、依托工业互联网设置的海量的智能传感设备在边缘端部署的数据仓库。

步骤S10中,多个设备可以是多个地理位置上相距比较近的设备,可以是在工业互联网中位于相同层级的多个节点或不同层级的多个节点。

在一些实施例中,所述处理所述最近(n+1)天的历史数据,生成针对所述多个设备的设备对象,包括:预处理所述最近(n+1)天的历史数据,生成针对每个设备的时间跨度为(p+1)天的时间序列,其中,p不大于n;将每个设备对应的标识与针对每个设备的时间序列封装在针对所述多个设备的设备对象中。

以上,自然地,与历史数据的真实性、有效性相对应,不同设备的最近(n+1)天的历史数据经过预处理后,生成的时间序列对应的时间跨度可能各不相同。但是,只要满足预先设置的最小的天数,就认为该设备的该时间序列是有效的,可以封装到对应的设备对象中,作为训练数学模型的数据来使用。而在训练时,可以预先快速地确定各时间序列对应的时间跨度。具体地,预处理每个设备所述最近(n+1)天的历史数据,生成针对每个设备的时间跨度为(p+1)天的时间序列可以参照后述步骤S32。

以上,将每个设备对应的标识与针对每个设备的时间序列封装在针对所述多个设备的设备对象中,可以是在python语言的集成开发环境中,建立具有设备对应的标识及针对设备的时间序列的设备类,并实例化该设备类,得到针对不同设备的多个设备对象,或针对全部设备的一个设备对象。又或者,通过python支持的pickle模块的反序列化操作,从保存有设备对应的标识和设备的时间序列的文件(如EXCEL文件)中创建python支持的设备对象。

在一些实施例中,所述结果对象包括针对每个设备的拟合调校值;所述基于统计模型,处理所述设备对象,生成针对所述多个设备的结果对象,包括:

从所述设备对象中提取针对每个设备的时间序列,并将所述时间序列划分为训练样本和拟合样本;

基于三次指数平滑法统计模型,处理所述训练样本,确定针对每个设备的三次指数平滑数学模型;

根据针对每个设备的三次指数平滑数学模型,处理所述训练样本、所述拟合样本,确定针对每个设备的拟合调校值;

将每个设备对应的标识与针对每个设备的三次指数平滑数学模型、拟合调校值,封装在针对所述多个设备的结果对象中。

随后,通过python支持的pickle模块的序列化操作,可以将python程序中多个设备的结果对象保存到文件中运行的针对所述多个设备的结果对象保存到文件中去,以实现脱离python语言的集成开发环境,永久地存储,并在本地、数据库以及不同的存储介质之间方便地交换。

在一些实施例中,所述将所述时间序列划分为训练样本和拟合样本,包括:将所述时间跨度为(p+1)天的时间序列中的前q天的采样点作为训练样本,将所述时间跨度为(p+1)天的时间序列中的后(p-q+1)天的采样点作为拟合样本,其中,q为小于等于p地自然数。

以上,根据模型训练精度和拟合调校值精度的要求,可以灵活地将所述时间序列划分为时间上具有先后关系的训练样本和拟合样本。这里,默认地将时间序列按照每一个自然日内对应的采样点数为最小单位进行划分,也即,训练样本和拟合样本分别对应的时间跨度为整数倍的自然日数。并且,训练样本对应的时间跨度通常大于拟合样本对应的时间跨度,如,训练样本对应的时间跨度为p,拟合样本对应的时间跨度为1。

在一些实施例中,所述基于三次指数平滑法统计模型,处理所述训练样本,确定针对每个设备的三次指数平滑数学模型,包括:

确定三次指数平滑法统计模型中的三元平滑参数各自的初始值;

确定三次指数平滑法统计模型中的平滑值序列、趋势分量值序列、季节分量值序列各自的初始值;

根据所述训练样本、所述三元平滑参数各自的初始值、所述平滑值序列、趋势分量值序列、季节分量值序列各自的初始值,基于最小二乘法,确定三次指数平滑法统计模型中三元平滑参数各自的最优估计值、所述平滑值序列、趋势分量值序列、季节分量值序列;

确定由所述三元平滑参数各自的最优估计值、所述平滑值序列、趋势分量值序列、季节分量值序列各自的最近数据点描述的所述针对每个设备的三次指数平滑数学模型。

在一些实施例中,确定三次指数平滑法统计模型中的三元平滑参数各自的初始值可以参照后述3.2)部分的说明。

在一些实施例中,确定三次指数平滑法统计模型中的平滑值序列、趋势分量值序列、季节分量值序列各自的初始值可以参照后述3.2)部分的说明。

在一些实施例中,根据所述训练样本、所述三元平滑参数各自的初始值、所述平滑值序列、趋势分量值序列、季节分量值序列各自的初始值,基于最小二乘法,确定三次指数平滑法统计模型中三元平滑参数各自的最优估计值、所述平滑值序列、趋势分量值序列、季节分量值序列可以参照后述3.2)及3.3)部分的说明。

在一些实施例中,可以利用python语言支持的Holt-Winters函数进行二次开发来实现三次指数平滑法统计模型,如myHolt-Winters函数。这时,所述训练样本、所述三元平滑参数各自的初始值、所述平滑值序列、趋势分量值序列、季节分量值序列各自的初始值、以及季节分量值序列内在的循环周期对应的采样点数k,是myHolt-Winters函数运行所需的输入参数值。

在一些实施例中,确定由所述三元平滑参数各自的最优估计值、所述平滑值序列、趋势分量值序列、季节分量值序列各自的最近数据点描述的所述针对每个设备的三次指数平滑数学模型可以参照后述3.4)部分的说明。

如此,在生成结果对象时,剔除训练用的历史数据和计算过程产生的中间数据,进一步减少了多个设备对应的数学模型占用的存储空间。输出的结果对象的文件较小,如相较直接利用statsmodels中的ARMA生成的结果对象的文件,可以节约90%的存储空间。如,某针对电机轴承温度的数学模型,在利用python的pickle模块保存为以.pkl为后缀的文件时,文件的大小大致为3.14kb,相较利用statsmodels中的ARMA模型生成的文件的大小为10.5MB,可以节约至少90%的存储空间。

在一些实施例中,所述根据针对每个设备的三次指数平滑数学模型,处理所述训练样本、所述拟合样本,确定针对每个设备的拟合调校值,包括:

确定针对每个设备的所述拟合调校值的初始值;

根据所述训练样本、所述三次指数平滑数学模型、所述拟合调校值的初始值,预测每个设备的调校用样本;

根据所述调校用样本、所述拟合样本,基于最小二乘法,确定针对每个设备的拟合调校值。

如此,相较深度学习的方式,本发明的方法基于三次指数平滑法统计模型,可以使用较小的数据量完成针对多个设备的数学模型的训练;利用二次开发的源码myHolt-Winters函数批处理地实现了基于三次指数平滑法统计模型的函数,实现了同时接收多个设备各自的时间序列作为函数的输入,并将利用多个设备各自的时间序列分别训练得到的结果对象封装后作为函数的输出;将针对所述多个设备的结果对象保存到文件中,减少了多个设备对应的数学模型占用的存储空间。

图3示出了本发明实施例的基于统计模型生成的动态阈值进行设备预警的方法所部署的设备预警系统的结构框图。该实施例的设备预警方法,根据前述说明的任一的基于统计模型生成用于设备预警的动态阈值的方法,生成动态阈值,并利用所述动态阈值,分别对多个设备进行预警。

该系统包括设备数据库1、数学模型2、预警规则3。设备数据库1,如,运行在数据库管理装置上,用于存储工业现场海量的设备在运行中产生的海量的历史数据及定时更新的动态阈值。定时更新的动态阈值用于根据下述的预警规则3进行设备预警。

数学模型2对设备的历史数据进行预处理后,得到训练样本和拟合样本。基于每个设备的训练样本,使用三次指数平滑法统计模型训练针对每个设备的数学模型,并在调校后产生最终的数学模型。基于拟合样本,使用前述确定的三次指数平滑法统计模型进行预测,得到针对每个设备的预测值序列,并将多个设备对应的预测值序列存入设备数据库1,以通过网络互连的方式访问设备数据库1,并获取各设备对应的预测值序列以进行设备预警。

预警规则3从设备数据库获取与设备的标识对应的预测值序列,根据获取的当前时间,利用预先设定的预警规则,从预测值序列中选择与当前时间对应的预测值作为动态阈值,以用于设备预警。如,在设备的预测值序列对应的时间跨度为一个自然日、对应的更新时间间隔为30分钟时,设备的预测值序列中共包括48个数值。计算当前时间距离当天00:00:00时刻的分钟数,并使用该分钟数与30做除,对得到的商去除余数后,得到值a,则预测值序列中的第(a+1)个值即为与当前时间对应的动态阈值。如,当前时间为2022-4-11 00:15:00,则当前时间距离当天00:00:00时刻的分钟数为15,使用该分钟数与30做除,对得到的商去除余数后,得到值0,则预测值序列中的第(0+1)个值即为与当前时间对应的动态阈值,则取预测值序列中的第一个数值为当前时间对应的动态阈值机进行设备预警。以上,以每30分钟为一个时段,也即,当前时间在2022-4-11 00:00:00至2022-4-11 00:30:00这个时间段内时,共用预测值序列中的第一个数值作为动态阈值。

如果当前时间为2022-4-11 00:35:00:,则该当前时间距离当天00:00:00时刻的分钟数为35,使用该分钟数与30做除,对得到的商去除余数后,得到值1,则预测值序列中的第(1+1)个值即为与当前时间对应的动态阈值,则取预测值序列中的第一个数值为当前时间段的阈值。以及,仍旧以每30分钟为一个时段,也即,当前时间在2022-4-11 00:31:00至2022-4-11 01:00:00这个时间段内时,共用预测值序列中的第二个数值作为动态阈值进行设备预警。当天中的其他时间对应的动态阈值,参照前述确定,不再赘述。如此,在一个自然日当中,每一个时刻或时段对应的动态阈值是前述的预测值序列中的一个数值。

如此,形成的预警规则为:如果设备A当前时间的温度值大于当前时间对应的动态阈值,则针对设备A进行报警。如图4所示,本发明实施例的方法以一个自然日为前述的第一时间间隔周期地更新数学模型,以及以一个自然日为前述的第二时间间隔周期地生成动态阈值时,包括以下步骤S31至S35。

步骤S31:每天固定在00:00:00时刻(如,设定规则自动触发)从设备数据库获取多个设备最近(n+1)天的历史数据,n的数值由用户配置。

历史数据可以包括不同设备或者同一设备在运行中产生的不同物理意义(如状态量、指标量)的数据的采样,可以是按照采样时间的先后顺序排列的时间序列。这些数据在时间轴上可以对应相同的采样时刻,具有相同的采样周期。不同的时间序列之间,采样点的数量可以相同,也即具有相同的时间跨度。如,分别采集一台电动机长期连续运行时的温度和转速,作为该电动机的两个历史数据,分别对应一个温度时间序列、一个转速时间序列。如,按照相同的采样频率分别采集同一个生产线上的多台功率相同或不同的电动机长期连续运行时各自的温度和转速,形成多个温度时间序列、转速时间序列,作为该生产线上各电动机的历史数据。

在后述步骤S32中,将获取多个设备最近(n+1)天的历史数据预处理为多个设备最近(p+1)天或(n+1)天的历史数据。

在后述步骤S33中,将时间上更靠前(也即较远)的前n天或前p天的数据用作训练样本;在后述步骤S34中,将时间上更靠后(也即较近)的前一天(也即当天的前一天)的数据用作计算拟合调校值j的拟合样本。

步骤S32:处理获取到的历史数据。如,处理获取的多个设备最近(n+1)天的历史数据,得到多个设备对应的设备对象。

以下,以预处理单个设备最近(n+1)天的历史数据为例,说明预处理的具体操作。

2.1)将获取到的数据按天,也即自然日进行分割。与前述步骤S31中获取设备最近(n+1)天的历史数据对应,分割得到(n+1)天各自的数据,如打上每天对应的时间戳。

2.2)对每天的数据分别作重复数据处理、舍弃处理或补头补尾处理。

首先,将每个自然日的24小时按照指定的时间间隔,划分为对应的m个时间段、m个时刻点,并确定m个对应的时间戳。如指定的时间间隔为30分钟时,划分出48个时间段和48个时刻点,确定对应的48个时间戳。

通常,获取的数据中,存在时间上重复的数据。存在重复数据的原因通常包括采样周期与网络传输这两个因素。如,受采样周期波动、网络传输延迟、网络传输质量等因素的影响,对于采样周期为30秒的时间序列,正常采样及传输时,每天的第一条数据的获取时刻是00:00:30,但受网络影响,数据被设备数据库接收时的时刻可能是00:00:31或者其他时刻。如,设备的一些数据的采样周期为毫秒级(如电机轴承的振动),即一秒内会采集多个振动值;如设备的另一些数据的采样周期为秒级(如电机轴承的温度),即一秒内只采集一个温度值。这些不同类的数据在以指定的时间间隔入库时,在采样周期小于指定的时间间隔时,就会在指定的时间间隔内出现多个数据,这些数据相对于该指定的时间间隔而言是重复的。网络传输因素主要是由于网络原因导致数据上报延时,如上一次采集的数据上报延时后,与当前时刻采集的数据上报的时刻相同,就此产生现在时间上重复的数据。

因此根据划分出的m个时间段、时刻点或时间戳,可以逐一去除时间上重复的数据,也即去重。去重的方法可以是从时间上重复的数据中选择时间上最靠前或最靠后的数据,其他数据舍弃,也可以是选择最大值、最小值、中值等,又或者对时间上重复的多个数据取代数平均、集合平均等。

如果去重之后,某天的数据中,数据点的数量小于预设的m个数据,则表示该某天的数据中,缺少至少一个针对划分出的时间段的数据点(如发生丢包时,数据就不会到达设备数据库),则舍弃该天的数据,也即舍弃处理。如,在指定的时间间隔为30分钟时,对某天的数据做重复数据处理后,数据点的数量小于48个时,则舍弃该天的数据,也即不在后续的步骤中加入到时间序列中。这是因为,如果某天的数据点的数量偏少或不足,则该天的数据对训练模型或拟合调校值都不再具有参考意义,因此舍弃该天的数据,也即前述的舍弃处理。

另外,发生丢包时,数据就不会到达设备数据库,那么,在对应的时段或时刻,数据点就是空的。因此,可以通过将该天的第一条数据作为该天的00:00:00时刻的值,也即对齐到第一个时间段,并将随后的第i+1条数据作为该天的(00:00+30*i:00)时刻的值,对齐到第i+1个时间段,直到将最后一条数据作为23:59:59时刻的值。这时,共为m个,如48个数据分别确定出了其各自对应的时间戳,也即补头补尾处理,或时序上对齐。

如此,通过补头补尾处理和时序对齐,实现了将每天的数据处理为包括有预设的m个数据点的时间序列,这时,m必须是k的整数倍,以实现在后述的步骤S35中,按照预设的采样周期,如30分钟为采样周期进行重采样时,重采样后的时间序列中,对应到每一个自然日,分别包括时间上相互错开的k=48个数据点。

2.3)统计对每天的数据分别作重复数据处理、舍弃处理或补头补尾处理后,最终得到的数据对应的天数(p+1),这时,p是小于等于n的自然数。

2.4)如果n大于p,则表示有至少一天的历史数据被舍弃了。就被舍弃的数据对应的时间戳,则用其前一天的数据补上该被剔除的空位,后面(时间上更靠后)的数据依次在时间上前移,最终保证剩余的最近(p+1)天的数据为一个在时间上连续的时间序列。或者,则用其后一天的数据补上该被剔除的空位,前面(时间上更靠前)的数据依次在时间上后移,最终保证剩余的最近(p+1)天的数据为一个在时间上连续的时间序列。

2.5)对每天的数据利用较大的采样周期进行重新采样,得到重采样后的数据,以减少数据量。如,将采样周期从30秒增大为30分钟,也即,使得数据点的数量减少为重采样前的1/60。

工业互联网场景中,工厂或生产线上有成千上万的设备,检测这些设备的运行状态,每天产生的采样点的数量至少上亿。如果使用原始数据进行模型训练,因为数据量过大,训练单个模型可能就需要几个小时甚至几十个小时,这对设备预测而言是难以负担和承载的计算载荷。如此,利用较大的采样周期进行重新采样,可以减少数据量,缩短模型的训练时间、减少消耗的计算资源。

2.6)将前述的多天,也即(p+1)天的重采样后的数据按照时间上的先后顺序,拼接为一个时间跨度为(p+1)天的时间序列。

2.7)将上述时间跨度为(p+1)天的时间序列与该单个设备对应的标识(如唯一对应的标识id)封装为一个python程序中运行的设备对象。

针对多个设备最近(n+1)天的历史数据的预处理,可以参照前述2.1)至2.7)实现,不再赘述。

将获取的多个设备最近(n+1)天的历史数据,分别处理为一个python程序中运行的设备对象后,将对应于多个设备的设备对象统一地封装为后述步骤33中应用的设备对象,并可以通过网络方便地进行分发。

步骤S33:利用步骤S32中处理后的数据,也即设备对象,训练多个设备分别对应的数学模型。具体包括:

3.1)遍历步骤S32中封装后的设备对象,依次获取包含各设备对应的设备对象,并从设备对象中提取出设备对应的时间跨度为(p+1)天的时间序列x={x

3.2)利用三次指数平滑法统计模型、时间序列x={x

具体地,采用三次指数平滑法统计模型作为数学模型时,包括下述公式(1.1)至(1.4):

s

T

P

x

其中,平滑值序列记为s={s

变量α、β、γ分别为平滑参数,分别取0至1之间的数值,也即前述的三元平滑参数。变量k对应季节分量值序列内在的循环周期,在该循环周期为1个自然日,数据的采样周期为30分钟时,k为48。变量h用于指示自当前时刻t向后预测的第h个数据点,0≦h≦m*(p+1),也即,利用(p+1)个自然日的历史数据训练得到的数学模型,最多可以预测(p+1)个自然日之内各设备运行的数据。平滑值序列s的初始值、趋势分量值序列T的初始值、季节分量值序列P的初始值对三次指数平滑法统计模型的影响不明显,因此,简便起见,通常取s

将时间跨度为(p+1)天的时间序列x={x

利用训练样本采用最小二乘估计法确定平滑参数α、β、γ的最优估计值。具体地,使用python提供的软件包scipy.optimize中的fmin_l_bfgs_b函数,按照下述式(1.5)构建损失函数:

其中,x

3.3)将前述步骤3.2)确定的优化后的α、β、γ的值代入三次指数平滑法统计模型的公式(1.1)至(1.4),即可采用三次指数平滑法统计模型计算出与指定的时间跨度r对应的平滑值序列s={s

3.4)将前述步骤3.3)确定的平滑值序列s={s

也即,剔除前述步骤3.1)中提取到的设备对应的时间跨度为(p+1)天的时间序列x、前述步骤3.3)中计算产生的平滑值序列s={s

重复以上步骤3.2)至步骤3.4),得到封装后针对各设备的初始的结果对象。

3.5)将多个设备的初始的结果对象封装结果对象组,作为初步的数学模型。

步骤S34:利用拟合样本计算针对各设备的拟合调校值j,如,采用最小二乘估计法来确定各设备对应的拟合调校值的最优估计值。具体包括:

使用前述步骤S33中确定的各设备的数学模型对各设备前一天(也即当天的前一天)的数据进行预测,得到预测结果数据。预测结果数据中的每个数据值是采用三次指数平滑法统计模型计算出的数值乘以默认的拟合调校值j后得到的。

利用拟合样本采用最小二乘估计法确定拟合调校值j的最优估计值。具体地,使用python提供的软件包scipy.optimize中的fmin_l_bfgs_b函数,按照下述式(1.6)构建损失函数:

其中,x

重复上述步骤,直到更新所有设备的拟合调校值j。如此,可以降低预测结果的误差,提高预测精度。

步骤S35:使用前述训练完成的数学模型对象组进行设备未来指定的至少一个自然日内的数据的预测。具体包括:

遍历多个设备,以获取各设备对应的标识,将该设备的标识以及指定的预测周期(如,为一个自然日)传入数学模型,得到各设备在未来指定的自然日内的预测值序列x

步骤S36:将步骤S35中获取到的预测值序列x

采用本发明实施例的三次指数平滑法统计模型(如,代码实现为myHolt-Winters)、statsmodels中Holt-Winters及statsmodels中的ARMA分别处理存储在本地EXCEL文件中的测试数据(包括两个设备的历史数据),得到预测结果,并进行预测精度或误差、训练时长、数学模型的文件的大小等性能对比实验,如图5所示。

如图5所示,均方误差(Mean Square Error,MSE)的值越小,表示预测值与实际值越接近。可以看出本发明实施例的三次指数平滑法统计模型在损失较小的较高精度下,缩短了训练时长,减小了数学模型的文件的大小。

如此,本发明实施例的基于统计模型生成用于设备预警的动态阈值的方法,将多个设备分别训练后的数学模型作为结果对象封装在一个结果对象内,便于网络传输;剔除设备的历史数据及计算产生的中间数据,结果对象内只保留各时间序列的最近数据点(在时间上最靠后的一个值或多个值),有利于减小数学模型所占用的存储空间;引入了拟合调校值,进一步提高了动态阈值预测的精度,减小了误差。

在一些实施例中,如图2所示,本发明实施例的基于统计模型生成用于设备预警的动态阈值的装置,包括:

获取单元100,用于获取多个设备运行的最近(n+1)天的历史数据,其中,n为大于1的自然数;

设备对象处理单元200,用于处理所述最近(n+1)天的历史数据,生成针对所述多个设备的设备对象;

结果对象生成单元300,用于基于统计模型,处理所述设备对象,生成针对所述多个设备的结果对象;

动态阈值生成单元400,用于利用针对所述多个设备的结果对象,生成针对所述多个设备各自的用于设备预警的动态阈值。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离权利要求所限定的精神和范围的情况下,可作出许多修改、变化或等效,但都将落入本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号