一种跳过平稳区域的流数据异常检测方法转让专利
申请号 : CN202110137315.0
文献号 : CN112765219B
文献日 : 2022-04-29
发明人 : 高杨 , 景强 , 李书亮 , 段明江 , 刘现林 , 陆逸诚
申请人 : 浙江大学 , 港珠澳大桥管理局
摘要 :
权利要求 :
1.一种跳过平稳区域的流数据异常检测方法,其特征在于,该方法包括以下步骤:(1)数据预处理:从桥梁健康监测系统传感器中实时采集数据,根据系统采样频率和需要不同选择若干个采样时间间隔为一个窗口,将所述窗口中的数据进行缺失值补全、归一d
化操作,得到数据空间X;
d
(2)划分网格单元:将步骤(1)得到的数据空间X 分为对角线长度为θR的d维网格单元,所述网格单元包含非空网格单元
prep
(3)更新数据分布:窗口滑动时,记窗口滑动前的权重分布网格为G ,记录消失在窗口中的消失数据点集合Sexp,同时记录新出现的新数据点集合Snew,将{
网格G 加上净变权重分布网格ΔG可得到当前权重分布网格G ;
curr
(4)跳过平稳区域:遍历当前权重分布网格G 的中心坐标kci,计算数据点x与中心坐标kci的距离,取θK个最近的kci组成θK最近邻核中心集合KC(x),遍历净变权重分布网格ΔG中的
curr
每次窗口滑动时重复计算当前权重分布网格G 中核中心kci的局部密度累积误差;当核中心kci局部密度累积误差E(kci)大于误差容许阈值时,更新该核中心所在网格单元中所有数据点x的局部可达密度和局部异常因子,更新数据点x的局部可达密度和局部异常因子时,找出包含数据点x的θK最近邻数据点的非空网格单元,再遍历该非空网格单元中的数据点,估计出数据点x的第θK距离邻域 对 中的所有数据点y计算出y的第θK距离θK_dist(y),则y到x的局部可达距离为 得到局部可达密度 和局部异常因子
并记录每个非空网格单元内最小局部异常因子LOFmin(x)及最大局部异常因子LOFmax(x);其中 是x的θK最近邻数据点的个数;
curr curr
(5)异常检测:设初始候选网格单元Gcand为空,用G ‑Gcand表示G 中除去存在于Gcandcurr
中的非空网格单元集合,遍历G ‑Gcand中的非空网格单元
网格单元的权重之和大于等于n且该非空网格单元最小局部异常因子LOFmin(x)大于G ‑curr
Gcand中最大局部异常因子LOFmax(x),则输出当前Gcand;否则将当前G ‑Gcand中的非空网格单元
一非空网格单元,否则比较当前Gcand最小局部异常因子LOFmin(x)是否大于G ‑Gcand中最大局部异常因子LOFmax(x),若是则继续遍历下一非空网格单元,若不是则不将
说明书 :
一种跳过平稳区域的流数据异常检测方法
技术领域
背景技术
测桥梁的健康状态,大量的传感器装置和超高频的数据传输使得需要采集和处理的数据呈
指数级地增长,极大地增加了异常检测时间复杂度和所需计算资源,同时也增加了准确检
测出异常点的难度。
依旧十分庞大。基于密度的异常检测算法在窗口切换过程中,需要对窗口内所有数据点的
2
密度进行更新,而这一操作的最坏时间复杂度高达O(n),其中n为数据点个数。这不仅需要
大量的计算资源,还会影响异常检测的时效性,导致错过采取措施应对风险的最佳时机。因
此,为确保桥梁健康监测系统能及时准确地识别出异常数据以便于相关专业人员采取措
施、应对风险,维持桥梁的健康安全,提出一种具有高准确率和高时效性的流数据异常检测
算法具有重要的现实意义。
发明内容
理大量流数据的难题,使桥梁健康监测系统能高效准确地识别异常数据,以便维护桥梁的
健康安全。
d
归一化操作,得到数据空间X;
个非空网格单元的权重,kci表示第i个非空网格单元的中心坐标;将非空网格单元集合{<
kci,wi>|i=1,…,m}作为权重分布网格G;其中,m表示非空网格单元的个数;θR为不同场景
下非空网格单元个数与窗口中数据点数量之比;
1,...,m}分别作为第一分布网格Gexp和第二分布网格Gnew,对于第一分布网格Gexp遍历消失
数据点集合Sexp,将消失数据点集合Sexp中的每一个数据点加入到对应的非空网格单元,并
记录其权重,更新第一分布网格Gexp;对于第二分布网格Gnew遍历新数据点集合Snew,将新数
据点集合Snew中的每一个数据点加入到对应的非空网格单元,并记录其权重,更新第二分布
网格Gnew,随后将更新的第二分布网格Gnew和更新的第一分布网格Gexp对应非空网格单元的
权重作差,将{
prep curr
分布网格G 加上净变权重分布网格ΔG可得到当前权重分布网格G ;
格ΔG中的
所述数据点x与其的第θK最近邻核中心 的欧氏距离时,将满足上述条件的kci对应的Δwi
组成集合ΔWt(x);则数据点x的局部密度累积误差为:
所有数据点x的局部可达密度和局部异常因子,更新数据点x的局部可达密度和局部异常因子
时,找出包含数据点x的θK最近邻数据点的非空网格单元,再遍历该非空网格单元中的数据点,
估计出数据点x的第θK距离邻域 对 中的所有数据点y计算出y的第θK距离θK_
dist(y),则y到x的局部可达距离为 得到局
部可达密度 和局部异常因子
并记录每个非空网格单元内最小局部异常因子LOFmin(x)及最大局部异常因子LOFmax(x);其
中 是x的θK最近邻数据点的个数;
Gcand中的非空网格单元集合,遍历G ‑Gcand中的非空网格单元
非空网格单元的权重之和大于等于n且该非空网格单元最小局部异常因子LOFmin(x)大于
curr curr
G ‑Gcand中最大局部异常因子LOFmax(x),则输出当前Gcand;否则将当前G ‑Gcand中的非空
网格单元
curr
历下一非空网格单元,否则比较当前Gcand最小局部异常因子LOFmin(x)是否大于G ‑Gcand中
最大局部异常因子LOFmax(x),若是则继续遍历下一非空网格单元,若不是则不将
入到Gcand且继续遍历下一非空网格单元;通过上述过程得到Gcand,再Gcand中所有数据点的局
部异常因子由大到小进行排序,选出前n个异常数据点。
误差来选择性的更新数据局部密度。因为异常数据往往是少数部分,大多区域的数据密度
在连续窗口中较为稳定,极大地减少计算量,提高异常检测效率而且不会影响检测准确率。
除此之外,在更新过程中仅将包含有数据点的θK最近邻数据点的区域用于计算局部异常因
子,避免遍历整个数据空间的数据点,进一步的缩减计算量,从而提高效率。本发明以桥梁
健康监测系统为应用背景,提出了一种高效准确的流数据异常检测方法,解决了现有异常
检测方法在处理爆发式流数据时无法保证准确率和时效性的难题。
附图说明
具体实施方式
权重,结合非空网格单元中心坐标kci来表示非空网格单元。在窗口滑动过程中,以非空网
格单元的权重累积净变作为区域内数据密度变化程度的度量,跳过更新相对平稳数据区域
中数据点的局部可达密度和局部异常因子。在需要更新的区域内,仅将含有估计点θK最近
邻点的区域用于估计局部异常因子,减少对不必要的数据点进行遍历。最后通过非空网格
单元中局部异常异常因子的上下界实现非空网格单元和数据点两个层级的异常检测,即首
先识别出包含有前n个异常值的非空网格单元,再检索出前n个异常数据点。具体包括如下
步骤:
d
化操作,得到数据空间X;
开销,但不能太小,以保持离群点检测精度,为此,通过从足够小的值增加θR来找到比率曲
线的第一个弯折。可以在第一弯折之后的范围内通过搜索确定使得召回率最大的θR。所述
网格单元包含非空网格单元
网格单元的权重,kci表示第i个非空网格单元的中心坐标;将非空网格单元集合{
i=1,...,m}作为权重分布网格G;其中,m表示非空网格单元的个数。通过划分网格单元,便
于后续对数据空间进行分区域的处理,减少对所有数据点的遍历,可以减少计算量,提高算
法时效性。
prep
口滑动前的权重分布网格为G ,记录消失在窗口中的消失数据点集合Sexp,同时记录新出
现的新数据点集合Snew,将{
布网格Gnew,对于第一分布网格Gexp遍历消失数据点集合Sexp,将消失数据点集合Sexp中的每
一个数据点加入到对应的非空网格单元,并记录其权重,更新第一分布网格Gexp;对于第二
分布网格Gnew遍历新数据点集合Snew,将新数据点集合Snew中的每一个数据点加入到对应的
非空网格单元,并记录其权重,更新第二分布网格Gnew,随后将更新的第二分布网格Gnew和更
新的第一分布网格Gexp对应非空网格单元的权重作差,将{
prep
变权重分布网格ΔG,再由窗口滑动前的权重分布网格G 加上净变权重分布网格ΔG可得
curr
到当前权重分布网格G 。净变权重分布网格ΔG可用于衡量各区域内数据分布的变化程
度,其中Δwi越小的单元网格数据分布变化程度越小,在更新数据点局部可达密度和局部
异常因子时可跳过这类变化程度小的平稳区域,因异常数据本身属于少数部分,大部分正
常数据区域会趋于平稳,则该方法可减少计算所需时间和空间资源。
估计定义可知,如果数据点x的θK最近邻核中心和它的权重没有改变,那么数据点x的局部
curr
密度也不会改变。遍历当前权重分布网格G 的中心坐标kci,计算数据点x与中心坐标kci
的距离,取θK个最近的kci组成θK最近邻核中心集合KC(x),遍历净变权重分布网格ΔG中的<
kci,Δwi>,当所述数据点x与净变权重分布网格ΔG中的kci的欧氏距离小于等于所述数据
点x与其的第θK最近邻核中心 的欧氏距离时,将满足上述条件的kci对应的Δwi组成集
合ΔWt(x);则数据点x的局部密度累积误差为: 其中,
tl表示上次更新密度的窗口,tc表示当前窗口,Δwj表示集合ΔWt(x)中第j个非空网格单元
的权重差;为保证检测精度,用局部密度累积误差定量的描述数据点局部密度变化程度,当
超过阈值时表明会对检测结果造成影响,需及时更新其局部可达密度和局部异常因子。
所有数据点x的局部可达密度和局部异常因子,更新数据点x的局部可达密度和局部异常因子
时,找出包含数据点x的θK最近邻数据点的非空网格单元,再遍历该非空网格单元中的数据点,
估计出数据点x的第θK距离邻域 对 中的所有数据点y计算出y的第θK距离θK_dist
(y),则y到x的局部可达距离为 得到局部可
达密度 和局部异常因子 并
记录每个非空网格单元内最小局部异常因子LOFmin(x)及最大局部异常因子LOFmax(x),以便
于后续异常检测;其中 是x的θK最近邻数据点的个数;
表示G 中除去存在于G 中的非空网格单元集合,遍历G ‑G 中的非空网格单元
wi>,若当前G 中所有非空网格单元的权重之和大于等于n且该非空网格单元最小局部异
curr cand cand
常因子LOFmin(x)大于G ‑G 中最大局部异常因子LOFmax(x),则输出当前G ;否则将当
curr cand cand cand
前G ‑G 中的非空网格单元
cand
重之和小于n则继续遍历下一非空网格单元,否则比较当前G 最小局部异常因子LOFmin
curr cand
(x)是否大于G ‑G 中最大局部异常因子LOFmax(x),若是则继续遍历下一非空网格单元,
cand cand
若不是则不将
cand
再G 的中的所有数据点的局部异常因子由大到小进行排序,选出前n个异常数据点。对整
个窗口中所有数据点的局部异常因子进行排序需要极大的计算时间和空间资源,通过所述
方法可先查找出含有前n个异常点的网格单元,再对其中数据点的局部异常因子进行排序,
可有效减少对不必要的数据点进行排序操作,提高检测效率。