一种基于Kolmogorov-Smirnov检验的微小故障检测方法

    专利查询2022-08-11  115


    一种基于kolmogorov-smirnov检验的微小故障检测方法
    技术领域
    1.本发明涉及微小故障检测的技术领域,特别是涉及一种基于kolmogorov-smirnov检验的微小故障检测方法。


    背景技术:

    2.随着现代经济的飞速发展和科技水平的不断提高,工业过程或设备日趋复杂化、大型化。这给负责保障过程可靠运行的工程师们带来了严峻的挑战。一旦生产过程或设备发生微小故障,若不能及时发现并妥善处理,将会随着时间的推移逐渐发展成严重的故障甚至是引发重大事故,造成人员伤亡和巨大的经济损失。
    3.故障是系统中表现出的不期望特征或者任何异常现象。因此,在现代工业中,故障检测对于提高系统可靠性、防止严重的系统性能恶化以及确保最佳工艺操作至关重要。
    4.故障检测和诊断对保障现代工业过程的安全可靠运行具有重要意义。现有的大多数故障检测方法只对幅值较大的突发或显著故障有效。近年来,微小故障检测与诊断已成为科研和工程领域关注的热点之一,其目的是及时识别处于早期阶段的微小故障。专利cn110244692a公开了一种化工过程微小故障检测方法,将kullback-leibler散度(英文:kullback-leibler divergence,简称:kld)引入到传统局部-全局主成分分析法中,基于主成成分分析训练离线数据的模型,用在线数据的kld成分计算主成成分空间统计量t2和残差空间统计量spe,并通过核密度方法计算的控制限对其进行监控,提高了微小故障检测率。
    5.传统的基于知识和解析模型的故障诊断方法,过分依赖建立精确的数学模型,同时知识经验也难以获取。对具有不同数据特性的复杂工业过程来说,基于模型和知识的故障检测方法效果欠佳。高度自动化复杂化的工业过程积累了海量含有效信息的数据,基于数据驱动方法的故障检测与诊断便应运而生。该方法不需要已知工业过程的精确数学模型,直接应用过程中采集的传感器数据,利用多元统计理论建立模型,实现对过程的故障检测与诊断。


    技术实现要素:

    6.有鉴于此,本发明的目的在于提供一种基于kolmogorov-smirnov检验的微小故障检测方法,用以解决传统的基于数据驱动的故障检测方法对微小故障不敏感,故障检测率较低等问题,使用该方法进行微小故障检测时具有较高的故障检测率,并且有较低的故障误报率。k-s检验广泛应用于统计学中,可以用来判断一组数据的概率分布情况是否和一个已知数据的概率分布情况相同,或者判断两组数据的概率分布是否相似。本发明深度挖掘工业过程中微小故障引起的数据概率分布情况,有效的进行故障检测。
    7.为了实现上述目的,本发明采用如下技术方案:
    8.一种基于kolmogorov-smirnov检验的微小故障检测方法,所述微小故障检测方法包括离线建模过程和在线监测过程,其中,所述离线建模过程包括:
    9.步骤s1、采集csth过程的历史正常数据x,再将该数据按照一定比例划分为训练样本集x
    tr
    和测试样本集x
    te
    ,并均进行归一化处理;
    10.步骤s2、针对步骤s1中得到的训练样本集x
    tr
    使用主成成分分析,获得其pca模型,再求得该训练样本集x
    tr
    的负载矩阵p;
    11.步骤s3、根据步骤s2中得到的负载矩阵p,计算出训练样本集x
    tr
    的主元子空间t
    tr
    以及测试样本集x
    te
    的主元子空间t
    te

    12.步骤s4、进行k-s检验,其包括:首先给定一个滑动窗口,计算窗口内训练样本的第i个主元t
    tri
    和测试样本的第i个主元t
    tei
    的经验分布函数edf;然后再进行k-s检验求出k-s统计量dn的值;接着,将滑动窗口向后滑动,重复前述步骤,直至窗口滑动到主元中的最后一个数据;
    13.步骤s5、给定显著水平α,计算出控制限dn(α);
    14.所述在线监测过程,其具体包括:
    15.步骤s6、采集csth过程的实时在线数据x
    on
    ,并将数据进行归一化处理;
    16.步骤s7、利用步骤s2中所获的训练样本集x
    tr
    的负载矩阵p,计算出在线数据x
    on
    的主元空间t
    on

    17.步骤s8、进行k-s检验,其包括:给定一个滑动窗口的宽度,计算窗口内训练样本的第i个主元t
    tri
    和在线样本第i个主元t
    oni
    的经验分布函数edf,进而求出k-s检验统计量dn的值;
    18.步骤s9、比较统计量dn和控制限dn(α)的值,判断系统当前时刻是否有故障发生;
    19.步骤s10、当下一时刻的在线数据被采集时重复上述步骤s7-步骤s9,同时窗口向后滑动。
    20.进一步的,在所述步骤s1中,所述训练样本集表示为x
    tr
    =[x
    tr
    (1) x
    tr
    (2)
    ꢀ…ꢀ
    x
    tr
    (n)]
    t
    ∈rn×m,所述测试样本集表示为x
    te
    =[x
    te
    (1) x
    te
    (2)
    ꢀ…ꢀ
    x
    te
    (n)]
    t
    ∈rn×m,其中,n表示为样本个数,m表示为csth过程中涉及到的变量。
    [0021]
    进一步的,所述步骤s2具体包括:
    [0022]
    步骤s201、针对训练样本集x
    tr
    ,再根据公式(1)求出其协方差矩阵,再将该协方差矩阵进行分解得到训练样本集的特征值矩阵及其对应的特征向量;
    [0023]
    步骤s202、根据特征值的累计贡献率达到90%的准则,确定训练样本集主元的个数l,再根据公式(1)以及取特征值矩阵对应的特征向量的前l列来计算负载矩阵p,其中,所述公式(1)具体表示为:
    [0024][0025]
    在公式(1)中,s为协方差矩阵,λ=[λ1,λ2,...,λm]为特征值矩阵且λ1≥λ2≥...≥λm,v为特征值对应的特征向量,p为负载矩阵,为y的m-l列;
    [0026]
    所述特征值的累计贡献率达到90%的准则,其具体表达式为:
    [0027][0028]
    进一步的,所述步骤s4具体包括:
    [0029]
    步骤s401、给定一个滑动窗口宽度w为20,利用公式(3)计算窗口内训练样本主元子空间中的第一主元t
    tr1
    的edff1(x)和测试样本主元子空间中的第一主元t
    te1
    的edff2(x);
    [0030][0031]
    在公式(3)中,yk为随机变量的第k个观测值;
    [0032]
    步骤s402、根据公式(4)计算k-s(t
    tr1
    ,t
    te1
    )的统计量dn的值,该公式(4)具体为:
    [0033][0034]
    在公式(4)中,n1,n2为滑动窗口内样本的个数,为两个样本的经验分布函数图像之间垂直距离的最大值;
    [0035]
    步骤s403、设置滑动窗口的步距为1,向后滑动窗口计算出第二个窗口内统计量dn的值,直至窗口滑动到第一主元中的最后一个数据,由此得到了第一主元n-w 1个统计量的值;
    [0036]
    步骤s404、重复上述步骤,计算出全部l个主元的n-w 1个统计量的值。
    [0037]
    进一步的,在所述步骤s5中,显著水平α=0.05,通过公式(5)得到控制限dn(α)的值,表示为:
    [0038][0039]
    进一步的,在所述步骤s9中,根据公式(6)判断是否有故障发生,其具体为:
    [0040][0041]
    进一步的,csth过程中涉及到变量m,其具体包括:反应釜液位、冷水流量、冷水阀位、反应釜温度、热水流量以及热水阀位。
    [0042]
    本发明的有益效果是:
    [0043]
    本发明首次提出了一种基于k-s的微小故障检测方法,该方法可以有效的监控工业过程中微小故障的发生,从而减少了微小故障带来的严重危害;其次,本发明对微小故障检测的误报率与漏报率都较低,可以有效的避免因高误报率等造成的经济损失;最后,本发
    明克服了传统pca故障检测方法由于微小故障幅值较小而对微小故障检测性能不佳的问题,对微小故障有较高的检测率。
    附图说明
    [0044]
    图1为实施例1中提供的两个样本的经验分布函数图;
    [0045]
    图2为实施例1中提供的csth过程的工艺示意图;
    [0046]
    图3为实施例1中提供的基于k-s检验的故障检测流程图;
    [0047]
    图4为实施例1中提供的零点漂移故障的检测效果图;
    [0048]
    图5为实施例1中提供的偏差故障的检测效果图;
    [0049]
    图6为实施例1中提供的t2统计量、spe统计量和dn统计量故障检测率的对比图;
    [0050]
    图7为实施例1中提供的t2统计量、spe统计量和dn统计量故障误报率的对比图。
    具体实施方式
    [0051]
    为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
    [0052]
    实施例1
    [0053]
    参见图1-图7,本实施例提供一种基于kolmogorov-smirnov检验的微小故障检测方法,该方法面向csth过程,csth是加拿大艾尔伯塔大学实验室开发的实验平台。搅拌釜的作用是将冷热水混合在一起,然后再将混合物利用蒸汽加热,加热好后的混合水最后从加热釜底部流出。其工艺流程图如图2所示。其中搅拌釜的截面是圆形的,体积为8升,高度为0.5米,虽然csth过程的模型较小且没有实际的反应过程,但是该过程所有传感器、阀门和热交换器都具有完整的特性,因此模拟了化学反应放热的过程。
    [0054]
    本实施例采用matlab为仿真平台,在simulink中构建仿真模型,加入冷水流量控制变送环节确定性振荡干扰、液位控制变送环节随机干扰、温度控制变送环节噪声干扰三类普遍的干扰,最大化模拟实际的化工过程,保证测试结果具有较高的真实性。从csth系统的6个变量收集过程数据信息,具体参见表一。故障类型引用化工过程中常见的两种传感器微小故障:零点漂移和偏差故障。每个样本的前200个采样点为系统正常运行时的数据,在第201个采样点开始引入微小故障,故障的幅值设置为微小幅值,其中零点漂移故障的幅值设置为0.001ma,偏差故障的幅值设置为0.1ma,一共设置了500个采样点。仿真的初始模态参数设置为:液位12ma,温度10.5ma,热水阀0ma。
    [0055]
    表一
    [0056]
    变量变量描述level反应釜液位cw flow冷水流量cw valve冷水阀位temperature反应釜温度hw flow热水流量
    hw valve热水阀位
    [0057]
    一种基于kolmogorov-smirnov检验的微小故障检测方法,主要包括离线建模过程和在线监测过程,离线建模过程主要包括:
    [0058]
    步骤s1:采集csth过程的历史正常数据,并将历史正常数据分为训练样本集x
    tr
    =[x
    tr
    (1) x
    tr
    (2)
    ꢀ…ꢀ
    x
    tr
    (n)]
    t
    ∈rn×m和测试样本集x
    te
    =[x
    te
    (1) x
    te
    (2)
    ꢀ…ꢀ
    x
    te
    (n)]
    t
    ∈rn×m;其中n为样本个数500,m为表一中所示的变量个数6,计算出训练样本均值μ和标准差σ利用公式(1)对训练数据和测试数据进行归一化处理。
    [0059][0060]
    步骤s2:利用训练样本集求出其pca模型,具体步骤如下:
    [0061]
    通过公式(2)求出其协方差矩阵并将协方差矩阵进行分解得到训练
    [0062]
    样本的特征值矩阵及其对应的特征向量,其中λ=[λ1,λ2,...,λm]为特征值矩阵且λ1≥λ2≥...≥λm,v为特征值对应的特征向量;
    [0063][0064]
    采用公式(3),特征值的累计贡献率达到90%的准则确定训练样本集主元的个数l,并取v的前l列计算出负载矩阵p,为余下的m-l列。计算出训练样本的主元子空间t
    tr
    =x
    tr
    p=[t
    tr1 t
    tr2
    ꢀ…ꢀ
    t
    trl
    ]∈rn×
    l

    [0065][0066]
    步骤s3:利用步骤s2计算出的负载矩阵p,计算出测试样本的主元子空间t
    te
    =x
    te
    p=[t
    te1 t
    te2
    ꢀ…ꢀ
    t
    tel
    ]∈rn×
    l

    [0067]
    步骤s4:进行k-s检验,具体步骤为:
    [0068]
    给定一个滑动窗口宽度w为20,利用公式(4)计算窗口内训练样本主元子空间中的第一主元t
    tr1
    的edff1(x)和测试样本主元子空间中的第一主元t
    te1
    的edff2(x);
    [0069][0070]
    利用公式(5)计算k-s(t
    tr1
    ,t
    te1
    )的统计量dn的值,式中n1,n2为滑动窗口内样本的个数,为两个样本的经验分布函数图像之间垂直距离的最大值。如图1所示;
    [0071][0072]
    设置滑动窗口的步距为1,向后滑动窗口计算出第二个窗口内统计量dn的值,直至窗口滑动到第一主元中的最后一个数据,由此得到了第一主元n-w 1个统计量的值;
    [0073]
    重复上述步骤,计算出全部l个主元的n-w 1个统计量的值;
    [0074]
    步骤s5:给定显著水平α=0.05,通过公式(6),得到控制限dn(α)的值;通过公式(7)的逻辑判断是否有故障发生。
    [0075][0076][0077]
    具体的说,在线监测过程,其具体包括:
    [0078]
    步骤s1:采集csth过程的实时数据,并进行归一化处理,得到在线样本集x
    on
    =[x
    on
    (1) x
    on
    (2)
    ꢀ…ꢀ
    x
    on
    (q)]
    t
    ∈rq×m,q≥w;
    [0079]
    步骤s2:利用离线过程训练数据得到的负载矩阵p,计算在线过程数据样本的主元子空间t
    on
    =x
    on
    p=[t
    on1 t
    on2
    ꢀ…ꢀ
    t
    onl
    ]∈rq×
    l

    [0080]
    步骤s3:进行在线k-s test检验,具体步骤为:
    [0081]
    给定一个滑动窗口宽度w为20,利用公式(4)计算窗口内训练样本主元子空间中的第一主元t
    tr1
    的edff1(x)和在线样本主元子空间中的第一主元t
    on1
    的edff
    on
    (x);
    [0082]
    利用公式(5)计算k-s(t
    tr1
    ,t
    on
    )的统计量dn的值;
    [0083]
    步骤s4:利用公式(7)的逻辑判断当前采样时刻是否有故障发生;
    [0084]
    步骤s5:当下一时刻的在线数据被采集时重复上述步骤s1-步骤s4,同时窗口向后滑动。
    [0085]
    采用本发明方法进行微小故障检测,检测到故障发生后,为评价不同故障检测方法的故障检测性能,通过故障检出率fdr和故障误报率far指标对不同方法的故障检测结果对比。故障检出率fdr定义为检测出的故障数据数目与实际总的故障数据数目之比。很显然,fdr的数值越大,意味着工业过程故障检测方法的故障检测效果越好;反之,工业过程故障检测方法的故障检测效果越差。故障误报率far定义为误报成故障的正常样本数目与正常样本的总数目之比,显然虚警率越低检测的效果越好。
    [0086]
    图6和图7中给出了用传统pca方法计算的t2统计量和spe统计量与本发明采用的k-stest方法dn统计量对微小故障进行检测的fdr与far的效果对比图,从图中可以观察出,本发明方法较为稳定,有着较高的故障检出率,并且其故障误报率接近0;
    [0087]
    综上所述,本发明所提出的故障检测方法,总体上取得了较好的故障检测效果,并且有较高的稳定性。
    [0088]
    综上所述,本发明对训练样本进行标准化预处理后,建立了一个pca模型,获得负载矩阵p,之后,在线实时采集样本数据,利用离线过程建立的pca模型,算出在线数据的主元空间,将训练数据和在线数据的主元空间进行k-s检验,得出k-s检验统计量dn的值与控
    制限比较,实现在线监控。为了验证本发明的可行性,将传统pca故障检测模型计算的主元空间统计量t2和残差空间统计量spe统计量与k-s检验统计量dn的监测效果进行了对比。本发明上述故障检测方法,通过比较训练样本和测试样本二者数据概率分布的微小差异,可以更加精准的发现工业过程微小故障特征的变化情况,进而可以提高故障检测率和降低故障误报率。
    [0089]
    本发明未详述之处,均为本领域技术人员的公知技术。
    [0090]
    以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

    技术特征:
    1.一种基于kolmogorov-smirnov检验的微小故障检测方法,其特征在于,所述微小故障检测方法包括离线建模过程和在线监测过程,其中,所述离线建模过程包括:步骤s1、采集csth过程的历史正常数据x,再将该数据按照一定比例划分为训练样本集x
    tr
    和测试样本集x
    te
    ,并均进行归一化处理;步骤s2、针对步骤s1中得到的训练样本集x
    tr
    使用主成成分分析,获得其pca模型,再求得该训练样本集x
    tr
    的负载矩阵p;步骤s3、根据步骤s2中得到的负载矩阵p,计算出训练样本集x
    tr
    的主元子空间t
    tr
    以及测试样本集x
    te
    的主元子空间t
    te
    ;步骤s4、进行k-s检验,其包括:首先给定一个滑动窗口,计算窗口内训练样本的第i个主元t
    tri
    和测试样本的第i个主元t
    tei
    的经验分布函数edf;然后再进行k-s检验求出k-s统计量d
    n
    的值;接着,将滑动窗口向后滑动,重复前述步骤,直至窗口滑动到主元中的最后一个数据;步骤s5、给定显著水平α,计算出控制限d
    n
    (α);所述在线监测过程,其具体包括:步骤s6、采集csth过程的实时在线数据x
    on
    ,并将数据进行归一化处理;步骤s7、利用步骤s2中所获的训练样本集x
    tr
    的负载矩阵p,计算出在线数据x
    on
    的主元空间t
    on
    ;步骤s8、进行k-s检验,其包括:给定一个滑动窗口的宽度,计算窗口内训练样本的第i个主元t
    tri
    和在线样本第i个主元t
    oni
    的经验分布函数edf,进而求出k-s检验统计量d
    n
    的值;步骤s9、比较统计量d
    n
    和控制限d
    n
    (α)的值,判断系统当前时刻是否有故障发生;步骤s10、当下一时刻的在线数据被采集时重复上述步骤s7-步骤s9,同时窗口向后滑动。2.根据权利要求1所述的一种基于kolmogorov-smirnov检验的微小故障检测方法,其特征在于,在所述步骤s1中,所述训练样本集表示为x
    tr
    =[x
    tr
    (1) x
    tr
    (2)
    ꢀ…ꢀ
    x
    tr
    (n)]
    t
    ∈r
    n
    ×
    m
    ,所述测试样本集表示为x
    te
    =[x
    te
    (1) x
    te
    (2)
    ꢀ…ꢀ
    x
    te
    (n)]
    t
    ∈r
    n
    ×
    m
    ,其中,n表示为样本个数,m表示为csth过程中涉及到的变量。3.根据权利要求2所述的一种基于kolmogorov-smirnov检验的微小故障检测方法,其特征在于,所述步骤s2具体包括:步骤s201、针对训练样本集x
    tr
    ,再根据公式(1)求出其协方差矩阵,再将该协方差矩阵进行分解得到训练样本集的特征值矩阵及其对应的特征向量;步骤s202、根据特征值的累计贡献率达到90%的准则,确定训练样本集主元的个数l,再根据公式(1)以及取特征值矩阵对应的特征向量的前l列来计算负载矩阵p,其中,所述公式(1)具体表示为:在公式(1)中,s为协方差矩阵,λ=[λ1,λ2,...,λ
    m
    ]为特征值矩阵且λ1≥λ2≥

    ≥λ
    m
    ,v为特征值对应的特征向量,p为负载矩阵,为v的m-l列;所述特征值的累计贡献率达到90%的准则,其具体表达式为:
    4.根据权利要求3所述的一种基于kolmogorov-smirnov检验的微小故障检测方法,其特征在于,所述步骤s4具体包括:步骤s401、给定一个滑动窗口宽度w为20,利用公式(3)计算窗口内训练样本主元子空间中的第一主元t
    tr1
    的edff1(x)和测试样本主元子空间中的第一主元t
    te1
    的edff2(x);在公式(3)中,y
    k
    为随机变量的第k个观测值;步骤s402、根据公式(4)计算k-s(t
    tr1
    ,t
    te1
    )的统计量d
    n
    的值,该公式(4)具体为:在公式(4)中,n1,n2为滑动窗口内样本的个数,为两个样本的经验分布函数图像之间垂直距离的最大值;步骤s403、设置滑动窗口的步距为1,向后滑动窗口计算出第二个窗口内统计量d
    n
    的值,直至窗口滑动到第一主元中的最后一个数据,由此得到了第一主元n-w 1个统计量的值;步骤s404、重复上述步骤,计算出全部l个主元的n-w 1个统计量的值。5.根据权利要求4所述的一种基于kolmogorov-smirnov检验的微小故障检测方法,其特征在于,在所述步骤s5中,显著水平α=0.05,通过公式(5)得到控制限d
    n
    (α)的值,表示为:6.根据权利要求5所述的一种基于kolmogorov-smirnov检验的微小故障检测方法,其特征在于,在所述步骤s9中,根据公式(6)判断是否有故障发生,其具体为:7.根据权利要求6所述的一种基于kolmogorov-smirnov检验的微小故障检测方法,其特征在于,csth过程中涉及到变量m,其具体包括:反应釜液位、冷水流量、冷水阀位、反应釜温度、热水流量以及热水阀位。

    技术总结
    本发明公开了一种基于Kolmogorov-Smirnov检验的微小故障检测方法,包括:对训练样本进行标准化预处理后,建立了一个PCA模型,获得负载矩阵P,之后,在线实时采集样本数据,利用离线过程建立的PCA模型,算出在线数据的主元空间,将训练数据和在线数据的主元空间进行K-S检验,将得出K-S检验统计量D


    技术研发人员:商亮亮 泮佳俊 张帆 蒋玮平 顾银波 唐一鸣 华亮 傅怀梁
    受保护的技术使用者:南通大学
    技术研发日:2022.02.21
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-6329.html

    最新回复(0)