掌桥专利:专业的专利平台
掌桥专利
首页

时序工业控制协议数据的清洗方法和装置

文献发布时间:2023-06-19 19:30:30


时序工业控制协议数据的清洗方法和装置

技术领域

本发明涉及数据清洗技术领域,特别涉及一种时序工业控制协议数据的清洗方法和装置。

背景技术

随着电力系统信息化的不断发展,以传感器采集的时间序列数据(简称时序数据)为代表的电力大数据不断产生。同时,错误在时间序列中很常见,例如,传感器、终端记录器和其他设备在数据采集、数据传输和数据记录过程中受到主观和客观因素的影响,导致最终数据中存在某些数据质量问题。低质量的数据会对数据分析等监控服务造成严重影响。

因此,在时序数据中识别出异常数据,并清洗识别出的异常数据就显得尤为重要。其中,清洗异常数据,是指将异常数据替换为正常数据。

现有的数据清洗方式,一般是设置一个固定的阈值,然后每一个大于该阈值的数值确定为异常值。这种方式存在的问题是,在时间序列数据中,正常数值本身也会随着时间推移而发生较大幅度的波动,而这种方式中固定的阈值容易将正常波动范围内的数值也识别为异常值,准确度较低。

发明内容

针对上述现有技术的缺点,本发明提供一种时序工业控制协议数据的清洗方法和装置,以提高对时序数据进行数据清洗时的准确度。

本申请第一方面提供一种时序工业控制协议数据的清洗方法,包括:

获得待清洗时序数据、历史时序数据和最大速度约束;其中,所述历史时序数据和所述待清洗时序数据的数据来源相同;

根据所述待清洗时序数据中前N个清洗窗口的数据点、所述最大速度约束和所述历史时序数据,确定当前速度约束;其中,N为预设的正整数;

从所述待清洗时序数据的第N+1个清洗窗口开始,根据每一数据点的速度和所述当前速度约束逐一识别所述待清洗时序数据中每一数据点是否为异常数据点,并清洗识别出的所述异常数据点。

可选的,所述根据所述待清洗时序数据中前N个清洗窗口的数据点、所述最大速度约束和所述历史时序数据,确定当前速度约束,包括:

计算所述历史时序数据中每一数据点的速度;

统计所述历史时序数据中各个数据点的速度的平均值和标准差,并根据预设的目标置信度对应的置信区间宽度,以及所述均值和所述标准差,确定初始速度约束;

根据所述待清洗时序数据中前N个清洗窗口的数据点以及所述最大速度约束调整所述初始速度约束,获得当前速度约束。

可选的,当识别出的所述异常数据点为孤立异常点时,所述清洗识别出的所述异常数据点包括:

确定从所述孤立异常点的时间戳开始的第一清洗窗口;

根据时间戳位于所述第一清洗窗口内的其他数据点,计算得到所述孤立异常点的有限候选集;其中,所述其他数据点指代不同于所述孤立异常点的数据点;

用所述孤立异常点的有限候选集的中位数,替换所述孤立异常点,以完成对所述孤立异常点的清洗。

可选的,当识别出的所述异常数据点属于连续异常点时,所述清洗识别出的所述异常数据点包括:

确定由连续异常点组成的异常序列;其中,所述异常序列指代完全由连续异常点组成,并且序列的前一个数据点和后一个数据点均不为异常数据点的序列;

计算所述异常序列的第一参考点到第二参考点的变化速度;其中,所述以参考点为所述异常序列的前一个数据点,所述第二参考点为所述异常序列的后一个数据点;

利用所述第一参考点到所述第二参考点的变化速度对所述异常序列内每一个连续异常点进行线性清洗。

可选的,还包括:

每识别一个所述数据点后,若该数据点的速度或者该数据点之前的多个数据点的加速度满足预设的更新条件,根据该数据点的速度和该数据点之前的多个数据点的加速度更新所述当前速度约束。

本申请第二方面提供一种时序工业控制协议数据的清洗装置,包括:

获得单元,用于获得待清洗时序数据、历史时序数据和最大速度约束;其中,所述历史时序数据和所述待清洗时序数据的数据来源相同;

确定单元,用于根据所述待清洗时序数据中前N个清洗窗口的数据点、所述最大速度约束和历史时序数据,确定当前速度约束;其中,N为预设的正整数,所述历史时序数据和所述待清洗时序数据的数据来源相同;

清洗单元,用于从所述待清洗时序数据的第N+1个清洗窗口开始,根据每一数据点的速度和所述当前速度约束逐一识别所述待清洗时序数据中每一数据点是否为异常数据点,并清洗识别出的所述异常数据点。

可选的,所述确定单元根据所述待清洗时序数据中前N个清洗窗口的数据点、所述最大速度约束和所述历史时序数据,确定当前速度约束时,具体用于:

计算所述历史时序数据中每一数据点的速度;

统计所述历史时序数据中各个数据点的速度的平均值和标准差,并根据预设的目标置信度对应的置信区间宽度,以及所述均值和所述标准差,确定初始速度约束;

根据所述待清洗时序数据中前N个清洗窗口的数据点以及所述最大速度约束调整所述初始速度约束,获得当前速度约束。

可选的,当识别出的所述异常数据点为孤立异常点时,所述清洗单元清洗识别出的所述异常数据点时,具体用于:

确定从所述孤立异常点的时间戳开始的第一清洗窗口;

根据时间戳位于所述第一清洗窗口内的其他数据点,计算得到所述孤立异常点的有限候选集;其中,所述其他数据点指代不同于所述孤立异常点的数据点;

用所述孤立异常点的有限候选集的中位数,替换所述孤立异常点,以完成对所述孤立异常点的清洗。

可选的,当识别出的所述异常数据点属于连续异常点时,所述清洗单元清洗识别出的所述异常数据点时,具体用于:

确定由连续异常点组成的异常序列;其中,所述异常序列指代完全由连续异常点组成,并且序列的前一个数据点和后一个数据点均不为异常数据点的序列;

计算所述异常序列的第一参考点到第二参考点的变化速度;其中,所述以参考点为所述异常序列的前一个数据点,所述第二参考点为所述异常序列的后一个数据点;

利用所述第一参考点到所述第二参考点的变化速度对所述异常序列内每一个连续异常点进行线性清洗。

可选的,所述装置还包括更新单元,用于:

每识别一个所述数据点后,若该数据点的速度或者该数据点之前的多个数据点的加速度满足预设的更新条件,根据该数据点的速度和该数据点之前的多个数据点的加速度更新所述当前速度约束。

本申请提供一种时序工业控制协议数据的清洗方法和装置,方法包括,获得待清洗时序数据、同一数据来源的历史时序数据和最大速度约束;根据待清洗时序数据中前N个清洗窗口的数据点、最大速度约束和历史时序数据,确定当前速度约束;从待清洗时序数据的第N+1个清洗窗口开始,根据每一数据点的速度和当前速度约束逐一识别待清洗时序数据中每一数据点是否为异常数据点,并清洗识别出的异常数据点。本方案根据待清洗时序数据确定匹配的当前速度约束,并根据数据点的速度是否满足当前速度约束来识别并清洗异常数据点,即使时序数据有较大幅度的波动也能准确并清洗其中的异常数据点,提高了数据清洗的准确度。

附图说明

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

图1为本申请实施例提供的一种时序工业控制协议数据的清洗方法;

图2为本申请实施例提供的一种对孤立异常点的清洗示意图;

图3为本申请实施例提供的一种对连续异常点的清洗示意图;

图4为本申请实施例提供的一种时序工业控制协议数据的清洗装置的结构示意图。

具体实施方式

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

时间序列数据,简称时序数据,可以理解为至少包括某一项参数在各个时间点上的数值的集合,时序数据通常可以用传感器实时采集得到。

以电力系统为示例,通过电流传感器可以实时采集电网中某一点处每一时刻的电流,采集得到的数值依次为,7月1日0时0分0秒的电流为13A,7月1日0时0分1秒的电流为13.5A,7月1日0时0分2秒的电流为14A,……7月1日0时a分b秒的电流为20A,这些数值就可以用时序数据(13,13.5,14……20)表示。

在本申请的方案中,为了便于说明,将时序数据中每一个数值称为一个数据点,并按照时序数据中各数据点被采集的时刻从早到晚进行编号,比如上述示例中,最先采集的电流值13记为数据点1,可以记为x1,随后采集的电流值13.5为数据点2,可以记为x2,以此类推。并且,对于每一个数据点,将采集到该数据点的时刻记为该数据点的时间戳,时间戳可以用t表示,时间戳的编号为对应的数据点的编号,例如x1对应的时间戳为7月1日0时0分0秒,记为t1;x2对应的时间戳为7月1日0时0分1秒,记为t2。

结合上述定义,本申请实施例提供一种时序工业控制协议数据的清洗方法,请参见图1,为该方法的流程图,该方法可以包括如下步骤。

本实施例提供的方法可以由工业控制系统来执行。

S101,获得待清洗时序数据、历史时序数据和最大速度约束。

其中,待清洗时序数据可以是利用传感器采集得到的原始的时间序列数据,例如可以是前述多个时刻的电流值构成的时序数据。

在具体应用场景中,工业控制系统可以基于预先配置的工业控制协议,控制传感器采集得到上述待清洗时序数据,然后通过本实施例提供的清洗方法对采集到的待清洗时序数据进行清洗,之后再利用经过清洗的时序数据执行后续的分析处理流程。

因此,本实施例中由工业控制系统采集得到的待清洗时序数据,也可以称为时序工业控制协议数据。

最大速度约束,为预先根据经验以及待清洗时序数据的来源而设定的速度约束,示例性的,若待清洗时序数据包括小区内某一家庭一天中实时采集到的各个时刻消耗的电功率数据,那么可以根据经验预判家庭的用电量在一天内的波动幅度不会超出特定范围,因此根据该范围设定该最大速度约束。

全局速度约束,包括全局速度上限s

历史时序数据为在采集待清洗时序数据之前采集的,并且和待清洗时序数据的来源相同的时序数据。

示例性的,若待清洗时序数据包括小区内某一家庭某一天中实时采集到的各个时刻消耗的电功率数据,那么历史时序数据可以包括相同小区内,其他家庭在之前的若干天中每一天的各个时刻的电功率数据。

S102,根据待清洗时序数据中前N个清洗窗口的数据点、最大速度约束和历史时序数据,确定当前速度约束。

其中,清洗窗口为一个预先设定的时间窗口,清洗窗口的长短可以根据实际需要设定,例如可以将清洗窗口的长度w设定为5秒,那么待清洗时序数据中每5秒就相当于一个清洗窗口,即,第1至5秒为第一个清洗窗口,第6至10秒为第二个清洗窗口,以此类推。

N为预先设定的正整数,其具体值可以按需设定,例如设定N等于5。

结合上述示例,当清洗窗口的长度w设定为5秒,且清洗窗口的个数N设定为5时,S102中待清洗时序数据的前N个清洗窗口的数据点,就是待清洗时序数据中前25(即长度和个数的乘积)秒内采集到的每一个数据点,这里的前25秒从采集到待清洗时序数据中首个数据点的时刻开始计时。

步骤S102的具体执行过程如下:

首先,计算历史时序数据中每一数据点的速度。

在时序数据中,对于任意两个数据点x

v

其中t

以上关于数据点的速度的定义在历史时序数据和待清洗时序数据中均适用。

其次,统计历史时序数据中各个数据点的速度的平均值u和标准差sigma,并根据预设的目标置信度对应的置信区间宽度,以及均值u和标准差sigma,确定初始速度约束。

历史时序数据中各数据点的速度通常满足正态分布X~N(u,sigma

表1

由此,可以在表1中选取预先设置的目标置信度对应的置信区间宽度,然后将选取的置信区间宽度代入上述置信区间的表达式中,结合前述历史时序数据中速度的平均值和标准差,就可以计算得到一个特定的置信区间,该置信区间,就是S101中需要确定的初始速度约束。

目标置信度的具体数值可以按需设定,不做限定。

示例性的,可以设目标置信度为0.9,于是可以在表1中找到0.9对应的置信区间宽度z,约等于1.64,将该置信区间宽度代入上述置信区间的表达式中,就可以计算得到初始速度约束V0=[v

最后,根据待清洗时序数据中前N个清洗窗口的数据点以及最大速度约束,调整初始速度约束,获得当前速度约束。

在该步骤中,先计算待清洗时序数据前N个清洗窗口中每一数据点的速度,接着判断待清洗时序数据前N个清洗窗口中,是否每一个数据点的速度都满足初始速度约束,也就是判断是否每一数据点的速度都在初始速度约束的上限和下限所限定的区间内。如果前N个清洗窗口中每一数据点的速度都满足初始速度约束,就直接将初始速度约束确定为当前速度约束V=[v

获得迭代速度约束后,判断待清洗时序数据前N个清洗窗口中,是否每一个数据点的速度都满足此时的迭代速度约束,如果前N个清洗窗口中每一数据点的速度都满足此时的迭代速度约束,就将此时的迭代速度约束确定为当前速度约束,步骤S102结束;如果前N个清洗窗口中存在至少一个数据点的速度不满足此时的迭代速度约束,就将上述公式(2)中的中v

获得新的迭代速度约束后,重复上述判断是否每一个数据点的速度都满足此时的迭代速度约束,以及在不满足时按公式(2)进行更新的过程,以此类推,直至某一次更新后的迭代速度约束,可以使前N个清洗窗口中每一个数据点的速度都满足该约束为止,然后就可以将前N个清洗窗口中每一个数据点的速度都满足的迭代速度约束确定为当前速度约束V=[v

S103,从待清洗时序数据的第N+1个清洗窗口开始,根据每一数据点的速度和当前速度约束逐一识别待清洗时序数据中每一数据点是否为异常数据点,并清洗识别出的异常数据点。

异常数据点。对于待清洗时序数据中的每一个数据点,若该数据点的速度超出当前速度约束所限定的区间,即该数据点的速度不在[v

异常数据点可以具体分为孤立异常点和连续异常点两类。

如果一个异常数据点的前一个数据点和后一个数据点均为正常数据点,那么这个异常数据点就是一个孤立的异常数据点,记为孤立异常点。

如果多个(指两个及以上)连续的数据点均为异常数据点,那么该多个连续的异常数据点中的每一个,都属于上述连续异常点。

在步骤S103中,根据识别出的异常数据点所属类型的不同,具体的清洗方式也有所不同。

当识别出的异常数据点属于孤立异常点时,清洗识别出的异常数据点的过程,包括:

A1,确定从孤立异常点的时间戳开始的第一清洗窗口。

示例性的,孤立异常点的时间戳为第5秒,预先设定的清洗窗口的长度w为5秒,那么在步骤A1中,可以确定从第5秒到第10秒这一时间段为该孤立异常点的第一清洗窗口。

A2,根据时间戳位于第一清洗窗口内的其他数据点,计算得到孤立异常点的有限候选集。

步骤A2中的其他数据点,是指不同于孤立异常点的数据点。例如,用x

x

X

从公式(3)可以看出,x

确定待清洗时序数据中每一个时间戳位于第一清洗窗口内,即位于(t

x

X

从公式(4)可以看出,x

确定待清洗时序数据中每一个时间戳位于第一清洗窗口内,即位于(t

A3,用孤立异常点的有限候选集的中位数,替换孤立异常点,以完成对孤立异常点的清洗。

步骤A3的一种实施方式是,将有限候选集中的元素按从小到大或者从大到小的顺序排列,然后取排在中间的数据来替换孤立异常点。

例如,待清洗时序数据中数据点x

为了便于理解,下面结合一个示例对清洗孤立异常点的过程进行说明,请参见图2,为本实施例提供的一种对孤立异常点的清洗示意图。

图2的坐标系中,纵轴表示待清洗时序数据内每一数据点的值,例如x

在图2的示例中,待清洗时序数据中的数据点x

然后根据步骤A2,利用时间戳位于(3,7]这一区间内的数据点,计算得到x

如图2所示,待清洗时序数据中时间戳位于(3,7]这一区间内的数据点包括数据点x

当识别出的异常数据点属于连续异常点时,清洗识别出的异常数据点的过程,包括:

B1,确定由连续异常点组成的异常序列。

异常序列,定义为待清洗时序数据中由多个连续的数据点构成并且满足如下条件的序列:

该序列内每一个数据点都是异常数据点,并且该序列的前一个数据点是正常数据点,该序列的后一个数据点也是正常数据点。

示例性的,假设x

也就是说,异常序列可以理解为,完全由连续异常点组成,并且序列的前一个数据点和后一个数据点均不为异常数据点的序列。

B2,计算异常序列的第一参考点到第二参考点的变化速度。

第一参考点,即异常序列的前一个数据点,第二参考点,即异常序列的后一个数据点。

结合步骤B1的示例,对于异常序列x

第一参考点到第二参考点的变化速度,可以利用前述步骤S102中用于计算变化速度的公式(1)计算得到,不再赘述。

B3,利用第一参考点到第二参考点的变化速度对异常序列内的每一个连续异常点进行线性清洗。

线性清洗的过程如下:

针对异常序列中每一连续异常点,计算该连续异常点的时间戳和第一参考点的时间戳之间的时间差值,用时间差值乘以第一参考点到第二参考点的变化速度,得到该连续异常点的修复值,最后用该连续异常点的修复值替换该连续异常点原本的值,完成对该连续异常点的修复。

下面结合一个示例对上述修复连续异常点的过程进行说明,请参见图3,为本申请实施例提供的对连续异常点的清洗示意图。从图3可以看到,按上述过程对异常序列中所有连续异常点进行清洗后,清洗后的数据点组成了一条以第一参考点和第二参考点为端点的线段,该线段的斜率,就是前面计算得到的第一参考点到第二参考点的变化速度,并且可以看到,按上述方法清洗后的数据点,对应的数值和这些数据点的真实值,也就是在相同时间被监测的参数的实际数值相当接近,说明上述清洗连续异常点的过程具有较高的准确度。

根据上述清洗孤立异常点和连续异常点的方法,步骤S103的一种具体实施方式可以是:

开始执行S103之前先建立一个延迟修复队列,执行S103的过程中,如果发现当前识别的这个数据点属于异常数据点,并且这个数据点的前一个数据点是正常数据点,就将这个异常数据点及其前一个数据点记录在延迟修复队列中;如果发现当前识别的这个数据点及其前一个数据点都属于异常数据点,就将这个异常数据点记录在延迟修复队列中;如果发现当前识别的这个数据点是正常数据点,而其前一个数据点是异常数据点,就停止记录判断此时延迟修复队列的长度,即判断此时延迟修复队列中记录的数据点的个数。

如果停止记录时延迟修复队列的长度等于2,说明此时延迟修复队列中仅有一个异常数据点,并且该异常数据点的前一个数据点和后一个数据点均为正常数据点,于是按照前述清洗孤立异常点的过程清洗此时队列中的这个异常数据点。

如果停止记录时延迟修复队列的长度大于2,说明此时延迟修复队列中记录有多个连续异常点,于是按照前述清洗连续异常点的过程清洗此时队列中的每一个连续异常点。

每次清洗后,将延迟修复队列清零,后续再发现异常数据点时则重复上述过程,直至识别完整个待清洗时序数据为止。

在一些可选的实施例中,为了进一步提高本实施例的清洗方案的准确度,可以进一步在该方法实施的过程中动态调节当前速度约束。也就是说,在步骤S103之后,本实施例还可以包括如下步骤。

S104,每识别一个数据点后,若该数据点的速度或者该数据点之前的多个数据点的加速度满足预设的更新条件,根据该数据点的速度和该数据点之前的多个数据点的加速度更新当前速度约束。

步骤S104的具体执行过程包括:

首先确定当前识别的这个数据点是否满足更新条件。

更新条件包括如下两条:

条件一,调整窗口内每一数据点的加速度的方向都相同,也就是说,调整窗口内每一数据点的加速度均为正值,或者均为负值。

条件二,当前识别的数据点的速度逼近当前速度约束的上限或者下限。

在S104中,只要当前识别的这个数据点满足条件一和条件二中至少一个条件,则认为该数据点满足更新条件,确定需要更新当前速度约束。

条件一中的调整窗口,指代截止至当前被识别的这个数据点的时间戳,并且长度为w的时间窗口,例如,当前识别的数据点为x

对于待清洗时序数据中任一数据点x

结合前述关于数据点的速度的定义,可以认为,一个数据点的加速度,等于该数据点的速度和前一个数据点的速度之差,除以该数据点的时间戳和前一个数据点的时间戳之差。

条件二中的逼近,可以定义为,当前识别的数据点的速度与当前速度约束的上限或者下限之间距离小于预设的更新阈值。示例性的,更新阈值可以设定0.2,或者设定为其他值,那么,若当前识别的数据点的速度和当前速度约束上限之间的距离小于0.2,则认为当前识别的数据点的速度逼近当前速度约束的上限。

为了便于区分,将当前速度约束记为V(k)=[v(k)

特别的,对于执行步骤S102后首次获得的当前速度约束,可以记为V(0)=[v(0)

更新当前速度约束的过程如下:

计算调整窗口内每一数据点的加速度,根据这些数据点的加速度和权重,计算得到速度约束更新量Delta-v。

具体的,可以用如下公式(6)计算得到速度约束更新量:

公式(6)表示,针对调整窗口内除了当前被识别的这个数据点以外的每一个数据点,也就是针对每一个时间戳位于[t

其中,调整窗口内各个数据点的权重配置可以根据实际情况设定,一般的,可以根据各数据点相对于当前被识别的数据点的距离确定,数据点x

最后,利用速度约束更新量更新当前速度约束,获得更新后的当前速度约束。

具体的,可以按照如下公式(7)对当前速度约束进行更新:

公式(7)中,v(k)

本申请提供一种时序工业控制协议数据的清洗方法,方法包括,获得待清洗时序数据、同一数据来源的历史时序数据和最大速度约束;根据待清洗时序数据中前N个清洗窗口的数据点、最大速度约束和历史时序数据,确定当前速度约束;从待清洗时序数据的第N+1个清洗窗口开始,根据每一数据点的速度和当前速度约束逐一识别待清洗时序数据中每一数据点是否为异常数据点,并清洗识别出的异常数据点。本方案根据待清洗时序数据确定匹配的当前速度约束,并根据数据点的速度是否满足当前速度约束来识别并清洗异常数据点,即使时序数据有较大幅度的波动也能准确并清洗其中的异常数据点,提高了数据清洗的准确度。

进一步的,本发明与基于平滑的清洗算法相比,本发明可以更精准的识别异常错误点、不会对原始数据点过度清洗,并且均方根误差和欧式距离的值较平滑类算法减少至少3倍,具有更好的清洗效果。

本发明与基于速度约束的数据清洗算法SCREEN相比,本发明的速度约束可以根据速度变化趋势动态进行调整,可以有效的处理异常小错误点和连续异常错误点,具有更好的清洗准确度。

根据本申请实施例提供的时序工业控制协议数据的清洗方法,本申请实施例还提供一种时序工业控制协议数据的清洗装置,请参见图4,为该装置的结构示意图,该装置可以包括如下单元。

获得单元401,用于获得待清洗时序数据、历史时序数据和最大速度约束;其中,历史时序数据和待清洗时序数据的数据来源相同;

确定单元402,用于根据待清洗时序数据中前N个清洗窗口的数据点、最大速度约束和历史时序数据,确定当前速度约束;其中,N为预设的正整数,历史时序数据和待清洗时序数据的数据来源相同;

清洗单元403,用于从待清洗时序数据的第N+1个清洗窗口开始,根据每一数据点的速度和当前速度约束逐一识别待清洗时序数据中每一数据点是否为异常数据点,并清洗识别出的异常数据点。

可选的,确定单元402根据待清洗时序数据中前N个清洗窗口的数据点、最大速度约束和历史时序数据,确定当前速度约束时,具体用于:

计算历史时序数据中每一数据点的速度;

统计历史时序数据中各个数据点的速度的平均值和标准差,并根据预设的目标置信度对应的置信区间宽度,以及均值和标准差,确定初始速度约束;

根据待清洗时序数据中前N个清洗窗口的数据点以及最大速度约束调整初始速度约束,获得当前速度约束。

可选的,当识别出的异常数据点为孤立异常点时,清洗单元403清洗识别出的异常数据点时,具体用于:

确定从孤立异常点的时间戳开始的第一清洗窗口;

根据时间戳位于第一清洗窗口内的其他数据点,计算得到孤立异常点的有限候选集;其中,其他数据点指代不同于孤立异常点的数据点;

用孤立异常点的有限候选集的中位数,替换孤立异常点,以完成对孤立异常点的清洗。

可选的,当识别出的异常数据点属于连续异常点时,清洗单元403清洗识别出的异常数据点时,具体用于:

确定由连续异常点组成的异常序列;其中,异常序列指代完全由连续异常点组成,并且序列的前一个数据点和后一个数据点均不为异常数据点的序列;

计算异常序列的第一参考点到第二参考点的变化速度;其中,以参考点为异常序列的前一个数据点,第二参考点为异常序列的后一个数据点;

利用第一参考点到第二参考点的变化速度对异常序列内每一个连续异常点进行线性清洗。

可选的,该装置还包括更新单元404,用于:

每识别一个数据点后,若该数据点的速度或者该数据点之前的多个数据点的加速度满足预设的更新条件,根据该数据点的速度和该数据点之前的多个数据点的加速度更新当前速度约束。

本实施例提供的时序工业控制协议数据的清洗装置,其具体工作原理和有益效果均可以参见本申请实施例提供的时序工业控制协议数据的清洗方法中的相关步骤和有益效果,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 基于图像识别的工业控制系统数据分析处理装置及方法
  • 一种基于数据标准规范的数据清洗方法、装置和系统
  • 基于SAR与光学遥感时序数据的树种分类方法、装置和设备
  • 一种多源时序数据清洗及时序匹配方法
  • 一种工业控制系统中工业控制协议的安全防护方法
技术分类

06120115933483