Exponential smoothing methods using state-space models in Matlab

28 views (last 30 days)
Hello!
Does anybody had experience in realisation of exponential smoothing methods (simple, Holt’s, Brown, Holt-Winters etc.) for time-series forecasting using state-space models approach (e.g. authors Hyndman, OKS ) in Matlab? I tried to implement additive Holt-Winters model using ssm function in Matlab Econometric toolbox and determine Holt-Winters with linear trend (or ETS(A,A,A) model) in that way:
% season circle = 4 months;
y = simulate(arima(AR, {0.5}, SARLags, 4, SAR, {0.7}, Constant, 3)); % initialise data with seasonal ARIMA model
A = [ 1 1 0 0 0 0;
0 0 0 0 0 1;
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0];
alpha = NaN; beta = NaN; gamma = NaN; % parameters for estimation
B = [alpha, beta, gamma, 0, 0, 0];
C = [1 1 0 0 0 1];
D = NaN;
% Initialize sms object
Mdl = ssm(A,B,C,D);
% Estimate state-space model
initParams = [0.5 0.5 0.5 0]; % Initial parameters for alpha, beta, gamma and error term
fitMdl = estimate(Mdl, y, initParams, lb,[0, 0, 0, -1],ub,[1,1,1,1],'CovMethod','hessian');
% Get smoothed data
simOut = smooth(fitMdl,y);
% Get forecast on horizon
horizon = 8;
fcastY = forecast(fitMdl, horizon, y);
The SSM model in Matlab differs from the model described Hyndman (state space method, implemented in the forecast package in R). Obvious difference is that in Matlab there is no possibility to set initial state of the model (x(0) = [l(t) b(t), s(t) s(t-1), s(t-2), s(t-3)]; based on heuristics). Perhaps there are other fundamental differences in approaches.
So the question: is it possible in Matlab with minimal effort to implement state space models for time series analysis in accordance with the approach described in the paper by Hyndman, OKS (Forecasting with Exponential smoothing the state space approach).

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!