Exponentially Weighted Moving Average Chart
/*******************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: MACEW1 */
/* TITLE: Exponentially Weighted Moving Average Chart */
/* PRODUCT: QC */
/* SYSTEM: ALL */
/* KEYS: Moving Average Charts, */
/* PROCS: MACONTROL */
/* DATA: */
/* */
/* SUPPORT: saswgr */
/* REF: PROC MACONTROL, EWMACHART Statement, Getting Started */
/* */
/*******************************************************************/
data Clips1;
input Day @ ;
do i=1 to 5;
input Gap @ ;
output;
end;
drop i;
datalines;
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.87 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
16 14.82 15.01 14.82 14.83 15.00
17 14.89 14.90 14.60 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
;
title 'The Data Set Clips1';
proc print data=Clips1(obs=15) noobs;
run;
ods graphics off;
symbol h = 0.8;
title 'EWMA Chart for Gap Measurements';
proc macontrol data=Clips1;
ewmachart Gap*Day / weight=0.3;
run;
data Clipsum;
input Day GapX GapS;
GapN=5;
datalines;
1 14.904 0.18716
2 15.014 0.09317
3 14.866 0.25006
4 15.048 0.23732
5 15.024 0.26792
6 15.126 0.12260
7 15.220 0.23098
8 14.902 0.17254
9 14.910 0.19824
10 14.932 0.24035
11 15.096 0.25618
12 14.912 0.16903
13 15.138 0.15928
14 14.798 0.26329
15 14.944 0.20876
16 14.896 0.09965
17 14.734 0.22512
18 15.046 0.24141
19 14.702 0.17880
20 14.788 0.16634
;
title 'The Data Set Clipsum';
proc print data=Clipsum(obs=5) noobs;
run;
options nogstyle;
goptions ftext='albany amt';
symbol color=salmon h=0.8;
title 'EWMA Chart for Gap Measurements';
proc macontrol history=Clipsum;
ewmachart Gap*Day / weight=0.3
cframe = vibg
cinfill = ligr
coutfill = yellow
cconnect = salmon;
run;
options gstyle;
title 'Summary Data Set for Gap Measurements';
proc macontrol data=Clips1;
ewmachart Gap*Day / weight = 0.3
outhistory = Cliphist
nochart;
run;
proc print data=Cliphist(obs=5) noobs;
run;
title 'Control Limit Parameters';
proc macontrol data=Clips1;
ewmachart Gap*Day / weight = 0.3
outlimits = Cliplim
nochart;
run;
proc print data=Cliplim noobs;
run;
title 'Summary Statistics and Control Limits';
proc macontrol data=Clips1;
ewmachart Gap*Day / weight = 0.3
outtable = Cliptab
nochart;
run;
proc print data=Cliptab noobs;
run;
title 'EWMA Chart for Gap Measurements';
proc macontrol table=Cliptab;
ewmachart Gap*Day ;
run;
data Clips1a;
label Gap='Gap Measurement (mm)';
input Day @;
do i=1 to 5;
input Gap @;
output;
end;
drop i;
datalines;
21 14.86 15.01 14.67 14.67 15.07
22 14.93 14.53 15.07 15.10 14.98
23 15.27 14.90 15.12 15.10 14.80
24 15.02 15.21 14.93 15.11 15.20
25 14.90 14.81 15.26 14.57 14.94
26 14.78 15.29 15.13 14.62 14.54
27 14.78 15.15 14.61 14.92 15.07
28 14.92 15.31 14.82 14.74 15.26
29 15.11 15.04 14.61 15.09 14.68
30 15.00 15.04 14.36 15.20 14.65
31 14.99 14.76 15.18 15.04 14.82
32 14.90 14.78 15.19 15.06 15.06
33 14.95 15.10 14.86 15.27 15.22
34 15.03 14.71 14.75 14.99 15.02
35 15.38 14.94 14.68 14.77 14.83
36 14.95 15.43 14.87 14.90 15.34
37 15.18 14.94 15.32 14.74 15.29
38 14.91 15.15 15.06 14.78 15.42
39 15.34 15.34 15.41 15.36 14.96
40 15.12 14.75 15.05 14.70 14.74
;
ods graphics on;
title 'EWMA Chart for Second Set of Gap Measurements';
proc macontrol data=Clips1a limits=Cliplim;
ewmachart Gap*Day / odstitle=title markers;
run;