对传感器测量结果的基于熵的证实的制作方法

文档序号:11583074阅读:242来源:国知局
对传感器测量结果的基于熵的证实的制造方法与工艺

本发明涉及对技术设备中测量信号的证实,该技术设备比如是具有用于压力、电压、电流等的多个传感器的能量生成设备。特别地,本发明涉及一种用于检测传感器测量结果的两个或更多个数据流中的依赖性的方法、涉及一种电子模块以及涉及一种计算机程序。

用于技术值(比如电压、电流、压力等)的传感器通常用在大规模无线传感器网络(wsn)中。传感器网络可以用于远程监控技术设备和工业工厂。这种进步已经刺激了对于对高维流送数据起作用的过程和应用的需要。流送数据分析涉及其中在信息的无限制的流中处理记录的应用。该类型的数据的性质和量使传统的批量学习极其困难,且自然地适合于在数据上以一遍(即,以在线方式)起作用的算法。为了实现从批量到在线算法的转变,基于窗口的和增量的算法是流行的,常常有利于在确切结果上的启发法。

代替于仅仅依赖于单流统计来例如检测异常或找到数据中的模式,本发明涉及其中许多传感器被用于极为靠近地监控或监控密切有关的现象(例如,在空间上极为靠近的温度传感器或大型涡轮机中的电压和转子速度传感器)的环境。

在现有技术中,已知若干途径以检测成对相关性或数据流的对或组之间的依赖性。成对相关性的最佳已知指示符是皮尔逊(pearson)的相关性系数ρ,其实质上是两个随机变量之间的归一化协方差。然而,对ρ的直接计算是过分昂贵的,并且更成问题的是,它仅仅是线性关系或经线性变换的关系的合适指示符。时间序列中的非线性已经在某种程度上被研究且可能例如由于方差中的移位或仅在底层过程由非线性函数确定的情况下发生。

因此,本发明的目的是提供减少传感器信号测量结果中的误差的选项。此外,传感器数据分析应当被加速且应当特别地以线性执行时间而可执行。

根据第一方面,本发明涉及一种用于检测被记录在技术设备上、特别是能量生成设备中的传感器测量结果的至少两个数据流的依赖性的方法。所述方法包括以下步骤:

-捕获传感器数据的流;

-定义具有滑动窗口的形式的用于分析的数据结构,所述滑动窗口在传感器数据的相应流上增量地移动,使得在相继的窗口之间存在重叠。优选地,在某个时间阶段内并行地在传感器数据的所有流上移动窗口。

-在滑动窗口内的数据上应用基于熵的算法以用于计算数据流依赖性,而同时增量地移动滑动窗口,其中滑动窗口中的仅更新的数据由基于熵的算法处理。

数据流是传感器信号测量数据的序列。所述序列可以是数字或其它值或者数字或模拟信号的序列。通常,并行处理多个数据流。特别地,至少两个流被比较,并且所有流可以成对地被比较。数据流可以是直接从传感器捕获的或者可以是从存储器储存器读入的。

滑动窗口是一种数据结构,其在数据流上虚拟地移动。滑动窗口可以被理解为具有可配置的长度或宽度且包括一定量的数或数字的数据集。窗口在所有流上并行地移动并包含来自从指定长度的时间段来的所有流的数据。

传感器信号可以源于能量生成设备或其部分(比如涡轮机)或源于其它技术设备。传感器信号可以是指温度、压力、电压、电流、电阻等的测量结果,且通常被表示为实数但可以被分类地表示(例如“高”、“低”、“正常”、“安全”、“不安全”等)。

基于熵的算法基于相应数据流的互信息。

在优选的实施例中,滑动窗口的宽度在配置阶段中被配置。配置阶段在算法的执行时间之前被执行且服务于定义可配置的参数。

在另一优选的实施例中,所述方法是实时地执行的。这意味着利用每新数据恒定量的处理步骤来执行所述方法:

-用于数据的离散化(至少针对具有在线离散化的本发明的omid实施例)

-用于更新概率分布

-用于计算依赖性评分,

-其中以上提及的相应步骤构建在彼此上。

在另一优选的实施例中,在输出设备上提供结果,所述结果表示在传感器数据流之间是否存在依赖性以及如果是则依赖性是否被正确地表示。结果可以以图形方式被表示,特别是以基于直方图的格式。

通常,所述方法用于检测数据流中的误差和/或相关性。

优选地,滑动窗口的宽度被配置,诸如,提供相继窗口之间的最小重叠。

作为优势,待分析的相应数据流可以包括连续和/或离散的数据。

在本发明的实施例——所谓的mid实施例中,数据流的依赖性以逐窗口的方式被计算。优选地,该实施例被用作所谓的omid实施例(参见下文)内的中间步骤。在mid途径中,离散化仅仅基于相应窗口内的、在相应时间点处已知的数据。该实施例允许增量处理。在该所谓的mid实施例中,值的离散化可以随窗口而改变。因此,有必要为每个窗口重新计算熵。

在本发明的更优选的实施例——所谓的omid实施例中,数据流的依赖性以增量的方式并且——特别地——借助于在线离散化而被计算。在这方面,术语“在线”是指在没有传感器数据的整个数据流的在先知识的情况下的离散化。换言之,传感器数据可以以在线方式从传感器读入。在该实施例中,用于处理互信息的算法被适配成omid,所述omid是用以检测数据流之间的依赖性的便利的全局度量。在该所谓的omid实施例中,仅针对更新的窗口数据的新增量而处理熵,而在以上提及的mid实施例中,总是针对窗口中的所有数据而处理熵。

根据另一方面,本发明涉及一种用于检测被记录在技术设备上、特别是能量生成设备中的传感器测量结果的至少两个数据流的依赖性的电子模块,包括:

-输入接口,其被适配用于从传感器捕获传感器数据的流;

-具有滑动窗口的形式的用于分析的数据结构,所述滑动窗口在传感器数据的相应流上增量地移动,使得在相继的窗口之间存在重叠;以及

-处理器,其被适配成在滑动窗口内的数据上应用基于熵的算法以用于计算数据流依赖性,而同时增量地移动滑动窗口,其中滑动窗口中的仅更新的数据由基于熵的算法处理。

在另一方面中,本发明涉及一种有形地体现机器可读指令的程序的计算机程序产品,所述程序可由数字处理装置执行以便在所述程序在所述数字处理装置上执行的情况下执行根据前述权利要求之一的方法。

算法利用传感器对之间的信息(其在某种意义上是冗余的或更确切地说是共享的信息)来证实测量结果。手头的任务于是变成可靠且高效地计算和报告数据流的对或组之间的依赖性。根据本发明,可以检测不寻常的传感器读数。有可能在其中这些读数一方面由于所监控的系统中的实际改变所致或另一方面由于测量不确定性所致的情况之间进行区分。

算法用于基于时间序列之间的互信息来检测高容量和高维数据流中的依赖性。本途径的三重优势是:互信息捕获全局依赖性,在算法上适合于以增量方式计算,且能够被高效地计算以应对高数据容量而无需近似捷径。这导致计算起来显著更快且同时更精确的依赖性度量。

在另一方面中,本发明涉及一种体现机器可读指令的程序的有形性,所述程序可由数字处理装置、比如计算机执行以执行用于检测源于技术设备的两个或更多个传感器数据流中的依赖性的方法。所述程序可以被存储在计算机可读介质上。

附图说明

图1示出了针对数据流的互信息的成对计算和滑动窗口的示意性表示,其中窗口大小w=5并且|s|=3。

图2示出了ol数据集上的roc曲线下方的区域;并且

图3示出了ol数据集上的f1值,其中被虚线分离的区域示出期望相关性的不同水平处的性能。

图4表示pa数据集上的roc曲线下方的区域;并且

图5示出了pa数据集上的f1值,其中被虚线分离的区域示出期望相关性的不同水平处的性能。

图6表示na数据集上的roc曲线下方的区域;并且

图7示出了na数据集上的f1值,其中被虚线分离的区域示出期望相关性的不同水平处的性能。

图8表示在5个运行上平均的执行时间,其中在(从左到右)ol、pa、na数据集上有增大的窗口长度。

图9是算法i/mid和算法ii/omid的正式化的概念。

图10是根据本发明的实施例的具有相应模块的框图;并且

图11是示出了用于不同相关性检测算法的处理时间的图。

具体实施方式

{dionisio2004}主张,互信息是随机变量之间的依赖性的实际度量,其与线性相关性系数直接可比,但具有以下附加优势:在没有底层理论概率分布或均值-方差模型的知识的情况下以线性和非线性关系为目标捕获全局依赖性。

statstream{zhu2002}和peaksimilarity{seliniotaki2014}是监控流相关性的算法。二者都采用离散傅里叶变换(dft)的变体以基于dft的数据压缩质量来检测相似性。更具体地,它们利用:dft将时间序列的信息内容中的大多数压缩在少数系数中,并在这些系数上开发相似性度量。statstream还使用散列法来减少执行时间。

根据本发明的算法基于互信息。算法的准确性和执行时间与基于dft的度量和相关性系数相比。

互信息

互信息是源自香农(shannon)信息论的构思,且可以被认为是一个变量根据另一个变量的可预测性。针对算法而利用其性质中的一些。由于数学方面是相当众所周知的且例如在别处被广泛地描述,所以仅基本背景和所需的概念将在此处被提及。

变量x和y之间的互信息被定义为:

或者等同地被定义为香农熵h(x)和条件熵h(x|y)之间的差:

香农熵和条件熵被定义为:

i(x;y)被限制在0和max(h(x),h(y))=log(max(|x|,|y|))之间,因此我们可以定义归一化的,其在x和y相互独立的情况下变成0且在x可以根据y而被预测且反之亦然的情况下变成1。这使它与相关性系数容易可比,且还形成恰当的度量。

接下来,我们想要为时间t处的流的对而计算。流表示没有开始或结束的测量序列,因此我们添加索引来表示来自从时间t到t+w-1(即,长度w的窗口)的流si的测量结果。在索引从上下文中清楚的情况下,我们将丢弃这些索引。那么,我们的目标是高效地计算针对观察时段中的所有点t的流依赖性dt。

图1展示了具有三个维度的流的基本窗口途径。

更新互信息

为了将互信息整合到流送算法中,我们利用dt和dt+1之间的重叠。我们隐式地假定为1的步长k,其意味着:我们以可能的最小增量移动窗口以实现最佳分辨率。在一些情况下,可能期望更大的步长,但相同的原理一般适用,只要相继窗口之间的重叠较大或即可。

从等式1中我们立即看到,对于dt的计算,我们仅需要针对每对(si,sj)的概率p(x,y)以及针对n个流si的p(x)。此外,一旦我们从时间t移动一个时间步到t+1,我们就能够从dt更新dt+1,这是因为大多数所涉及的概率以及由此在必要的总和中的大多数项保持恒定。随着数据上的窗口继续移动,过时的元素mt掉落出并且新的元素mt+w+1进入。针对每个流的概率p(mt)和p(mt+w+1)以及相应的联合概率需要被调整成p'(mt)等,其在恒定时间中完成。

例如,对于特定的对sit+1、sjt+1,我们已经知道或等同地,这是因为我们仅对可变项(参见等式2)感兴趣。不是从头开始重新计算,而是我们定义

并使用

并同样地定义

并在条件熵求和中更新所有联合概率

与等式6相比,我们摆脱了双重和,这将昂贵的对数运算的次数从二次减少至线性(分别在si和sj的样本空间的大小方面)。此外,在实践中,∆(m)和∆(m,n)合意地常常等于零,从而进一步减少所需的运算次数。总而言之,我们将时间复杂度降低至,其中

,具有空间复杂度来存储概率分布。

概率分布函数(pdf)的在线估计

为了确定我们需要以计算熵和互信息的(经验)概率分布函数,剩下两个问题。首先,数据流常常包含名义事件数据和真实值二者。因此,我们的模型需要应对连续和离散的数据类型二者。其次,单流值和联合概率二者的底层分布通常未知且必须根据数据而估计。

存在用公式表示概率分布估计的三种基本途径:参数方法、基于内核的方法和分仓(binning)。参数方法需要对随机过程的特定假定,并且基于内核的方法具有大量的可调谐参数,其中明智的选择是困难的并且调整不善将导致偏置或错误的结果。{dionisio2004}分仓或基于直方图的估计器因此是对于连续数据而言更安全且更可行的选择,其已经被很好地研究,且自然适合于离散数据。它们已经令人信服地被用在不同应用中。{dionisio2004}量化、观察的有限数目和直方图的有限界限——依赖于特定的应用——可能导致偏置的结果。然而,{dionisio2004}主张,既等距又等概率的分仓导致互信息的一致估计器。

在两种基本的离散化方式(等宽度或等频率)中,等宽度的分仓执行起来在算法上略微更容易,这是因为仅有必要保持跟踪当前最小值和最大值。等频率的分仓需要更多努力,但已经被示出为用于互信息的更好估计器。我们在分离的实验集中对此进行了确认并因此将等频率的分仓用于我们的度量。

对于我们的算法,我们可以在逐窗口的基础上离散化,或采用在线离散器。对于后者,我们选择pid。逐窗口的离散化向我们给出对数据的局部视图,这是因为它仅依赖于窗口中的数据的性质,但也限于当前可用的数据。另一方面,在线离散化结合测量结果上的先前知识,即,到目前为止所见的分布的全局密度。

常规的等频率离散化对所有值进行分类并将它们划分在相等大小的仓中。那对于当前窗口、流的局部区段而言是合理的,但对于整个流而言显然不可能。立即离散化和对数据上以单遍进行的分布的全局视图利用在线离散化步骤而实现。给线性运行时间带来直方图边界,具有在内的误差,其中b表示仓的期望数目,l是常量,并且r是随机变量的范围。我们在此处给出简短的概览,且针对更多细节而参考我们使用过的在线离散化。pid离散化与两组直方图一起起作用。不可见的操作直方图记录数据;第二可见层用作最终的直方图。每个所观察的值更新后台记录。无论何时仓达到用户定义的阈值(到目前为止所见的总点数的百分比),拆分算子都触发生成新区间。更新后台直方图的过程在线起作用,从而执行数据流上的单次扫描。它在恒定的时间和空间中处理每个示例。

我们因此具有两个变体来计算,这依赖于你针对离散化的选择:在线的或逐窗口的离散化。我们将逐窗口离散化情况下的称为mid——互信息依赖性,并将在线离散化情况下的称为omid,omid代表在线互信息依赖性。

基于窗口的离散化可能改变窗口中的直方图边界,且因此改变每一步处的底层经验概率分布。它保证了针对当前窗口的正确边界,但必须利用每一个窗口中的每个值而重新计算。与omid一起使用的离散化不太精确,但在当前窗口之外是稳定的(每个值被指派到独立于窗口位置的相同仓),这允许在(上面的)“更新互信息”章节中描述的更新过程。这意味着针对mid的更大准确性和针对omid的更好运行时间。我们在(下面的)“实验评估”章节中评估和比较这两种变体的实际结果。

图9以抽象概念语言(即,以伪代码)示出了两种算法mid和omid。

实验评估

我们对照用于流相关性监控的两种其它算法且在三个数据集上评估mid和omid。针对个体数据集的结果在图2至7中被示出。表i和ii示出了将方法与彼此比较的概览。

数据集

我们使用三个数据集来评估具有不同数目的时间步和维度的我们的算法,范围从总计32.000到830万个测量结果。它们已经用于一致地仿真高容量数据流并允许方法的比较。

nasdaq(na)包含来自2014年和2015年的100个股市指数的每日进程信息,其中总计有320天内的600个指示符(包括例如开放和高的进程或交易量)。

personalactivity(pa)是运动捕获的数据集,其中若干传感器已经被置于四处移动的五个人身上。传感器记录他们的三维位置。该数据集包含各自来自5.255个时间步的75个数据点。

office(ol)是由berkley研究实验室给出的数据集,其从被置于实验室办公室中的传感器收集了关于温度、湿度、光和电压的数据。我们使用32个传感器的子集,这是因为在集合中存在大的间隙。子集仍包含已利用缺失值指示符填入的一些间隙。总共,这些数据集包含65.537个时间步上的128个测量结果。

实验设置

窗口大小w确定我们感兴趣的相关性的尺度且最后必须由用户选择。出于该评估的目的,我们针对传感器数据集将它设置成等同于30秒且针对股市数据集将它设置成等同于4周。用于离散化的仓的数目b需要足够小以避免直方图中的单元集,但需要足够大以映射数据分布。作为折衷,我们针对实验而选择了b=20。我们计算每个维度与每个其它维度(例如,电压与温度)的依赖性。因此,对于数据集或者在n个步以及d个维度的情况下,我们计算依赖性评分。利用标准双侧t-测试来确定统计显著性。

评估准则

我们选择了在从弱到强相关性的六个相关性水平处评估我们的算法,其中我们将分别具有处于0.66、0.75、0.85、0.9、0.95和0.99以上的相关性系数的经窗口化的流对视为感兴趣的。因此,我们将每一个窗口分类为0或1。对于每一个水平,我们提供roc曲线下方的区域作为分类度量,其独立于数据集中真阳性的数目。该数目自然随期望的相关性水平而变化。此外,我们报告沿针对每个算法的精确率召回率曲线的最大f1度量,即,精确率和召回率的调和均值。

结果

图2至7示出了针对这三个数据集的f1度量(±标准差)和auc(±标准差)。已经通过向每对流窗口分配均匀地从[0,1]中选为依赖性度量的随机值来确定随机。

下表1示出了所有数据集的直接概览:数字指示24个实验中行相对于列的auc中的显著改善(双侧t-测试中p值<0.1)。omid评分总计51:

所有数据集的直接概览:数字指示24个实验中行相对于列的auc中的显著改善(双侧t-测试中p值<0.1)。omid评分总计51。

下表ii示出了所有数据集的直接概览:数字指示24个实验中行相对于列的f1值中的显著改善(双侧t-测试中p值<0.1)。mid和omid评分各自40赢。

考虑到roc曲线下方的区域,我们看到我们的以基于窗口的版本存在的方法清楚地在除一个外的所有数据集中胜过其它相关性度量。通常,等频率分仓显得更好,但具有仅一个值的集群使直方图边界偏斜向具有极少信息的一个大仓和若干单元集仓。在该情况下,就这一次,等宽度分仓更好地应对偏斜并实现与增量度量(未示出)可比的结果。增量分仓自身也很好地应对缺失的值,这是因为直方图边界并不强烈依赖于局部集群(参见3)。

增量版本omid由于在分仓中不可避免的精确率损失而在直接与mid相比时一般表现得并不同样好,但仍远胜于基于dft的度量。在36个情况中的24个和36个中,mid和omid相比于基于dft的度量而有所改善。基于窗口的度量和增量度量之间的差异在所有18个情况中在统计上显著(双侧t-测试中p值<0.05),6个情况有利于omid,12个情况有利于mid,但对于omid有总体最佳性能。表1示出了针对auc的成对比较的完全矩阵。

f1值示出了类似的图景:在所有三个数据集中,omid相比于其它方法而有所改善。再一次,我们看到执行omid与mid不相上下且分别在36个情况中的30个和28个中二者都胜过基于dft的方法。表ii示出了针对f1值的成对比较的完全矩阵。

总而言之,尽管我们预期了由于轻微波动的离散化所致的某种劣化,但是omid表现得与mid等同地好,且在应对异常(比如数据中的缺失值)时甚至经证明更好。作为对于相关性系数的代理,二者都比基于dft的方法显著更好地起作用。令我们惊讶的是,两种基于dft的度量在一些数据集中表现得勉强优于随机。

执行时间

所有实验已经在具有intelxeon1.80ghzcpu和消费者等级硬件、运行具有当前64位内核的linux且以python3.4实现的pc上执行。图8示出了在不同相关性度量的5次运行上的执行时间。

考虑到成对依赖性的数目逐渐变为所监控的维度的数目中的二次,那么计算速度是应对高维数据的要素。清楚地,相关性系数的直接计算对于大数据集以及窗口内的较高数据容量而言不具竞争性。mid显得大约与peaksim和statstream不相上下。最快的度量是增量版本omid,这是由于窗口大小仅通过计算中的开销(例如,通过减缓计算的较少零概率)间接地影响计算时间。

结论

本发明涉及一种用于检测传感器数据的多个数据流中的依赖性的高效方法,其在图10中被示意性地表示。

传感器测量结果被记录在技术设备20上,特别是能量生成设备中。电子模块包括输入接口1,输入接口1被适配用于从技术能量设备20的不同传感器s1、s2、s3、……捕获传感器数据的流。设备20还可以分布在若干工厂和实体上。以滑动窗口的形式提供用于分析的数据结构10,该滑动窗口在传感器数据的相应流上增量地移动,使得在滑动窗口中相继的窗口之间存在重叠。处理器p,其被适配成在滑动窗口内的数据上应用基于熵的算法以用于计算数据流依赖性,而同时增量地移动滑动窗口,其中滑动窗口中的仅更新的数据由基于熵的算法(omid)处理。传感器数据之间的所检测的依赖性和/或相关性的结果被转发到输出接口2,且可以以基于直方图的方式在显示设备m上显示。处理器p可以连接到储存介质mem。

图11示出了针对用于检测相关性的不同方法的处理时间。最顶部的黑线示出了相关性系数的朴素处理,而最下部的虚线示出了根据本发明的互信息的计算,并且其它三条线示出了每个不同计算和近似。曲线图示出了与以秒为单位的处理时间(在y坐标上)相比的增大的窗口长度和粒度(在x坐标上)。

我们将互信息、来自信息论的构思开发成一种可有助于评估传感器读数或其它流送数据的度量。我们描述了增量算法来以与数据流的长度呈线性的时间复杂度计算我们的基于互信息的度量。利用合适的在线离散化来实现线性执行时间。我们在具有高达830万个记录的三个真实生活数据集上且对照用以检测数据流中的相关性的两种其它算法评估了我们的算法。它与可比的非增量版本一样准确且在应对数据中的局部间隙时甚至更好。

在另外的实施例中,将针对来自成对的依赖性的搜索扩展到3个或更多个流的组可以是可能的,这提高了计算复杂度但带来了将分析扩展到基于熵的自组织群集的潜力。互信息给流分析带来不同的视角,其独立于关于数据流的分布或数据流之间的关系的假定。

文献:

dionisio2004--

a.dionisio,r.menezes和d.a.mendes,“mutualinformation:ameasureofdependencyfornonlineartimeseries”physicaa:statisticalmechanicsanditsapplications,vol.344,no.1,pp.326-329,2004.

seliniotaki2014--

a.seliniotaki,g.tzagkarakis,v.christofides和p.tsakalides,“streamcorrelationmonitoringforuncertainty-awaredataprocessingsystems”于信息、智能、系统和应用,iisa2014,第5届关于ieee的国际会议,2014,pp.342-347中.

zhu2002--

y.zhu和d.shasha,“statstream:statisticalmonitoringofthousandsofdatastreamsinrealtime”在第28届关于非常大数据库的国际会议的会刊中.vldb资助,2002,pp.358-369。

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