Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

## Estimate Multiplicative ARIMA Model

This example shows how to estimate a multiplicative seasonal ARIMA model using estimate. The time series is monthly international airline passenger numbers from 1949 to 1960.

Step 1. Load the data and specify the model.

Load the airline data set.

load(fullfile(matlabroot,'examples','econ','Data_Airline.mat'))
Y = log(Dataset.PSSG);
N = length(Y);

model = arima('Constant',0,'D',1,'Seasonality',12,...
'MALags',1,'SMALags',12);


Step 2. Estimate the model using presample data.

Use the first 13 observations as presample data, and the remaining 131 observations for estimation.

Y0 = Y(1:13);
[fit,VarCov] = estimate(model,Y(14:end),'Y0',Y0)


ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12):
---------------------------------------------------------------
Conditional Probability Distribution: Gaussian

Standard          t
Parameter       Value          Error       Statistic
-----------   -----------   ------------   -----------
Constant              0         Fixed          Fixed
MA{1}      -0.377161     0.0734258       -5.13662
SMA{12}      -0.572379     0.0939327        -6.0935
Variance     0.00138874   0.000152417         9.1115

fit =

ARIMA(0,1,1) Model Seasonally Integrated with Seasonal MA(12):
---------------------------------------------------------------
Distribution: Name = 'Gaussian'
P: 13
D: 1
Q: 13
Constant: 0
AR: {}
SAR: {}
MA: {-0.377161} at Lags [1]
SMA: {-0.572379} at Lags [12]
Seasonality: 12
Variance: 0.00138874

VarCov =

0         0         0         0
0    0.0054   -0.0015   -0.0000
0   -0.0015    0.0088    0.0000
0   -0.0000    0.0000    0.0000



The fitted model is

with innovation variance 0.0014.

Notice that the model constant is not estimated, but remains fixed at zero. There is no corresponding standard error or statistic for the constant term. The row (and column) in the variance-covariance matrix corresponding to the constant term has all zeros.

Step 3. Infer the residuals.

Infer the residuals from the fitted model.

res = infer(fit,Y(14:end),'Y0',Y0);

figure
plot(14:N,res)
xlim([0,N])
title('Residuals')


When you use the first 13 observations as presample data, residuals are available from time 14 onward.

References:

Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Time Series Analysis: Forecasting and Control. 3rd ed. Englewood Cliffs, NJ: Prentice Hall, 1994.