Documentation Center

  • Trial Software
  • Product Updates

arima class

Create ARIMA or ARIMAX time series model

Description

arima creates model objects for stationary or unit root nonstationary linear time series model. This includes moving average (MA), autoregressive (AR), mixed autoregressive and moving average (ARMA), integrated (ARIMA), multiplicative seasonal, and linear time series models that include a regression component (ARIMAX).

Specify models with known coefficients, estimate coefficients with data using estimate, or simulate models with simulate. By default, the variance of the innovations is a positive scalar, but you can specify any supported conditional variance model, such as a GARCH model.

Construction

Mdl = arima creates an ARIMA model of degrees zero.

Mdl = arima(p,D,q) creates a nonseasonal linear time series model using autoregressive degree p, differencing degree D, and moving average degree q.

Mdl = arima(Name,Value) creates a linear time series model using additional options specified by one or more Name,Value pair arguments. Name is the property name and Value is the corresponding value. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Input Arguments

    Note:   You can only use these arguments for nonseasonal models. For seasonal models, use the name-value syntax.

p

Positive integer indicating the degree of the nonseasonal autoregressive polynomial.

D

Nonnegative integer indicating the degree of nonseasonal integration in the linear time series.

q

Positive integer indicating the degree of the nonseasonal moving average polynomial.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'AR'

Cell vector of nonseasonal autoregressive coefficients corresponding to a stable polynomial. When specified without ARLags, AR is a cell vector of coefficients at lags 1,2,... to the degree of the nonseasonal autoregressive polynomial. When specified with ARLags, AR is an equivalent-length cell vector of coefficients associated with the lags in ARLags.

Default: Cell vector of NaNs.

'ARLags'

Vector of positive integer lags associated with the AR coefficients.

Default: Vector of integers 1,2,... to the degree of the nonseasonal autoregressive polynomial.

'Beta'

Real vector of coefficients corresponding to the regression component in an ARIMAX conditional mean model.

Default: [] (no regression coefficients corresponding to a regression component)

'Constant'

Scalar constant in the linear time series.

Default: NaN

'D'

Nonnegative integer indicating the degree of the nonseasonal differencing lag operator polynomial (the degree of nonseasonal integration) in the linear time series.

Default: 0 (no nonseasonal integration)

'Distribution'

Conditional probability distribution of the innovation process. Distribution is a string you specify as 'Gaussian' or 't'. Alternatively, specify it as a data structure with the field Name to store the distribution 'Gaussian' or 't'. If the distribution is 't', then the structure also needs the field DoF to store the degrees of freedom.

Default: 'Gaussian'

'MA'

Cell vector of nonseasonal moving average coefficients corresponding to an invertible polynomial. When specified without MALags, MA is a cell vector of coefficients at lags 1,2,... to the degree of the nonseasonal moving average polynomial. When specified with MALags, MA is an equivalent-length cell vector of coefficients associated with the lags in MALags.

Default: Cell vector of NaNs.

'MALags'

Vector of positive integer lags associated with the MA coefficients.

Default: Vector of integers 1,2,... to the degree of the nonseasonal moving average polynomial.

'SAR'

Cell vector of seasonal autoregressive coefficients corresponding to a stable polynomial. When specified without SARLags, SAR is a cell vector of coefficients at lags 1,2,... to the degree of the seasonal autoregressive polynomial. When specified with SARLags, SAR is an equivalent-length cell vector of coefficients associated with the lags in SARLags.

Default: Cell vector of NaNs.

'SARLags'

Vector of positive integer lags associated with the SAR coefficients.

Default: Vector of integers 1,2,... to the degree of the seasonal autoregressive polynomial.

'SMA'

Cell vector of seasonal moving average coefficients corresponding to an invertible polynomial. When specified without SMALags, SMA is a cell vector of coefficients at lags 1,2,... to the degree of the seasonal moving average polynomial. When specified with SMALags, SMA is an equivalent-length cell vector of coefficients associated with the lags in SMALags.

Default: Cell vector of NaNs.

'SMALags'

Vector of positive integer lags associated with the SMA coefficients.

Default: Vector of integers 1,2,... to the degree of the seasonal moving average polynomial.

'Seasonality'

Nonnegative integer indicating the degree of the seasonal differencing lag operator polynomial (the degree of seasonal integration) in the linear time series model.

Default: 0 (no seasonal integration)

'Variance'

Positive scalar variance of the model innovations, or a supported conditional variance model object (e.g., a garch model object).

Default: NaN

    Notes  

    • Each AR, SAR, MA, and SMA coefficient is associated with an underlying lag operator polynomial and is subject to a near-zero tolerance exclusion test. That is, the software compares each coefficient to the default lag operator zero tolerance, 1e-12. If the magnitude of a coefficient is greater than 1e-12, then the software includes it in the model. Otherwise, the software considers the coefficient sufficiently close to 0, and excludes it from the model. For additional details, see LagOp.

    • Specify the lags associated with the seasonal polynomials SAR and SMA in the periodicity of the observed data, and not as multiples of the Seasonality parameter. This convention does not conform to standard Box and Jenkins [1] notation, but it is a more flexible approach for incorporating multiplicative seasonality.

Properties

AR

Cell vector of nonseasonal autoregressive coefficients corresponding to a stable polynomial. Associated lags are 1,2,... to the degree of the nonseasonal autoregressive polynomial, or as specified in ARLags.

Beta

Real vector of regression coefficients corresponding to a regression component.

Constant

Scalar constant in the linear time series model.

D

Nonnegative integer indicating the degree of nonseasonal integration in the linear time series.

Distribution

Data structure for the conditional probability distribution of the innovation process. The field Name stores the distribution name 'Gaussian' or 't'. If the distribution is 't', then the structure also has the field DoF to store the degrees of freedom.

MA

Cell vector of nonseasonal moving average coefficients corresponding to an invertible polynomial. Associated lags are 1,2,... to the degree of the nonseasonal moving average polynomial, or as specified in MALags.

P

Degree of the compound autoregressive polynomial. P is the total number of lagged observations necessary to initialize the autoregressive component of the model.

P includes the effects of nonseasonal and seasonal integration captured by the properties D and Seasonality, respectively, and the nonseasonal and seasonal autoregressive polynomials AR and SAR, respectively.

The property P does not necessarily conform to standard Box and Jenkins notation. It only conforms if the model has no integration nor seasonal autoregressive component.

Q

Degree of the compound moving average polynomial. Q is the total number of lagged innovations necessary to initialize the moving average component of the model. Q includes the effects of nonseasonal and seasonal moving average polynomials MA and SMA, respectively.

The property Q does not necessarily conform to standard Box and Jenkins notation. It only conforms if the model has no seasonal moving average component.

SAR

Cell vector of seasonal autoregressive coefficients corresponding to a stable polynomial. Associated lags are 1,2,... to the degree of the seasonal autoregressive polynomial, or as specified in SARLags.

SMA

Cell vector of seasonal moving average coefficients corresponding to an invertible polynomial. Associated lags are 1,2,... to the degree of the seasonal moving average polynomial, or as specified in SMALags.

Seasonality

Nonnegative integer indicating the degree of seasonal integration in the linear time series model.

Variance

Positive scalar variance of the model innovations, or a supported conditional variance model (e.g., a garch model).

Methods

estimateEstimate ARIMA or ARIMAX model parameters
filterFilter disturbances using ARIMA or ARIMAX model
forecastForecast ARIMA or ARIMAX process
impulseImpulse response function
inferInfer ARIMA or ARIMAX model residuals or conditional variances
printDisplay parameter estimation results for ARIMA or ARIMAX models
simulateMonte Carlo simulation of ARIMA or ARIMAX models

Definitions

Lag Operator

The lag operator L is defined as You can create lag operator polynomials using them to condense the notation and solve linear difference equations. The lag operator polynomials in the linear time series model definitions are:

  • which is the degree p autoregressive polynomial.

  • which is the degree q moving average polynomial.

  • which is the degree ps seasonal autoregressive polynomial.

  • which is the degree qs seasonal moving average polynomial.

    Note:   The degrees of the lag operators in the seasonal polynomials Φ(L) and Θ(L) do not conform to those defined by Box and Jenkins [1]. In other words, Econometrics Toolbox™ does not treat p1 = s, p2 = 2s,...,ps = cps nor q1 = s, q2 = 2s,...,qs = cqs where cp and cq are positive integers. The software is flexible as it lets you specify the lag operator degrees. See Multiplicative ARIMA Model Specifications.

Linear Time Series Model

A linear time series model for response process yt and innovations εt is a stochastic process that has the form

In lag operator notation, this model is

The general times series model, which includes differencing, multiplicative seasonality, and seasonal differencing, is

  • The coefficients of the nonseasonal and seasonal autoregressive polynomials and correspond to AR and SAR, respectively. The degrees of these polynomials are p and ps. Similarly, the coefficients of polynomials and correspond to MA and SMA. The degrees of these polynomials are q and qs, respectively.

  • The polynomials and have a degree of nonseasonal and seasonal integration D and Ds, respectively. Note that s corresponds to model property Seasonality. Ds is 1 if Seasonality is nonzero, and it is 0 otherwise. That is, the software applies first-order seasonal differencing if Seasonality ≥ 1.

  • The model property P is equal to p + D + ps + Ds.

  • The model property Q is equal to q + qs.

  • You can extend this model by including a matrix of predictor data. For details, see ARIMA Model Including Exogenous Covariates.

Stationarity Requirements

The ARMA(p,q) model,

where εt has mean 0, variance σ2, and for t ≠ s, is stationary if its expected value, variance, and covariance between elements of the series are independent of time. For example, the MA(q) model, with c = 0, is stationary for any because

  • and

are free of t for all time points [1].

Unit Root

The time series is a unit root process if its expected value, variance, or covariance grows with time. Subsequently, the time series is not stationary.

References

[1] 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.

[2] Enders, W. Applied Econometric Time Series. Hoboken, NJ: John Wiley & Sons, Inc., 1995.

Copy Semantics

Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB® documentation.

Examples

expand all

Specify a Nonseasonal ARIMA Model

Specify an ARIMA(2,1,2) model,

Mdl = arima(2,1,2)
Mdl = 

    ARIMA(2,1,2) Model:
    --------------------
    Distribution: Name = 'Gaussian'
               P: 3
               D: 1
               Q: 2
        Constant: NaN
              AR: {NaN NaN} at Lags [1 2]
             SAR: {}
              MA: {NaN NaN} at Lags [1 2]
             SMA: {}
        Variance: NaN

The model is nonseasonal, so you can use shorthand syntax. The result is a model with two nonseasonal AR coefficients (p = 2), two nonseasonal MA coefficients (q = 2), and one degree of differencing (D = 1). The property P is equal to p + D = 3. NaN values indicate estimable parameters.

Modify an ARIMA Model Object

Create, and then modify an arima model.

Specify an AR(3) model with known coefficients,

where εt has a Gaussian distribution with mean 0 and variance 0.01.

Mdl = arima('Constant',0.05,'AR',{0.6,0.2,-0.1},...
	'Variance',0.01)
Mdl = 

    ARIMA(3,0,0) Model:
    --------------------
    Distribution: Name = 'Gaussian'
               P: 3
               D: 0
               Q: 0
        Constant: 0.05
              AR: {0.6 0.2 -0.1} at Lags [1 2 3]
             SAR: {}
              MA: {}
             SMA: {}
        Variance: 0.01

Modify the model object to make all the model parameters unknown (set them to NaN).

Mdl.Constant = NaN;
Mdl.AR{1:3} = NaN;
Mdl.Variance = NaN
Mdl = 

    ARIMA(3,0,0) Model:
    --------------------
    Distribution: Name = 'Gaussian'
               P: 3
               D: 0
               Q: 0
        Constant: NaN
              AR: {NaN NaN NaN} at Lags [1 2 3]
             SAR: {}
              MA: {}
             SMA: {}
        Variance: NaN

Make the innovation distribution a t distribution with 10 degrees of freedom.

tdist = struct('Name','t','DoF',10);
Mdl.Distribution = tdist
Mdl = 

    ARIMA(3,0,0) Model:
    --------------------
    Distribution: Name = 't', DoF = 10
               P: 3
               D: 0
               Q: 0
        Constant: NaN
              AR: {NaN NaN NaN} at Lags [1 2 3]
             SAR: {}
              MA: {}
             SMA: {}
        Variance: NaN

Specify an Additive Seasonal ARIMA Model

Specify an MA model with no constant, and moving average terms at lags 1, 2, and 12,

Mdl = arima('Constant',0,'MALags',[1,2,12])
Mdl = 

    ARIMA(0,0,12) Model:
    --------------------
    Distribution: Name = 'Gaussian'
               P: 0
               D: 0
               Q: 12
        Constant: 0
              AR: {}
             SAR: {}
              MA: {NaN NaN NaN} at Lags [1 2 12]
             SMA: {}
        Variance: NaN

Specify a Multiplicative Seasonal Model

Specify a multiplicative seasonal ARIMA model with seasonal and nonseasonal integration,

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

    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: {NaN} at Lags [1]
             SMA: {NaN} at Lags [12]
     Seasonality: 12
        Variance: NaN

An ARIMA model is assumed to be multiplicative any time SMALags or SARLags are specified.

Specify an ARIMAX Model

Specify an ARIMAX model with one or more regression coefficients corresponding to predictor data.

Specify the ARIMAX(1,1,1) model,

using arima.

Mdl = arima('AR',0.2,'D',1,'MA',0.3,'Beta',0.5)
Mdl = 

    ARIMAX(1,1,1) Model:
    ---------------------
    Distribution: Name = 'Gaussian'
               P: 2
               D: 1
               Q: 1
        Constant: NaN
              AR: {0.2} at Lags [1]
             SAR: {}
              MA: {0.3} at Lags [1]
             SMA: {}
            Beta: [0.5]
        Variance: NaN

In the output, the property P is sum of the AR lags and degree of nonseasonal integration p + D = 2.

Modify this ARIMAX(1,1,1) model by adding two more regression coefficients,

 Mdl.Beta=[0.5,4,-0.6]
Mdl = 

    ARIMAX(1,1,1) Model:
    ---------------------
    Distribution: Name = 'Gaussian'
               P: 2
               D: 1
               Q: 1
        Constant: NaN
              AR: {0.2} at Lags [1]
             SAR: {}
              MA: {0.3} at Lags [1]
             SMA: {}
            Beta: [0.5 4 -0.6]
        Variance: NaN

Specify a Composite Conditional Variance Model

Specify an ARIMA(1,0,1) conditional mean model with a GARCH(1,1) conditional variance model.

Specify the conditional mean model.

Mdl = arima(1,0,1);

Specify the conditional variance model.

Mdl.Variance = garch(1,1)
Mdl = 

    ARIMA(1,0,1) Model:
    --------------------
    Distribution: Name = 'Gaussian'
               P: 1
               D: 0
               Q: 1
        Constant: NaN
              AR: {NaN} at Lags [1]
             SAR: {}
              MA: {NaN} at Lags [1]
             SMA: {}
        Variance: [GARCH(1,1) Model]

See Also

| | | | | |

More About

Was this topic helpful?