Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

You can express all stationary stochastic processes in the general linear form [2]

$${y}_{t}=\mu +{\epsilon}_{t}+{\displaystyle \sum _{i=1}^{\infty}{\psi}_{i}{\epsilon}_{t-i}.}$$

In Econometrics
Toolbox™, the general form for the innovation
process is $${\epsilon}_{t}={\sigma}_{t}{z}_{t}$$. Here, *z _{t}* is
an independent and identically distributed (iid) series with mean
0 and variance 1, and $${\sigma}_{t}^{2}$$ is the variance
of the innovation process at time

`arima`

model objects have two properties for
storing information about the innovation process:

`Variance`

stores the form of $${\sigma}_{t}^{2}$$`Distribution`

stores the parametric form of the distribution of*z*_{t}

If $${\sigma}_{t}^{2}={\sigma}_{\epsilon}^{2}$$ for all times

*t*, then $${\epsilon}_{t}$$ is an independent process with constant variance, $${\sigma}_{\epsilon}^{2}$$.The default value for

`Variance`

is`NaN`

, meaning constant variance with unknown value. You can alternatively assign`Variance`

any positive scalar value, or estimate it using`estimate`

.A time series can exhibit

*volatility clustering*, meaning a tendency for large changes to follow large changes, and small changes to follow small changes. You can model this behavior with a conditional variance model—a dynamic model describing the evolution of the process variance, $${\sigma}_{t}^{2}$$, conditional on past innovations and variances.Set

`Variance`

equal to one of the three conditional variance model objects available in Econometrics Toolbox (`garch`

,`egarch`

, or`gjr`

). This creates a composite conditional mean and variance model variable.

The available distributions for *z _{t}* are:

Standardized Gaussian

Standardized Student’s

*t*with*ν*> 2 degrees of freedom,where $${T}_{\nu}$$ follows a Student’s$${z}_{t}=\sqrt{\frac{\nu -2}{\nu}}{T}_{\nu},$$

*t*distribution with*ν*> 2 degrees of freedom.

The *t* distribution is useful for modeling
time series with more extreme values than expected under a Gaussian
distribution. Series with larger values than expected under normality
are said to have *excess kurtosis*.

It is good practice to assess the distributional properties of model residuals to determine if a Gaussian innovation distribution (the default distribution) is appropriate for your data.

The property `Distribution`

in a model stores the distribution name (and degrees of freedom for the *t* distribution). The data type of `Distribution`

is a `struct`

array. For a Gaussian innovation distribution, the data structure has only one field: `Name`

. For a Student's *t* distribution, the data structure must have two fields:

`Name`

, with value`'t'`

`DoF`

, with a scalar value larger than two (`NaN`

is the default value)

If the innovation distribution is Gaussian, you do not need to assign a value to `Distribution`

. `arima`

creates the required data structure.

To illustrate, consider specifying an MA(2) model with an iid Gaussian innovation process:

Mdl = arima(0,0,2)

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

The model output shows that `Distribution`

is a `struct`

array with one field, `Name`

, with the value `'Gaussian'`

.

When specifying a Student's *t* innovation distribution, you can specify the distribution with either unknown or known degrees of freedom. If the degrees of freedom are unknown, you can simply assign `Distribution`

the value `'t'`

. By default, the property `Distribution`

has a data structure with field `Name`

equal to `'t'`

, and field `DoF`

equal to `NaN`

. When you input the model to `estimate`

, the degrees of freedom are estimated along with any other unknown model parameters.

For example, specify an MA(2) model with an iid Student's *t* innovation distribution, with unknown degrees of freedom:

Mdl = arima('MALags',1:2,'Distribution','t')

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

The output shows that `Distribution`

is a data structure with two fields. Field `Name`

has the value `'t'`

, and field `DoF`

has the value `NaN`

.

If the degrees of freedom are known, and you want to set an equality constraint, assign a `struct`

array to `Distribution`

with fields `Name`

and `DoF`

. In this case, if the model is input to `estimate`

, the degrees of freedom won't be estimated (the equality constraint is upheld).

Specify an MA(2) model with an iid Student's *t* innovation process with eight degrees of freedom:

Mdl = arima('MALags',1:2,'Distribution',struct('Name','t','DoF',8))

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

The output shows the specified innovation distribution.

After a model exists in the Workspace, you can modify its `Distribution`

property using dot notation. You cannot modify the fields of the `Distribution`

data structure directly. For example, `Mdl.Distribution.DoF = 8`

is not a valid assignment. However, you can get the individual fields.

Start with an MA(2) model:

Mdl = arima(0,0,2);

To change the distribution of the innovation process in an existing model to a Student's *t* distribution with unknown degrees of freedom, type:

`Mdl.Distribution = 't'`

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

To change the distribution to a *t* distribution with known degrees of freedom, use a data structure:

Mdl.Distribution = struct('Name','t','DoF',8)

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

You can get the individual `Distribution`

fields:

DistributionDoF = Mdl.Distribution.DoF

DistributionDoF = 8

To change the innovation distribution from a Student's *t* back to a Gaussian distribution, type:

`Mdl.Distribution = 'Gaussian'`

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

The `Name`

field is updated to `'Gaussian'`

, and there is no longer a `DoF`

field.

[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] Wold, H. *A Study in the Analysis
of Stationary Time Series*. Uppsala, Sweden: Almqvist and
Wiksell, 1938.

`arima`

| `egarch`

| `garch`

| `gjr`

| `struct`

- Specify Conditional Mean Models Using arima
- Modify Properties of Conditional Mean Model Objects
- Specify Conditional Mean and Variance Models

Was this topic helpful?