Resources

Uniformly Weighted Moving Average Chart

 /****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: MACUWMA1                                            */
 /*   TITLE: Uniformly Weighted Moving Average Chart             */
 /* PRODUCT: QC                                                  */
 /*  SYSTEM: ALL                                                 */
 /*    KEYS: Moving Average Charts,                              */
 /*   PROCS: MACONTROL                                           */
 /*    DATA:                                                     */
 /*                                                              */
 /*     REF: SAS/QC Software:  Examples                          */
 /*    MISC:                                                     */
 /*                                                              */
 /****************************************************************/

options ls=120 ps=50;

data clips1;
   input day @ ;
   do i=1 to 5;
      input gap @ ;
      output;
      end;
   drop i;
   cards;
 1  14.76  14.82  14.88  14.83  15.23
 2  14.95  14.91  15.09  14.99  15.13
 3  14.50  15.05  15.09  14.72  14.97
 4  14.91  14.87  15.46  15.01  14.99
 5  14.73  15.36  14.67  14.91  15.25
 6  15.09  15.19  15.07  15.30  14.98
 7  15.34  15.39  14.82  15.32  15.23
 8  14.80  14.94  15.15  14.69  14.93
 9  14.67  15.08  14.88  15.14  14.78
10  15.27  14.61  15.00  14.84  14.94
11  15.34  14.84  15.32  14.81  15.17
12  14.84  15.00  15.13  14.68  14.91
13  15.40  15.03  15.05  15.03  15.18
14  14.50  14.77  15.22  14.70  14.80
15  14.81  15.01  14.65  15.13  15.12
;

title 'Uniformly Weighted Moving Average Chart';

proc macontrol data=clips1 lineprinter;
   machart gap*day='x' /
      mu0    = 15.0       /* Known mean                        */
      sigma0 = 0.2        /* Known standard deviation          */
      span   = 3;         /* Number of terms in moving average */
run;


data clips2;
   input day @;
   do i=1 to 5;
      input gap @;
      output;
      end;
   drop i;
   cards;
16  14.82  15.01  14.82  14.83  15.00
17  14.89  14.90  14.80  14.40  14.88
18  14.90  15.29  15.14  15.20  14.70
19  14.77  14.60  14.45  14.78  14.91
20  14.80  14.58  14.69  15.02  14.85
;

data clips3;
   set clips1 clips2;
run;

title 'Updated Uniformly Weighted Moving Average Chart';

proc macontrol data=clips3 lineprinter;
   machart gap*day='x' /
      mu0    = 15.0       /* Known mean                        */
      sigma0 = 0.2        /* Known standard deviation          */
      span   = 3;         /* Number of terms in moving average */
run;

title;