vgxset

Set VARMAX model specification parameters

Syntax

Spec = vgxset('Name1',Value1,'Name2',Value2,...)
Spec = vgxset(OldSpec,'Name1',Value1,'Name2',Value2,...)
Spec = vgxset

Description

vgxset sets or modifies parameter values in a multivariate time series specification structure.

Spec = vgxset('Name1',Value1,'Name2',Value2,...) creates a multivariate time series specification structure Spec with parameters of specified name set to specified values. See Name-Value Pair Arguments.

Spec = vgxset(OldSpec,'Name1',Value1,'Name2',Value2,...) modifies the multivariate time series specification structure OldSpec, changing the parameters of specified name to the specified values. See Name-Value Pair Arguments.

Spec = vgxset creates a specification structure template for the default model (a univariate Gaussian noise process with no offset).

Input Arguments

'Name'

A character string naming a valid parameter of the output specification structure Spec.

Value

The value assigned to the corresponding parameter.

OldSpec

A specification structure to be modified, as created by vgxset.

Output Arguments

Spec

A specification encapsulating the style, orders, and parameters of the conditional mean of a multivariate time series model.

Name-Value Pair Arguments

Specify the following optional input arguments as variable-length lists of matching parameter name/value pairs: 'Name1', Value1, 'Name2', Value2, ... and so on. The following rules apply when specifying parameter-value pairs:

  • Specify the parameter name as a character string, followed by its corresponding parameter value.

  • You can specify parameter name/value pairs in any order.

  • Parameter names are case insensitive.

  • You can specify unambiguous partial string matches.

Model Information

NameValue
'Model'

A string describing the model. The default is auto-generated, and depends on model parameters.

'Info'

A string with additional model information. The default is empty.

'Series'

A cell array of strings providing names for each time series. The default is empty.

Model Orders

NameValue
n

A positive integer specifying the number of time series. The default is 1.

nAR

A nonnegative integer specifying the number of AR lags. The default is 0.

nMA

A nonnegative integer specifying the number of MA lags. The default is 0.

nX

A nonnegative integer specifying the number regression parameters. The default is 0.

Model Parameters

NameValue
a

An n-vector of offset constants. The default is empty.

AR0

An n-by-n invertible matrix representing the zero-lag structural AR coefficients. The default is empty.

AR

An nAR-element cell array of n-by-n matrices of AR coefficients. The default is empty.

MA0

An n-by-n invertible matrix representing the zero-lag structural MA coefficients. The default is empty.

MA

An nMA-element cell array of n-by-n matrices of MA coefficients. The default is empty.

b

An nX-vector of regression coefficients. The default is empty.

Q

An n-by-n symmetric innovations covariance matrix. The default is empty.

Model Lags

NameValue
ARlag

A monotonically increasing nAR-vector of AR lags. The default is empty.

MAlag

A monotonically increasing nMA-vector of MA lags. The default is empty.

Model Parameter Estimation

NameValue
asolve

An n-vector of additive offset logical indicators. The default is empty.

ARsolve

An nAR-element cell array of n-by-n matrices of AR logical indicators. The default is empty.

AR0solve

An n-by-n matrix of AR0 logical indicators. The default is empty.

MAsolve

An nMA-element cell array of n-by-n matrices of MA logical indicators. The default is empty.

MA0solve

An n-by-n matrix of MA0 logical indicators. The default is empty.

bsolve

An nX-vector of regression logical indicators. The default is empty.

Qsolve

An n-by-n symmetric covariance matrix logical indicator. The default is empty.

Currently, vgxvarx cannot fit the following matrices:

  • AR0

  • MA0

  • MA

Therefore, vgxvarx ignores AR0solve, MA0solve, and MAsolve. However, you are invited to examine the Example_StructuralParams.m file for one approach to fitting the AR0 and MA0 matrices. Enter help Example_StructuralParams at the MATLAB® command line for information.

Furthermore, vgxvarx also ignores Qsolve. vgxvarx can fit either a diagonal or a full Q matrix; see Optional Input Arguments.

Model Offset

NameValue
Constant

Additive offset logical indicator. The default is false.

Examples

expand all

Specify VARMA Models and Adjust Parameter Values

You can set up a multiple time series specification structure in three ways. The first and most direct approach is to set all model parameters directly. The following command creates a specification structure for a 2-dimensional VARMAX(2,1,2) model with constant offset:

Spec = vgxset('a', [0.1; -0.1], ...
	'b', [1.1, 0.9], ...
	'AR', {[0.6, 0.3; -0.4, 0.7], [0.3, 0.1; 0.05, 0.2]}, ...
    'MA', [0.5, -0.1; 0.07, 0.2], ...
	'Q', [0.03, 0.004; 0.004, 0.006])
Spec = 

      Model: 2-D VARMAX(2,1,2) with Additive Constant
          n: 2
        nAR: 2
        nMA: 1
         nX: 2
          a: [0.1 -0.1] additive constants
         AR: {2x1 cell} stable autoregressive process
         MA: {1x1 cell} invertible moving average process
          b: [1.1 0.9] regression coefficients
          Q: [2x2] covariance matrix

Notice that multiple lag coefficients are specified as matrices in each cell of a vector cell array and that a single lag can be entered as a matrix.

A second approach creates the same specification structure for a 2-dimensional VARMAX(2,1,2) model with constant offset. In this case, however, no parameter values have been set:

Spec = vgxset('n',2,'nAR',2,'nMA',1,'nX',2, ...
    'Constant',true)
Spec = 

      Model: 2-D VARMAX(2,1,2) with Additive Constant
          n: 2
        nAR: 2
        nMA: 1
         nX: 2
          a: []
         AR: {}
         MA: {}
          b: []
          Q: []

Note that this approach requires you to specify explicitly the inclusion of an additive constant.

Given this specification structure, you can fill in the parameters or use calibration methods to fill in the rest of the structure.

The third way to set up a specification structure is to specify which parameters in a model that you would like to estimate. The following command creates a specification structure for our 2-dimensional model:

Spec = vgxset('ARsolve', repmat({true(2)}, 2, 1), ...
    'MAsolve',true(2),'bsolve',true(2, 1), ...
    'asolve',true(2,1))
Spec = 

      Model: 2-D VARMAX(2,1,2) with Additive Constant
          n: 2
        nAR: 2
        nMA: 1
         nX: 2
          a: []
     asolve: [1 1 logical] additive constant indicators
         AR: {}
    ARsolve: {2x1 cell of logicals} autoregressive lag indicators
         MA: {}
    MAsolve: {1x1 cell of logicals} moving average lag indicators
          b: []
     bsolve: [1 1 logical] regression coefficient indicators
          Q: []

Notice that the dimensions of the model have been specified implicitly from the "solve" flags which are displayed since they were set directly. The solve flags were not displayed in prior examples since, by default, the "solve" flags are implicitly true.

Finally, you can change a specification structure by passing it into the function vgxset. For example, if you start with a fully-qualified VARMAX(2, 1, 2) model,

Spec = vgxset('a', [0.1; -0.1], ...
	        'b', [1.1, 0.9], ...
	       'AR', {[0.6, 0.3; -0.4, 0.7], [0.3, 0.1; 0.05, 0.2]}, ...
         'MA', [0.5, -0.1; 0.07, 0.2], ...
	         'Q', [0.03, 0.004; 0.004, 0.006])
Spec = 

      Model: 2-D VARMAX(2,1,2) with Additive Constant
          n: 2
        nAR: 2
        nMA: 1
         nX: 2
          a: [0.1 -0.1] additive constants
         AR: {2x1 cell} stable autoregressive process
         MA: {1x1 cell} invertible moving average process
          b: [1.1 0.9] regression coefficients
          Q: [2x2] covariance matrix

you can remove exogenous inputs from the model to convert it into a VARMA(2, 1) model with:

Spec = vgxset(Spec, 'nX', 0, 'b', [])
Spec = 

      Model: 2-D VARMA(2,1) with Additive Constant
          n: 2
        nAR: 2
        nMA: 1
         nX: 0
          a: [0.1 -0.1] additive constants
         AR: {2x1 cell} stable autoregressive process
         MA: {1x1 cell} invertible moving average process
          Q: [2x2] covariance matrix

Notice that you must remove all information about the exogenous inputs which means both the dimensions 'nX' and, if nonempty, the parameters 'b'.

See Also

| |

Was this topic helpful?