How to: |
The single exponential smoothing method calculates an average that allows you to choose weights to apply to newer and older values.
The following formula determines the weight given to the newest value.
k = 2/(1+n)
where:
The next calculation of the exponential moving average (EMA) value is derived by the following formula:
EMA = (EMA * (1-k)) + (datavalue * k)
This means that the newest value from the data source is multiplied by the factor k and the current moving average is multiplied by the factor (1-k). These quantities are then summed to generate the new EMA.
Note: When the data values are exhausted, the last data value in the sort group is used as the next data value.
FORECAST_EXPAVE(display, infield, interval, npredict, npoint1)
where:
Keyword
Specifies which values to display for rows of output that represent existing data. Valid values are:
Note: You can show both types of output for any field by creating two independent COMPUTE commands in the same request, each with a different display option.
For date fields, the minimal component in the format determines how the number is interpreted. For example, if the format is YMD, MDY, or DMY, an interval value of 2 is interpreted as meaning two days. If the format is YM, the 2 is interpreted as meaning two months.
k=2/(1+npoint1)
The following defines an integer value named PERIOD to use as the independent variable for the moving average. It predicts three periods of values beyond the range of retrieved data.
DEFINE FILE GGSALES SDATE/YYM = DATE; SYEAR/Y = SDATE; SMONTH/M = SDATE; PERIOD/I2 = SMONTH; END TABLE FILE GGSALES SUM UNITS DOLLARS COMPUTE EXPAVE/D10.1= FORECAST_EXPAVE(MODEL_DATA,DOLLARS,1,3,3); BY CATEGORY BY PERIOD WHERE SYEAR EQ 97 AND CATEGORY NE 'Gifts' ON TABLE SET STYLE * GRID=OFF,$ ENDSTYLE END
The output is shown in the following image:
Category PERIOD Unit Sales Dollar Sales EXPAVE -------- ------ ---------- ------------ ------ Coffee 1 61666 801123 801,123.0 2 54870 682340 741,731.5 3 61608 765078 753,404.8 4 57050 691274 722,339.4 5 59229 720444 721,391.7 6 58466 742457 731,924.3 7 60771 747253 739,588.7 8 54633 655896 697,742.3 9 57829 730317 714,029.7 10 57012 724412 719,220.8 11 51110 620264 669,742.4 12 58981 762328 716,035.2 13 0 0 739,181.6 14 0 0 750,754.8 15 0 0 756,541.4 Food 1 54394 672727 672,727.0 2 54894 699073 685,900.0 3 52713 642802 664,351.0 4 58026 718514 691,432.5 5 53289 660740 676,086.3 6 58742 734705 705,395.6 7 60127 760586 732,990.8 8 55622 695235 714,112.9 9 55787 683140 698,626.5 10 57340 713768 706,197.2 11 57459 710138 708,167.6 12 57290 705315 706,741.3 13 0 0 706,028.2 14 0 0 705,671.6 15 0 0 705,493.3
In the report, three predicted values of EXPAVE are calculated within each value of CATEGORY. For values outside the range of the data, new PERIOD values are generated by adding the interval value (1) to the prior PERIOD value.
Each average (EXPAVE value) is computed using DOLLARS values where they exist. The calculation of the moving average begins in the following way:
n=3 (number used to calculate weights)
k = 2/(1+n) = 2/4 = 0.5
EXPAVE = (EXPAVE*(1-k))+(new-DOLLARS*k) = (801123*0.5) + (682340*0.50) = 400561.5 + 341170 = 741731.5
EXPAVE = (EXPAVE*(1-k))+(new-DOLLARS*k) = (741731.5*0.5)+(765078*0.50) = 370865.75 + 382539 = 753404.75