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 ​,因爲此時樣本點超出了上控制線。

                                                        

​                                                                          圖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)<minn   %尋找最小誤差
          minn=sumsave(i);
      end
      d=sumsave(i)-minn;  %計算其他累積和與最小累積和的差d
      if d>=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處警報響起。

                                         

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章