310 likes | 567 Views
BABS 502 Moving Averages, Decomposition and Exponential Smoothing Revised March 11, 2011. Single Exponential Smoothing. One-step ahead forecast is the weighted average of current value and past forecast F t (1) = a( Current Value)+ (1- a ) Past Forecast = a X t + (1- a ) F t-1 (1)
E N D
BABS 502 Moving Averages, Decomposition and Exponential SmoothingRevised March 11, 2011
Single Exponential Smoothing • One-step ahead forecast is the weighted average of current value and past forecast • Ft(1) = a(Current Value)+ (1-a) Past Forecast= aXt+ (1-a) Ft-1(1) • Alternative representation • Ft(1) = Ft-1(1) + a [ Xt - Ft-1(1) ] • This is previous forecast plus a constant times previous forecast error • To apply this we need to choose the smoothing weight a • The closer a is to 1, the more reactive the forecast is to changes
Single Exponential Smoothing Recursive function: • Ft(1) = aXt+ (1-a) Ft-1(1), • Ft-1(1) = aXt-1+ (1-a) Ft-2(1), etc Backward substitute: • Ft(1) = aXt + (1-a)aXt-1 + (1-a)2 aXt-2 + (1-a)3 aXt-3 +… When a = 0.3 this becomes • Ft(1) = .3Xt+ .7*.3 Xt-1 + (.7)2 *.3Xt-2 + (.7)3 .3Xt-3 + … = .3Xt+ .21 Xt-1 + .147 Xt-2 + .1029 Xt-3 + … This is the justification for the name “exponential” smoothing. “Age” of data is about 1/a which is the mean of the geometric distribution.
Single Exponential Smoothing Today’s level = a * Today’s value + (1-a)*Yesterday’s Level Tomorrow’s forecast = Today’s level Lt = a Xt + (1- a) Lt-1 Ft(k) = Lt for all k The level represents the systematic part of the series
Simple Exponential SmoothingSpreadsheet Example Easy to use excel optimizer to choose alpha to minimize mean absolute percentage out of sample forecast error.
Single Exponential SmoothingNCSS Output Variable Pulp_Price Number of Rows 84 Mean 579.2857 Pseudo R-Squared 0.798127 Mean Square Error 4232.143 Mean |Error| 44.28571 Mean |Percent Error| 7.838659 Alpha Search Mean |Percent Error| Alpha 1 Forecast 540
Some Comments on Exponential Smoothing (Gardner, 1985) • Starting Values - need F0(1) to start process. Possible Choices • Data Mean • Backcasting • Simple exponential smoothing is identical to ARIMA(0,1,1) model. • Parameter is chosen to minimize either the root mean square, mean absolute or mean absolute percentage one step ahead forecast error.
Some Comments on Out of Sample Testing • When comparing methods out of sample be sure to check how the out of sample forecast is computed and what information is assumed known. • In some automatic programs – exponential smoothing is applied one step ahead out of sample so that it uses more data than other methods.
Double Exponential Smoothing • In a trending series, single exponential smoothing lags behind the series
Double Exponential Smoothing • Double Exponential Smoothing tracks trending data better; but forecasts may not be good after a few periods
Double Exponential Smoothing • Linear Trend Model Yt=0+1t is inflexible. Assumes a constant trend 1 per period throughout the data. • Basic idea - introduce a trend estimate that changes over time. • Similar to single exponential smoothing but two equations. • Issue is to choose two smoothing rates, a and b. • Referred to as Holt’s Linear Trend Model in NCSS • Trend dominates after a few periods in forecasts so forecasts are only good for a short term.
Double Exponential Smoothing • The model: Separate smoothing equations for level and trend • Level Equation • Lt = a(Current Value) + (1 - a) (Level + Trend Adjustment)t-1 Lt = aXt + (1 - a) (Lt-1 + T t-1) • Trend Equation • Tt = b(Lt - Lt-1) + (1 - b) Tt-1 • Forecasting Equation • Ft(k) = Lt + k Tt
Double Exponential Smoothing Example a = 0.637 b=0.020 L72 = 5.916 T72 = 0.013 F72(1) = 5.916 + 0.013 = 5.929 F72(2) = 5.916 + 0.013*2 = 5.942
Damped Trend Models • Problem with a trend model is that trend dominates forecast in a couple of periods. • Approach - introduce trend damping parameter • Level Equation Lt = aXt + (1 - a) (Lt-1 + T t-1) • Trend Equation • Tt = b(Lt - Lt-1) + (1 - b) Tt-1 • Forecasting Equation • Available in SAS ETS, R, Hyndman’s forecast package for Excel Phicast and www.peerforecaster.com
Seasonality • A persistent pattern that occurs at regularly spaced time intervals • quarterly, monthly, weekly, daily • Data may exhibit several levels of seasonality simultaneously • May be modeled as multiplicative or additive • Should be included in systematic part of forecasting model • Detected visually or through ACF
Seasonal Data Example Monthly US Electric Power Consumption
Exponential Smoothing with Trend and Seasonality • Exponential Smoothing with trend does not track or forecast seasonal data well
Exponential Smoothing with Trend and Seasonality • The Holt-Winters Model tracks the seasonal pattern
Holt-Winters’ Exponential Smoothing Equations Level Equation: • Lt = a(Current Value/Seasonal Adjustmentt-p) + (1-a)(Levelt-1 + Trendt-1) • Lt = a(Deseasonalized Current Value) + (1-a)(Levelt-1 + Trendt-1) • Lt = a(Xt/It-p) + (1-a)(Lt-1 + Tt-1) where It-p = Seasonal component
Holt-Winters’ Exponential Smoothing • Generalizes Double Exponential Smoothing by including (multiplicative) seasonal indicators. • Separate smoothing equations for level, trend and seasonal indicators. • Allows trend and seasonal pattern to change over time • Must estimate three smoothing parameters • Equations more complicated but implemented with software • One of the best methods for short term seasonal forecasts
Holt-Winters’ Exponential Smoothing Equations Trend Equation: • Same as double exponential smoothing method • Tt = b(Change in level in the last period) + (1 - b) (Trend Adjustment)t-1 • Tt = b(Lt - Lt-1) + (1 - b) Tt-1
Holt-Winters’ Exponential Smoothing Equations Seasonal Equation: • It = g(Current Value/Current Level) + (1-g)(Seasonal Adjustment)t-p • It = g(Xt/Lt) + (1-g)It-p where p is the length of the seasonality (i.e. p months) so that t-p is the same season in the previous year. Note this model assumes the same gfor every season. Forecasting equations: • Ft(k) = (Lt + kTt)It-p+kfor k=1,2, …, p • Ft(k) = (Lt + kTt)It-2p+kfor k=p+1,p+2, …, 2p
Holt-Winters’ Exponential Smoothing Equations Summary • Lt = a(Xt/It-p) + (1-a)(Lt-1 + Tt-1) Level Equation • Tt = b(Lt - Lt-1) + (1-b)Tt-1Trend Equation • It = g(Xt/Lt) + (1- g)It-pSeasonal Factor Equation Forecasting equations: • Ft(k) = (Lt + kTt)It-p+kfor k=1,2, …, p • Ft(k) = (Lt + kTt)It-2p+kfor k=p+1,p+2, …, 2p
Holt-Winters’ Exponential Smoothing Example Forecast Summary Section Variable Pulp_Price Number of Rows 84 Mean 579.2857 Pseudo R-Squared 0.766036 Mean Square Error 4904.916 Mean |Error| 44.74108 Mean |Percent Error| 7.992905 Initial values for forecasts Forecast Method Winter's with multiplicative seasonal adjustment. Search Iterations 120 Search Criterion Mean |Percent Error| Alpha 0.999787 Beta 0.1984507 Gamma 0.4674903 Intercept (A) -113.6628 Slope (B) 7.878917 Season 1 Factor 1.008922 Season 2 Factor 0.9970459 Season 3 Factor 0.9850978 Season 4 Factor 1.008935
Holt-Winters Further Comments • Can add damped trend to this model too. • Additive version also available but multiplicative model is preferable. Note the HW model combines additive trend with multiplicative seasonality. • Missing values cannot be skipped, they must be estimated. • Outliers have a big impact and could be handled like missing values • This is a special case of a “state space model”. • Different computer packages give different estimates and forecasts. • Early reference: Chatfield and Yar “Holt-Winters forecasting: some practical issues”, The Statistician, 1988, 129-140.
Applying Exponential Smoothing Models • Plot data • determine patterns • seasonality, trend, outliers • Fit model • Check residuals • Any information present? • Plots or ACF functions • Adjust • Produce forecasts • Calibrate on hold out sample • Multiple one step ahead • k-step ahead (where is k is the practical forecast horizon)
Using Exponential Smoothing in Practice • Important issue is how frequently to recalibrate the model • Possible choices • Every period • Quarterly • Annually • The point here is that the model can be determined by analysts, programmed into a forecasting system with fixed parameters and recalibrated as needed.
Some interesting recent work on exponential smoothing by R. Hyndman • Article • Phicast