See MACEW6 in the SAS/QC Sample LibraryThe EWMAARL DATA step function computes the average run length for an exponentially weighted moving average (EWMA) scheme (refer to Crowder 1987a,b for details). You can use this function to design a scheme by first calculating average run lengths for a range of values for the weight and then choosing the weight that yields a desired average run length.
The following statements compute the average run lengths for shifts between 0.5 and 2 and weights between 0.25 and 1. The
data set ARLs
is displayed in Output 9.5.1.
data arls; do shift=.5 to 2 by .5; do Weight=.25 to 1 by .25; arl=ewmaarl(shift,Weight,3.0); output; end; end; run;
Output 9.5.1: Listing of the Data Set ARLs
Average Run Lengths for Various Shifts and Weights |
Weight | arl |
---|---|
0.25 | 48.453 |
0.50 | 75.354 |
0.75 | 110.950 |
1.00 | 155.224 |
Weight | arl |
---|---|
0.25 | 11.1543 |
0.50 | 15.7378 |
0.75 | 25.6391 |
1.00 | 43.8947 |
Weight | arl |
---|---|
0.25 | 5.4697 |
0.50 | 6.1111 |
0.75 | 8.7201 |
1.00 | 14.9677 |
Weight | arl |
---|---|
0.25 | 3.61677 |
0.50 | 3.46850 |
0.75 | 4.15346 |
1.00 | 6.30296 |
Note that when the weight is 1.0, the EWMAARL function returns the average run length for a Shewhart chart for means. For more details, see EWMAARL Function.
In addition to using the EWMAARL function to design a EWMA scheme with desired average run length properties, you can use it to evaluate an existing scheme. For example, suppose you have an EWMA chart with control limits using a weight parameter of 0.3. The following DATA step computes the average run lengths for various shifts using this scheme:
data ARLinfo; do shift=0 to 2 by .25; arl = ewmaarl(shift,0.3,3.0); output; end; run;
The data set ARLinfo
is displayed in Output 9.5.2.
Output 9.5.2: Listing of the Data Set ARLinfo
Average Run Lengths for EWMA Scheme (k=3 and r=0.3) |
shift | arl |
---|---|
0.00 | 465.553 |
0.25 | 178.741 |
0.50 | 53.160 |
0.75 | 21.826 |
1.00 | 11.699 |
1.25 | 7.525 |
1.50 | 5.447 |
1.75 | 4.258 |
2.00 | 3.506 |