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

一种数据处理方法、模型训练方法、装置及电子设备

文献发布时间:2023-06-19 11:29:13


一种数据处理方法、模型训练方法、装置及电子设备

技术领域

本申请属于数据处理技术领域,具体涉及一种数据处理方法、模型训练方法、装置及电子设备。

背景技术

对水坝传感器(指应用于水坝的传感器,如压力传感器、位移传感器、流量传感器等)异常值的检测和修正,关系到水坝整体的健康运行,甚至关系到周边居民的人身安全。目前对水坝传感器数据异常检测和修正的方法主要有两种途径:

1.依靠专家经验的人工检测和修正。这种方法准确率很高,但是也存在很多问题:a) 重复性欠缺。严重依靠专家的经验积累,判定结果因人而异,甚至同一人会因为时间的不同而对相同数据做出截然相反的判断。b) 人力成本高昂。c) 当存在海量数据时无法全部依托专家来完成,所以通常只有重点传感器通道数据才会采用这种方法。

2.基于统计检验的方法,如3-sigma异常检测方法。此类方法假设正常数据遵循某个特定分布形式,并且数据中绝大多数皆为正常值。对异常点的定义也很简单,通过和正常点的位置相比,将偏移比较大的数据认定为异常。3-sigma方法只能识别出离群异常值,无法对异常值进行修正。另外,此方法无法判定并不是离群值的异常区域,导致判定准确度不高。

由于水坝传感器众多,依托于人工的专家诊断无法满足需求。从而,借助于计算机的自动化检测诊断成为一种必然需求。但由于水坝周边环境变化的复杂性,导致传感器数据模式也同样呈现出复杂性,比如:大量数据出现缺失和跳跃,数据的分布会随时间而变化等。这些问题导致目前没有某一模型的检测结果能够达到专家人工诊断的效果。

发明内容

鉴于此,本申请的目的在于提供一种数据处理方法、模型训练方法、装置及电子设备,以改善目前的检测方法无法准确检测出传感器所采集的数据中的异常值,以及无法对异常值进行修正的问题。

本申请的实施例是这样实现的:

第一方面,本申请实施例提供了一种数据处理方法,包括:获取传感器在不同时刻采集的并按照时间顺序排列的序列数据;对所述序列数据进行预处理,所述预处理包括标准化或归一化;对所述预处理后的序列数据进行滑窗处理,得到多个窗口数据;将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE(Variational Auto Encoder,变分自编码器)模型中进行处理,得到所述多个窗口数据中的异常数据以及异常数据的预测值;针对每一个异常数据,根据该异常数据的预测值对该异常数据进行修正。本申请实施例中,通过获取传感器在不同时刻采集的并按照时间顺序排列的序列数据,然后对序列数据进行标准化或归一化预处理,然后对预处理后的序列数据进行滑窗处理,得到多个窗口数据,之后将多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理,便可得到多个窗口数据中的异常数据以及异常数据的预测值,最后针对每一个异常数据,根据该异常数据的预测值对该异常数据进行修正,从而能快速准确检测出传感器所采集的数据中的异常值,以及对异常值进行修正。

结合第一方面实施例的一种可能的实施方式,将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理,包括:对所述多个窗口数据中的每个窗口数据进行逆序操作,得到各自对应的逆序窗口数据;将每个窗口数据以及对应的逆序窗口数据输入到所述VAE模型中进行处理,得到异常数据以及异常数据的预测值。本申请实施例中,对每个窗口数据进行逆序操作,得到各自对应的逆序窗口数据,将每个窗口数据以及对应的逆序窗口数据输入到VAE模型中进行处理,得到异常数据以及异常数据的预测值,由于该方式从正向、逆向两个方向对数据做了双向预测,能进一步提高异常数据的判断准确性。

结合第一方面实施例的一种可能的实施方式,若对所述序列数据进行标准化预处理,所述方法还包括:对每个窗口数据中的数据进行取反操作,得到对应的取反窗口数据;对每个窗口数据对应的逆序窗口数据中的数据进行取反操作,得到取反逆序窗口数据;相应地,将每个窗口数据以及对应的逆序窗口数据输入到所述VAE模型中进行处理,包括:将每个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据输入到所述VAE模型中进行处理。本申请实施例中,若对序列数据进行标准化预处理,则还可以对每个窗口数据中的数据进行取反操作,得到对应的取反窗口数据,以及对每个窗口数据对应的逆序窗口数据中的数据进行取反操作,得到取反逆序窗口数据,相应地,输入到VAE模型中的数据包括窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据;该方式通过正向/逆向、正立/倒立(取反)对数据做了多方位的预测,使得异常数据的判断更加准确。

结合第一方面实施例的一种可能的实施方式,将每个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据输入到所述VAE模型中进行处理,包括:将每个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据输入到所述VAE模型中,输出每个窗口数据各自对应的预测窗口数据、每个逆序窗口数据对应的预测逆序窗口数据、每个取反窗口数据各自对应的预测取反窗口数据,以及每个取反逆序窗口数据各自对应的预测取反逆序窗口数据;针对数据编号不小于滑动窗口大小s的数据i,若该数据i在第i-s+1个预测窗口数据、第i-s+1个预测取反窗口数据、第i个预测逆序窗口数据、第i个预测取反逆序窗口数据中各自的预测值与该数据的差值的绝对值均大于预设阈值,则该数据为异常数据。本申请实施例中,当输入数据包括窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据时,针对数据编号不小于滑动窗口大小s的数据i,可以通过两个(第i个和第i-s+1个)窗口数据,共获得4个异常预测结果(即预测值与该数据的差值的绝对值大于预设阈值,则该预测值即为异常预测结果),只有当四个异常预测结果同时为异常时,此数据点才标记为异常,否则标记为正常值,这样可以提高检测的准确性。

结合第一方面实施例的一种可能的实施方式,根据该异常数据的预测值对该异常数据进行修正,包括:获取该异常数据在窗口数据中的第一预测值、该异常数据在逆序窗口数据中的第二预测值、该异常数据在取反窗口数据中的第三预测值,以及该异常数据在取反逆序窗口数据中的第四预测值;获取所述第一预测值、所述第二预测值、所述第三预测值、所述第四预测值的平均值;对所述平均值进行逆标准化处理,并将该异常数据修正为对所述平均值进行逆标准化处理后得到的数据。本申请实施例中,通过求取异常数据在不同通道中的预测值的平均值,然后再对平均值进行逆标准化处理,并将该异常数据修正为对平均值进行逆标准化处理后得到的数据,使得修正后的数据尽可能的准确。

结合第一方面实施例的一种可能的实施方式,根据该异常数据的预测值对该异常数据进行修正,包括:获取该异常数据在窗口数据中的第一预测值,以及该异常数据在逆序窗口数据中的第二预测值;获取所述第一预测值和所述第二预测值的平均值;对所述平均值进行所述预处理的逆操作,并将该异常数据修正为对所述平均值进行所述预处理的逆操作处理后得到的数据。本申请实施例中,通过求取异常数据在窗口数据、逆序窗口数据中的预测值的平均值,然后再对平均值进行预处理的逆操作处理,并将该异常数据修正为对平均值进行逆操作处理后得到的数据,从而使得修正后的数据尽可能的准确。

结合第一方面实施例的一种可能的实施方式,将每个窗口数据以及对应的逆序窗口数据输入到所述VAE模型中进行处理,得到异常数据以及异常数据的预测值,包括:将每个窗口数据以及对应的逆序窗口数据输入到所述VAE模型中,输出每个窗口数据各自对应的预测窗口数据,以及每个逆序窗口数据对应的预测逆序窗口数据;针对数据编号不小于滑动窗口大小s的数据i,若该数据i在第i-s+1个预测窗口数据、第i个预测逆序窗口数据中各自的预测值与该数据的差值的绝对值均大于预设阈值,则该数据为异常数据。本申请实施例中,当输入数据包括窗口数据以及对应的逆序窗口数据时,针对数据编号不小于滑动窗口大小s的数据i,可以通过两个(第i个和第i-s+1个)窗口数据,共获得2个异常预测结果(即预测值与该数据的差值的绝对值大于预设阈值,则该预测值即为异常预测结果),只有当2个异常预测结果同时为异常时,此数据点才标记为异常,否则标记为正常值,这样可以提高检测的准确性。

结合第一方面实施例的一种可能的实施方式,获取传感器在不同时刻采集的并按照时间顺序排列的序列数据,包括:获取传感器在不同时刻采集的并按照时间顺序排列的初始序列数据;对所述初始序列数据中的异常值按照缺失值进行处理,得到所述序列数据。本申请实施例中,通过对初始序列数据中的异常值按照缺失值进行处理,从而可以提高后续处理结果的准确性。

结合第一方面实施例的一种可能的实施方式,获取传感器在不同时刻采集的并按照时间顺序排列的序列数据,包括:若所述传感器采集的序列数据不为等时间间隔采样的序列数据,对所述传感器采集的序列数据进行重采样,获得等时间间隔采样的所述序列数据。本申请实施例中,若传感器采集的序列数据不为等时间间隔采样的序列数据,则对传感器采集的序列数据进行重采样,以获得时间间隔采样的序列数据,使得该方法可以适用于更多的复杂环境。

结合第一方面实施例的一种可能的实施方式,对所述预处理后的序列数据进行滑窗处理,得到多个窗口数据,包括:若所述预处理后的序列数据中的连续缺失值长度超过预设长度,则将所述预处理后的序列数据按超过所述预设长度的连续缺失值长度前后划分为多个子数据片段;对多个子数据片段中数据长度不小于滑动窗口大小的子数据片段中的缺失值进行插值补全处理;对插值补全处理后的子数据片段进行滑窗处理,得到所述多个窗口数据。本申请实施例中,在进行滑窗处理时,将连续缺失值长度超过预设长度的片段进行裁剪,以剔除连续缺失值长度超过预设长度的片段,然后再对数据长度不小于滑动窗口大小的子数据片段中的缺失值进行插值补全处理,最后再对插值补全处理后的子数据片段进行滑窗处理,这样可以提高数据检测的准确性。

结合第一方面实施例的一种可能的实施方式,将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理之前,所述方法还包括:获取训练数据集,所述训练数据集包括多个窗口数据;利用所述训练数据集对初始VAE模型进行训练,得到所述VAE模型。本申请实施例中,利用训练数据集对VAE模型进行训练,使VAE模型通过学习大量数据的信息,由于大部分数据都是正常的,从而使得该模型能够按照学习到的信息检测出输入的窗口数据中的异常值,进而得到用于传感器数据异常检测的VAE模型。

结合第一方面实施例的一种可能的实施方式,所述训练数据集还包括多个窗口数据中每个窗口数据进行逆序操作后得到的逆序窗口数据;获取训练数据集,包括:获取传感器在不同时刻采集的并按照时间顺序排列的训练序列数据;对所述训练序列数据进行标准化或归一化预处理;对标准化或归一化预处理后的训练序列数据进行滑窗处理,得到多个窗口数据;将每个窗口数据进行逆序操作,得到所述训练数据集。

第二方面,本申请实施例还提供了一种模型训练方法,包括:获取传感器在不同时刻采集的并按照时间顺序排列的序列数据;对所述序列数据进行预处理,所述预处理包括:标准化或归一化;对所述预处理后的序列数据进行滑窗处理,得到训练数据集,所述训练数据集包括多个窗口数据;利用所述训练数据集对VAE模型进行训练,得到训练好的用于传感器数据异常检测的VAE模型。

第三方面,本申请实施例还提供了一种数据处理装置,包括:获取模块、预处理模块、滑窗模块以及处理模块;获取模块,用于获取传感器在不同时刻采集的并按照时间顺序排列的序列数据;预处理模块,用于对所述序列数据进行预处理,所述预处理包括标准化或归一化;滑窗模块,用于对所述预处理后的序列数据进行滑窗处理,得到多个窗口数据;处理模块,用于将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理,得到所述多个窗口数据中的异常数据以及异常数据的预测值;针对每一个异常数据,根据该异常数据的预测值对该异常数据进行修正。

第四方面,本申请实施例还提供了一种模型训练装置,包括:获取模块、预处理模块、预处理模块以及训练模块;获取模块,用于获取传感器在不同时刻采集的并按照时间顺序排列的序列数据;预处理模块,用于对所述序列数据进行预处理,所述预处理包括标准化或归一化;预处理模块,用于对所述预处理后的序列数据进行滑窗处理,得到训练数据集,所述训练数据集包括多个窗口数据;训练模块,用于利用所述训练数据集对VAE模型进行训练,得到训练好的用于传感器数据异常检测的VAE模型。

第五方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者,执行上述第二方面实施例提供的方法。

第六方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者,执行上述第二方面实施例提供的方法。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。

图1示出了本申请实施例提供的一种数据处理方法的流程示意图。

图2示出了本申请实施例提供的一种模型训练方法的流程示意图。

图3示出了本申请实施例提供的一种模数据处理装置的模块示意图。

图4示出了本申请实施例提供的一种模型训练装置的模块示意图。

图5示出了本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

鉴于目前的检测方法无法准确检测出水坝传感器所采集的数据中的异常值,以及无法对异常值进行修正的问题。本申请实施例提供了一种数据处理方法,通过该数据处理方法不仅能快速、准确检测出水坝传感器所采集的数据中的异常值,而且还能对异常值进行修正,从而可以做到对水坝周边环境变化的实时监测。

为了便于理解,下面将结合图1,对本申请实施例提供的数据处理方法进行说明。该数据处理方法包括如下步骤:

步骤S101:获取传感器在不同时刻采集的并按照时间顺序排列的序列数据。

获取传感器在不同时刻采集的并按照时间顺序排列的序列数据。其中,该序列数据中包括按照采集时间顺序排列的多个数据,如包含成几千上万个数据。

该传感器可以是指应用于水坝的各种传感器,如压力传感器、位移传感器、流量传感器等。其中,该序列数据中的数据为同一个传感器采集的数据。

一种可选实施方式下,获取的传感器在不同时刻采集的并按照时间顺序排列的序列数据的过程可以是:获取传感器在不同时刻采集的并按照时间顺序排列的初始序列数据,对该初始序列数据中的异常值按照缺失值进行处理,从而得到该序列数据。该实施方式中,针对获取的初始序列数据中的数据进行初步的异常值检测,初步筛选出其中明显的异常值,并按照缺失值进行处理,以提高后续处理的准确性。其中,可以使用n-sigma(通常n≧3)异常值检测方法进行初步的异常值检测。此外,其他能够实现异常值初步筛选的方法均可替换使用,例如基于箱线图的四分位距法以及DBScan聚类的算法等。

其中,上述的使用n-sigma方法、四分位距法以及DBScan聚类算法进行异常值检测的过程已经为本领域技术人员所熟知,在此不再介绍。

其中,若传感器采集的序列数据不为等时间间隔采样的序列数据,则需要对传感器采集的序列数据进行重采样,从而获得等时间间隔采样的序列数据。此过程通常发生在传感器变频采样的情况下,若传感器采集的序列数据已经是等时间间隔的序列数据,则无需再对数据进行重采样。

需要说明的是,一种实施方式下,也可以同时包括上述两种情况,即若传感器采集的序列数据不为等时间间隔采样的序列数据,则需要对传感器采集的序列数据进行重采样,从而获得等时间间隔采样的序列数据,然后再对序列数据中的异常值按照缺失值进行处理,从而得到最终的序列数据。

步骤S202:对所述序列数据进行预处理,所述预处理包括标准化或归一化。

在获得传感器采集的序列数据后,对序列数据进行标准化或归一化预处理。

其中,若对序列数据进行标准化处理,则可以先计算出该序列数据的均值μ和标准差σ,利用公式x

若对序列数据进行归一化处理,可得到数值在0~1之间的归一化处理后的序列数据。在对序列数据进行归一化处理时,可以利用如下公式x

步骤S203:对所述预处理后的序列数据进行滑窗处理,得到多个窗口数据。

在对序列数据进行标准化或归一化预处理后,便可对预处理后的序列数据进行滑窗处理,从而得到多个窗口数据。滑窗操作所得到的每个窗口数据的数据长度与所选定的滑动窗口大小s的数据长度是一样的,例如长度均为50个数据。

其中,对预处理后的序列数据进行滑窗处理,得到多个窗口数据的过程包括:若预处理后的序列数据中的连续缺失值长度超过预设长度,则将预处理后的序列数据按超过预设长度的连续缺失值长度前后划分为多个子数据片段,对多个子数据片段中数据长度不小于滑动窗口大小的子数据片段中的缺失值进行插值补全处理,对插值补全处理后的子数据片段进行滑窗处理,得到多个窗口数据。

若预处理后的序列数据中的连续缺失值长度超过预设长度,如该预设长度为滑动窗口大小s的60%,如50*60%=30,则将预处理后的序列数据按超过预设长度的连续缺失值长度前后划分为多个子数据片段,假设有1处连续缺失值长度超过预设长度,则可以将预处理后的序列数据划分为2个子数据片段;假设有3处连续缺失值长度超过预设长度,则可以将预处理后的序列数据划分为4个子数据片段。为了便于理解,假设预处理后的序列数据长度为1000,其数据编号为1-1000,其中100-130为连续缺失数据,则可以将该序列数据划分为包含数据编号为1-99以及数据编号为131-1000的两个子数据片段。在将预处理后的序列数据按超过预设长度的连续缺失值长度前后划分为多个子数据片段后,舍弃其中数据长度小于滑动窗口大小的子数据片段,对其中数据长度不小于滑动窗口大小的子数据片段中的缺失值进行插值补全处理,再对插值补全处理后的子数据片段进行滑窗处理,便可得到多个窗口数据。

其中,在对缺失值进行插值补全处理可以是采用线性插值法进行插值补全处理。需要说明的是,补全方法并不限于线性插值法,例如可以使用均值补全或借助机器学习使用相关特征对数据进行补全。

步骤S104:将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理,得到所述多个窗口数据中的异常数据以及异常数据的预测值。

在得到多个窗口数据后,将获得的多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理,便可得到多个窗口数据中的异常数据以及异常数据的预测值。

其中,将每个窗口数据输入到VAE模型中,便可输出每个窗口数据各自对应的预测窗口数据,针对数据i(i为数据编号),若该数据i在预测窗口数据中的预测值与该数据i的差值的绝对值大于预设阈值,则可以认为该数据i为异常数据。

可选地,该预设阈值可以为集合{|y

一种可选实施方式下,将多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理的过程可以是:对多个窗口数据中的每个窗口数据进行逆序操作,得到各自对应的逆序窗口数据,将每个窗口数据以及对应的逆序窗口数据输入到VAE模型中进行处理,得到异常数据以及异常数据的预测值。在输入VAE模型之前,先对多个窗口数据中的每个窗口数据进行逆序操作,得到各自对应的逆序窗口数据,然后再将每个窗口数据以及对应的逆序窗口数据输入到VAE模型中进行处理,便可得到异常数据以及异常数据的预测值。该方式由于将逆序窗口数据也考虑了进去,相当于对数据做了双向处理,使得异常数据的判断更加准确。

可选地,在考虑逆序窗口数据的情况下,将每个窗口数据以及对应的逆序窗口数据输入到VAE模型中进行处理,得到异常数据以及异常数据的预测值的过程可以是:将每个窗口数据以及对应的逆序窗口数据输入到VAE模型中,便可输出每个窗口数据各自对应的预测窗口数据,以及每个逆序窗口数据各自对应的预测逆序窗口数据,针对数据i(i为数据编号),若该数据i在预测窗口数据、预测逆序窗口数据中各自的预测值与该数据i的差值的绝对值均大于预设阈值,则可以认为该数据i为异常数据。也即,若该数据i在预测窗口数据中的预测值与该数据i的差值的绝对值大于预设阈值,并且,若该数据i在预测逆序窗口数据中的预测值与该数据i的差值的绝对值大于预设阈值,则可以认为该数据i为异常数据。

标准情况下,VAE模型的输入为一个窗口数据如X

该种实施方式下,只取窗口数据,如X

该种实施方式下,针对数据编号不小于滑动窗口大小s的数据i,可以通过2个窗口数据(即X

一种可选实施方式下,若对序列数据进行标准化预处理,则该方法还包括:对每个窗口数据中的数据进行取反操作,得到对应的取反窗口数据,以及对每个窗口数据对应的逆序窗口数据中的数据进行取反操作,得到取反逆序窗口数据。如对第1个窗口数据X

可选地,将每个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据输入到VAE模型中进行处理的过程可以是:将每个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据输入到VAE模型中,输出每个窗口数据各自对应的预测窗口数据、每个逆序窗口数据对应的预测逆序窗口数据、每个取反窗口数据各自对应的预测取反窗口数据,以及每个取反逆序窗口数据各自对应的预测取反逆序窗口数据;针对数据编号不小于滑动窗口大小s的数据i,若该数据i在第i-s+1个预测窗口数据、第i-s+1个预测取反窗口数据、第i个预测逆序窗口数据、第i个预测取反逆序窗口数据中各自的预测值与该数据的差值的绝对值均大于预设阈值,则该数据为异常数据。在该种实施方式下,针对数据编号不小于滑动窗口大小s的数据i,若该数据i在第i-s+1个预测窗口数据中的预测值与该数据的差值的绝对值大于预设阈值、该数据i在第i-s+1个预测取反窗口数据中的预测值与该数据的差值的绝对值大于预设阈值、该数据i在第i个预测逆序窗口数据中的预测值与该数据的差值的绝对值大于预设阈值,以及该数据i在第i个预测取反逆序窗口数据中的预测值与该数据的差值的绝对值大于预设阈值,也即4个预测值与该数据的差值的绝对值均大于预设阈值,则该数据i为异常数据。

在该种实施方式下,针对数据编号不小于滑动窗口大小s的数据i,可以通过2个窗口数据(即X

为了便于理解上述的窗口数据、逆序窗口数据、取反窗口数据、取反逆序窗口数据,以及对应的预测窗口数据、预测逆序窗口数据、预测取反窗口数据、预测取反逆序窗口数据,以第1个窗口数据X

需要说明的是,上述的VAE模型也可以仅用于预测数据,可以不用于异常数据检测。因此不能上述示例的既用于输出预测数据,以及在得到预测数据后又用于异常数据检测的实施例理解成是对本申请VAE模型的限制。

需要说明的是,上述的VAE模型为事先训练好的用于数据异常检测的VAE模型,也即在步骤S104之前,方法还包括:获取训练数据集,训练数据集包括多个窗口数据,利用训练数据集对初始VAE模型进行训练,得到VAE模型。该种实施方式下,训练数据可以仅包括多个窗口数据,在应用模型时,输入的模型的数据可以仅包括多个窗口数据。该种实施方式下,获取训练数据集的过程可以是:获取传感器在不同时刻采集的并按照时间顺序排列的训练序列数据;对训练序列数据进行标准化或归一化预处理;对标准化或归一化预处理后的训练序列数据进行滑窗处理,得到多个窗口数据,从而得到该训练数据集。

一种可选实施方式下,训练数据集除了包括多个窗口数据外,还包括多个窗口数据中每个窗口数据对应的逆序窗口数据。该种实施方式下,获取训练数据集的过程可以是:获取传感器在不同时刻采集的并按照时间顺序排列的训练序列数据;对训练序列数据进行标准化或归一化预处理;对标准化或归一化预处理后的训练序列数据进行滑窗处理,得到多个窗口数据;将每个窗口数据进行逆序操作,得到包括多个窗口数据以及对应的逆序窗口数据的训练数据集。

若对训练序列数据进行标准化处理,一种可选实施方式下,训练数据集除了包括多个窗口数据以及每个窗口数据对应的逆序窗口数据外,还包括每个窗口数据取反后的取反窗口数据以及每个逆序窗口数据取反后的取反逆序窗口数据。该种实施方式下,获取训练数据集的过程可以是:获取传感器在不同时刻采集的并按照时间顺序排列的训练序列数据;对训练序列数据进行标准化或归一化预处理;对标准化或归一化预处理后的训练序列数据进行滑窗处理,得到多个窗口数据;将每个窗口数据进行逆序以及取反操作,得到各自对应的逆序窗口数据以及取反窗口数据,再对每个逆序窗口数据进行取反操作,得到各自对应的取反逆序窗口数据,从而得到包括多个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据的训练数据集。

需要说明的是,上述的训练序列数据与前述的序列数据仅是为了便于区分(即在模型训练阶段,传感器在不同时刻采集的并按照时间顺序排列的数据组称为训练序列数据,而在模型应用阶段,传感器在不同时刻采集的并按照时间顺序排列的数据组称为序列数据),两者实质上并无本质区别,均是指传感器在不同时刻采集的并按照时间顺序排列的数据组。

步骤S105:针对每一个异常数据,根据该异常数据的预测值对该异常数据进行修正。

在得到异常数据后,便可以根据该异常数据的预测值对该异常数据进行修正。可以对该异常数据对应的预测值进行预处理的逆操作处理,然后根据逆操作处理得到的数据对该异常数据进行修正。

一种可选实施方式下,若输入数据仅包括多个窗口数据,则该种实施方式下,则将该异常数据修正对该异常数据对应的预测值进行预处理的逆操作处理后得到的数据。

若输入数据包括多个窗口数据以及对应的逆序窗口数据,则该种实施方式下,根据该异常数据的预测值对该异常数据进行修正的过程可以是:获取该异常数据在窗口数据中的第一预测值,以及该异常数据在逆序窗口数据中的第二预测值;获取第一预测值和第二预测值的平均值;对平均值进行预处理的逆操作,并将该异常数据修正为对所述平均值进行所述预处理的逆操作处理后得到的数据。当然,也可以是先对第一预测值、第二预测值进行预处理的逆操作,然后再对逆操作处理后得到的2个数据求平均值,此时该平均值即为该异常数据的修正值。

若输入数据包括多个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据。则该种实施方式下,根据该异常数据的预测值对该异常数据进行修正的过程可以是:获取该异常数据在窗口数据中的第一预测值、该异常数据在逆序窗口数据中的第二预测值、该异常数据在取反窗口数据中的第三预测值,以及该异常数据在取反逆序窗口数据中的第四预测值;获取第一预测值、第二预测值、第三预测值、第四预测值的平均值;对平均值进行逆标准化处理,并将该异常数据修正为对平均值进行逆标准化处理后得到的数据。当然,也可以是先对第一预测值、第二预测值、第三预测值、第四预测值进行预处理的逆操作,然后再对逆操作处理后得到的4个数据求平均值,此时该平均值即为该异常数据的修正值。

其中,标准化的逆操作处理的公式为:x

基于同样的发明构思,本申请实施例还提供了一种模型训练方法,下面将结合图2对本申请实施例提供的模型训练方法进行说明。

步骤S201:获取传感器在不同时刻采集的并按照时间顺序排列的序列数据。

该步骤与上述步骤S101相同,为了避免累赘,此处不再对步骤S201进行介绍。

步骤S202:对所述序列数据进行预处理,所述预处理包括:标准化或归一化。

该步骤与上述步骤S102相同,为了避免累赘,此处不再对步骤S202进行介绍。

步骤S203:对所述预处理后的序列数据进行滑窗处理,得到训练数据集,所述训练数据集包括多个窗口数据。

该步骤与上述步骤S103相同,为了避免累赘,与步骤S103相同的部分此处不再介绍,详细部分请参阅上述步骤S103中相应内容。

需要说明的是,一种实施方式下,训练数据集除了包括多个窗口数据外,还包括多个窗口数据中每个窗口数据对应的逆序窗口数据。此时,对预处理后的序列数据进行滑窗处理,得到训练数据集的过程可以是:对预处理后的序列数据进行滑窗处理,得到多个窗口数据;将每个窗口数据进行逆序操作,得到包括多个窗口数据以及对应的逆序窗口数据的训练数据集。

一种实施方式下,训练数据集除了包括多个窗口数据以及对应的逆序窗口数据外,还包括每个窗口数据取反后的取反窗口数据以及每个逆序窗口数据取反后的取反逆序窗口数据。此时,对预处理后的序列数据进行滑窗处理,得到训练数据集的过程可以是:对预处理后的序列数据进行滑窗处理,得到多个窗口数据;将每个窗口数据进行逆序以及取反操作,得到各自对应的逆序窗口数据以及取反窗口数据,再对每个逆序窗口数据进行取反操作,得到各自对应的取反逆序窗口数据,从而得到包括多个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据的训练数据集。

步骤S204:利用所述训练数据集对VAE模型进行训练,得到训练好的用于传感器数据异常检测的VAE模型。

利用训练数据集对VAE模型进行训练,得到训练好的用于传感器数据异常检测的VAE模型。利用训练数据集对VAE模型进行训练,使VAE模型通过学习全部数据的信息,从而将输入的窗口数据按照学习到的信息转化成另一组与原数据尽量接近的数据输出。由于全部数据中大量数据都是正常值,所以新数据是按照学习到的正常数据信息进行转换的,整个过程中VAE的作用就是用学到的信息将数据转换成概率最大的新数据,然后便是异常值检测以及修正异常值。

在得到训练好的VAE模型后,输入窗口数据,便可得到多个窗口数据中的异常数据以及异常数据的预测值。其中,如何得到多个窗口数据中的异常数据的过程请参阅上述步骤S104的详细过程。

基于同样的发明构思,本申请实施例还提供了一种数据处理装置100,如图3所示,该数据处理装置100包括:获取模块110、预处理模块120、滑窗模块130、处理模块140。

获取模块110,用于获取传感器在不同时刻采集的并按照时间顺序排列的序列数据。可选地,获取模块110,具体用于:获取传感器在不同时刻采集的并按照时间顺序排列的初始序列数据;对所述初始序列数据中的异常值按照缺失值进行处理,得到所述序列数据。可选地,获取模块110,具体用于:若所述传感器采集的序列数据不为等时间间隔采样的序列数据,对所述传感器采集的序列数据进行重采样,获得等时间间隔采样的所述序列数据。

预处理模块120,用于对所述序列数据进行预处理,所述预处理包括标准化或归一化。

滑窗模块130,用于对所述预处理后的序列数据进行滑窗处理,得到多个窗口数据。可选地,滑窗模块130,具体用于:若所述预处理后的序列数据中的连续缺失值长度超过预设长度,则将所述预处理后的序列数据按超过所述预设长度的连续缺失值长度前后划分为多个子数据片段;对多个子数据片段中数据长度不小于滑动窗口大小的子数据片段中的缺失值进行插值补全处理;对插值补全处理后的子数据片段进行滑窗处理,得到所述多个窗口数据。

处理模块140,用于将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理,得到所述多个窗口数据中的异常数据以及异常数据的预测值;针对每一个异常数据,根据该异常数据的预测值对该异常数据进行修正。

可选地,处理模块140,具体用于:对所述多个窗口数据中的每个窗口数据进行逆序操作,得到各自对应的逆序窗口数据;将每个窗口数据以及对应的逆序窗口数据输入到所述VAE模型中进行处理,得到异常数据以及异常数据的预测值。处理模块140,具体用于:将每个窗口数据以及对应的逆序窗口数据输入到所述VAE模型中,输出每个窗口数据各自对应的预测窗口数据,以及每个逆序窗口数据对应的预测逆序窗口数据;针对数据编号不小于滑动窗口大小s的数据i,若该数据i在第i-s+1个预测窗口数据、第i个预测逆序窗口数据中各自的预测值与该数据的差值的绝对值均大于预设阈值,则该数据为异常数据。处理模块140,具体用于:获取该异常数据在窗口数据中的第一预测值,以及该异常数据在逆序窗口数据中的第二预测值;获取所述第一预测值和所述第二预测值的平均值;对所述平均值进行所述预处理的逆操作,并将该异常数据修正为对所述平均值进行所述预处理的逆操作处理后得到的数据。

若对所述序列数据进行标准化预处理,可选地,处理模块140,还用于:对每个窗口数据中的数据进行取反操作,得到对应的取反窗口数据;对每个窗口数据对应的逆序窗口数据中的数据进行取反操作,得到取反逆序窗口数据。相应地,处理模块140,具体用于:将每个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据输入到所述VAE模型中进行处理。处理模块140,具体用于:将每个窗口数据以及对应的逆序窗口数据、取反窗口数据、取反逆序窗口数据输入到所述VAE模型中,输出每个窗口数据各自对应的预测窗口数据、每个逆序窗口数据对应的预测逆序窗口数据、每个取反窗口数据各自对应的预测取反窗口数据,以及每个取反逆序窗口数据各自对应的预测取反逆序窗口数据;针对数据编号不小于滑动窗口大小s的数据i,若该数据i在第i-s+1个预测窗口数据、第i-s+1个预测取反窗口数据、第i个预测逆序窗口数据、第i个预测取反逆序窗口数据中各自的预测值与该数据的差值的绝对值均大于预设阈值,则该数据为异常数据。处理模块140,具体用于:获取该异常数据在窗口数据中的第一预测值、该异常数据在逆序窗口数据中的第二预测值、该异常数据在取反窗口数据中的第三预测值,以及该异常数据在取反逆序窗口数据中的第四预测值;获取所述第一预测值、所述第二预测值、所述第三预测值、所述第四预测值的平均值;对所述平均值进行逆标准化处理,并将该异常数据修正为对所述平均值进行逆标准化处理后得到的数据。

可选地,数据处理装置100还包括模型训练子装置。在将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理之前,模型训练子装置,用于:获取训练数据集,所述训练数据集包括多个窗口数据;利用所述训练数据集对初始VAE模型进行训练,得到所述VAE模型。述训练数据集还包括多个窗口数据中每个窗口数据进行逆序操作后得到的逆序窗口数据,模型训练子装置具体用于:获取传感器在不同时刻采集的并按照时间顺序排列的训练序列数据;对所述训练序列数据进行标准化或归一化预处理;对标准化或归一化预处理后的训练序列数据进行滑窗处理,得到多个窗口数据;将每个窗口数据进行逆序操作,得到所述训练数据集。

本申请实施例所提供的数据处理装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

基于同样的发明构思,本申请实施例还提供了一种模型训练装置200,如图4所示,该模型训练装置200包括:获取模块210、预处理模块220、滑窗模块230、训练模块240。

获取模块210,用于获取传感器在不同时刻采集的并按照时间顺序排列的序列数据。

预处理模块220,用于对所述序列数据进行预处理,所述预处理包括标准化或归一化。

滑窗模块230,用于对所述预处理后的序列数据进行滑窗处理,得到训练数据集,所述训练数据集包括多个窗口数据。

训练模块240,用于利用所述训练数据集对VAE模型进行训练,得到训练好的用于传感器数据异常检测的VAE模型。

本申请实施例所提供的模型训练装置200,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

如图5所示,图5示出了本申请实施例提供的一种的电子设备300的结构框图。所述电子设备300包括:收发器310、存储器320、通讯总线330以及处理器340。

所述收发器310、所述存储器320、处理器340各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线330或信号线实现电性连接。其中,收发器310用于收发数据。存储器320用于存储计算机程序,如存储有图3或图4中所示的软件功能模块,即图3中的数据处理装置100或图4中的模型训练装置200。其中,数据处理装置100或模型训练装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器320中或固化在所述电子设备300的操作系统(operating system,OS)中的软件功能模块。所述处理器340,用于执行存储器320中存储的可执行模块,例如数据处理装置100包括的软件功能模块或计算机程序。例如,处理器340,用于:获取传感器在不同时刻采集的并按照时间顺序排列的序列数据;对所述序列数据进行预处理,所述预处理包括标准化或归一化;对所述预处理后的序列数据进行滑窗处理,得到多个窗口数据;将所述多个窗口数据输入到预先训练好的用于数据异常检测的VAE模型中进行处理,得到所述多个窗口数据中的异常数据以及异常数据的预测值;针对每一个异常数据,根据该异常数据的预测值对该异常数据进行修正。

处理器340,用于执行模型训练装置200包括的软件功能模块或计算机程序。例如,处理器340,用于:获取传感器在不同时刻采集的并按照时间顺序排列的序列数据;对所述序列数据进行预处理,所述预处理包括:标准化或归一化;对所述预处理后的序列数据进行滑窗处理,得到训练数据集,所述训练数据集包括多个窗口数据;利用所述训练数据集对VAE模型进行训练,得到训练好的用于传感器数据异常检测的VAE模型。

其中,存储器320可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。

处理器340可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit, CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器340也可以是任何常规的处理器等。

其中,上述的电子设备300,包括但不限于计算机、服务器等。

本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备300运行时,执行上述所示的数据处理方法或模型训练方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种数据处理方法、模型训练方法、装置及电子设备
  • 一种模型训练方法、数据处理方法、装置及电子设备
技术分类

06120112940177