1.一种基于并行Kalman算法的数据流异常检测方法,其特征在于,包含以下步骤:
步骤一:获取一段传感器的测量数据,主要为实时水位测量值;
步骤二:将传感器当前的测量值与前一段时间的测量值进行比较,判断测量值是否稳定无变化;如果测量值在一段时间内没有变化,那就将数据进行概要提取,然后将数据存入数据库;如果测量值与前一段时间的数据有一个不同,那就进入步骤三;
步骤三:将步骤二中的测量值通过Kalman算法计算出估计值,并将估计值与测量值之间差的绝对值与给定的阈值进行比较,如果小于阀值则判定为正常值并进行概要提前然后存入数据库,反之判定为异常值并进入步骤四;
步骤四:根据传感器前一段时间的测量值计算时间影响因子,如果时间影响因子小于阈值,则判定为错误值,异常类型为单值异常,然后记录并修正替换异常值然后存入数据库,否则进入步骤五;
步骤五:根据与传感器位置相关联的传感器的测量值计算空间影响因子,如果空间影响因子小于阈值,则判定为错误值,异常类型为单个传感器连续异常,记录异常并修正然后存入数据库,根据传感器状态处理,否则进入步骤六;
步骤六:根据包括汛期、天气和人为因素的其他影响异常检测的因素来判定该异常值的产生原因,异常类型为多个传感器连续异常,最后将该异常值的异常原因进行记录并将信息存放到数据库中。
2.根据权利要求1所述的一种基于并行Kalman算法的数据流异常检测方法,其特征在于,所述步骤三中利用Kalman算法计算出估计值,并将估计值与测量值之间的差值与给定阈值进行比较判断的具体操作步骤如下:
步骤3.1:输入初始状态估计值、初始均方误差估计值和初始协方差;
步骤3.2:对当前时刻之前的一段测量数据使用小波变换对数据进行分解,将系数小于阈值的高频部分提取出来作为测量的噪声,得到一个测量值;
步骤3.3:对这段时间内的测量值加上一个与时间相关的权值;
步骤3.4:根据上一时刻的测量值预估当前时刻的测量值,再根据当前时刻的测量值来实时地修正状态估计,将更新测量噪声、预测任务和修正任务三个任务进行并行化处理,综合计算得到一个估计值;
步骤3.5:将步骤3.1与步骤3.3得到的计算结果进行估计值与测量值差的判断,如果估计值与测量值差的绝对值大于阈值,进入步骤四;否则判定为正常值。
3.根据权利要求1所述的一种基于并行Kalman算法的数据流异常检测方法,其特征在于,所述步骤3.4中更新测量噪声、预测任务和修正任务三个任务进行并行化处理,并最后综合计算得到一个估计值的具体步骤如下:
3.4.1:更新测量噪声
对长度为L的测量值序列进行小波分解,输入数量为L的测量值y(t-L-1)、y(t-L)、…、y(t-1),而输出为t时刻的测量噪声的协方差Qw(t);其中更新测量噪声的公式为:
QW(t-1)=Ew(t-1)wT(t-1)
其中,小波提取噪声的过程为:w(t-1)=WaveDec(y(t-1));
然后加入遗忘因子:
Qw(t-1)=(1-λt)Qw(t-1)+λt[w(t-1)wT(t-1)-C(t-1)P(t|t-1)CT(t-1)]
其中,λt=(1-λ)/(1-λt),并且0<λ<1;
3.4.2:预测任务
预测环节的任务是计算状态估计和均方误差估计;因此预测任务的输入是t-1时刻的状态估计值和t-1时刻的误差估计值P(t-1),而输出是t时刻的状态预估以及t时刻的误差预估P(t|t-1);
计算一步状态估计:
计算一步均方误差估计:
P(t|t-1)=F(t-1)P(t-1)FT(t-1)+Qv(t-1)
其中,Qv(t-1)为t-1时刻的系统噪声方差,这里的Qv(t)是不变的;
3.4.3:修正任务
修正任务主要是计算Kalman滤波增益,然后根据Kalman增益和测量值来修正状态估计和误差估计;在修正环节中的输入为t时刻的误差预估P(t|t-1)、t-1时刻的测量噪声方差Qw(t-1)、t时刻的状态预估以及t时刻的测量值y(t),而输出为t时刻的状态估计和t时刻的误差估计P(t);
根据均方误差估计,计算滤波增益:
根据一步状态估计和滤波增益,更新状态估计:
更新均方误差:
P(t)=[1-K(t)C(t-1)]P(t|t-1)
3.4.4:综合计算测量估计值:
4.根据权利要求1至3之一所述的一种基于并行Kalman算法的数据流异常检测方法,其特征在于,所述步骤四中计算时间影响因子的方法如下:
其中:λt(t)为t时刻的时间维度影响因子,yi(t-j)为t-j时刻节点i的测量值,为t-j时刻节点i的预估值。
5.根据权利要求4所述的一种基于并行Kalman算法的数据流异常检测方法,其特征在于,所述步骤五中计算空间影响因子的方法如下:
其中:λs(t)为t时刻的空间维度影响因子,yi(t)为t时刻节点i的测量值,为t时刻节点i的预估值。
6.根据权利要求1所述的一种基于并行Kalman算法的数据流异常检测方法,其特征在于,所述步骤六中的其他影响异常检测的因素主要为汛期,其中汛期影响因子的计算方法如下:
其中:λf(t)为t时刻的汛期影响因子;N、M分别为非汛期时段和汛期时段的采样数;PN,t、PM,t分别为非汛期时段和汛期时段的t时刻采样水位值。