CUSUM算法学习+小实例

说明:本文为个人搜集理解,并非全面。

CUSUM(Cumulative Sum Control Chart:累积和):一种先进的统计方法,她利用当前的和最近的过程数据来检验过程均值中不大的变化或变异性,CUSUM代表偏离目标值得变差的”累积和“,它把当前和最近的数据看得同等重要。

1、CUSUM控制图

​ CUSUM 控制图标绘每个样本值与目标值之间偏差的累积和 (CUSUM)。由于CUSUM控制图是累积的,因此即使是过程均值中的微小波动也会导致累积偏差值的稳定增加(或降低)。 观测值可以是单个测量值,也可以是子组均值。CUSUM控制图分别可用于计量性数据(正态分布),不合格品数(泊松分布变量),不合格品率(二项分布变量)。CUSUM控制图的理论基础是序贯分析原理中的序贯概率比检验,这是一种基本的序贯检验法。该控制图通过对信息的累积,将过程的小偏移累加起来,达到放大的效果,提高检测过程小偏移的灵敏度。 对于不同的累积和控制图,有一个基本的共同点,即首先提出原假设和备择假设,其次对假设进行检验并做出结论。 在实际应用中,用累积的统计值构建的控制图其敏感性和检出效果要明显强于凭单个样本值构建的控制图,原因在于该图是通过对样本均值、样本波动、极差等质量特性值得累积和建立的。它也可以对属性值进行累积。

2、序贯概率比检验

​ 序贯概率比检验是每次只从需检测的一批产品中抽检一个样本的产品,然后根据过去抽检的各样本的测试结果,比较在两种不同假设H_0,H_1​​时出现上述序贯测试结果的概率,以这两种概率的比值​l_1m​/​l_0m​(统计上称为​H_1H_0​的似然比)作为判断的依据。

(1)如果概率比远大于1,说明​H_1成立的可能性大;

(2)如果概率比远小于1,说明​H_0成立的可能性大;

(3)如果两种假设下的概率比相差不大,则继续抽检下一个样本。

命题: 若l_1m​/​l_0m​>=A(A为远大于1的数),则接受​H_1

           若l_1m​/​l_0m​<=B(B为远小于1的数),则接受H_0​;

           若B<=l_1m/​l_0m​<=Al_0m​<=A,继续抽检下一个样本。

Wald对此有详细的论述,并证明在使用时可近似取:

​ ​ ​                                                                                  A=\frac{1-\beta}{\alpha}, B=\frac{\beta}{1-\alpha}                         (1)

注:H_0​为真时,接受H_0​的概率近似等于\alpha​,其中​\alpha为第一类错误概率;

               H_1为真时,接受H_1​的概率近似等于​\beta,其中​\beta为第二类错误概率。

3、传统的CUSUM

​ 传统的CUSUM是在假设样本数据服从正态分布的前提下,基于过程均值的单侧检验和双侧检验CUSUM的构造步骤与方法。

(1)单侧检验和双侧检验的CUSUM(单侧检验仅检验均值的上偏或下偏),一般的CUSUM的双侧检验同时检验均值的上偏和下偏,建立在假设检验的理论基础之上,分别作出原假设和备择假设,对连续的似然比率进行检验步骤如下:

                                                                            原假设:​H_0: \mu = \mu_0

​                                                                    备择假设:H_1: \mu = \mu_1 (\mu_1>\mu_0)

​是样本均值,I、II类错误的概率分别设为​和​,当

                                                                            \beta​/1-\alpha​<序贯概率比<1-​\beta/​ \alpha                              (2)

时,不能作出接受或者拒绝​H_0和​H_1的判断。公式(2)可用来对呈上升趋势的均值构造一个单侧检验控制图。假如我们有一组按时间顺序测得的独立样本数据即:X_1,X_2,X_3,...,X_t​且服从样本方差​\sigma_x^2\sigma_x^2 已知的正态分布,均值\mu​\mu​\mu未知,序贯概率比用如下公式计算

                                                                                              ​ (3)

现对其进行检验,则: ​

                                                                                   \Delta_1=\mu_1-\mu_0

                                                                        ​                                 (4)

S_t ​是对两个均值平均数的样本差的累积和。如图1所示,上下控制分别根据方程(3)确定,按照抽样程序,在抽到第6个样本点时,停止抽样并接受​:H_0:\mu=\mu_0 ,因为此时样本差的累积和超出了下控制线;同样在第18个样本点,接受:H_1:\mu=\mu_1 ​,因为此时样本点超出了上控制线。

                                                        CUSUM算法学习+小实例_第1张图片

​                                                                          图1 连续抽样的累积和控制图

       

4、实例,CUSUM报警

  已知样本数据均值为0,方差未知,在给定最大误差控制下对异常数据进行报警。

matlab代码:

 clear all;
 load exampledata.mat  %导入数据
 y=data;  %测试数据
 my=0; %信号均值
 lalarm = 1.5;  %警报值,阈值
 minmiss=0.1;  %能够容忍的最小误差
 minn=100;  %初始化累积和最小值
 %数据累积和计算
 summ=0;  %累积和初始化
 
 for i=1:length(y)
      summ=summ+(y(i)-my-minmiss);  %累积和
      sumsave(i)=summ;
      if sumsave(i)=lalarm
          alarm(i)=1;
      else
          alarm(i)=0;
      end
 end
 subplot(2,1,1)
 plot(data);
 hold on
 stairs(alarm,'r');
 subplot(2,1,2)
 plot(sumsave,'g');

结果:

当alarm值=1,即图中红线在1处警报响起。

                                         CUSUM算法学习+小实例_第2张图片

你可能感兴趣的:(CUSUM累积和)