stmarpars_to_gstmar: Transform a StMAR or G-StMAR model parameter vector to a...

View source: R/pickAndChangeParams.R

stmarpars_to_gstmarR Documentation

Transform a StMAR or G-StMAR model parameter vector to a corresponding G-StMAR model parameter vector with large dfs parameters reduced.

Description

stmarpars_to_gstmar transforms a StMAR model parameter vector to a corresponding G-StMAR model parameter vector with large dfs parameters reduced by switching the related regimes to be GMAR type.

Usage

stmarpars_to_gstmar(
  p,
  M,
  params,
  model = c("GMAR", "StMAR", "G-StMAR"),
  restricted = FALSE,
  constraints = NULL,
  maxdf = 100
)

Arguments

p

a positive integer specifying the autoregressive order of the model.

M
For GMAR and StMAR models:

a positive integer specifying the number of mixture components.

For G-StMAR models:

a size (2x1) integer vector specifying the number of GMAR type components M1 in the first element and StMAR type components M2 in the second element. The total number of mixture components is M=M1+M2.

params

a real valued parameter vector specifying the model.

For non-restricted models:

Size (M(p+3)+M-M1-1x1) vector \theta=(\upsilon_{1},...,\upsilon_{M}, \alpha_{1},...,\alpha_{M-1},\nu) where

  • \upsilon_{m}=(\phi_{m,0},\phi_{m},\sigma_{m}^2)

  • \phi_{m}=(\phi_{m,1},...,\phi_{m,p}), m=1,...,M

  • \nu=(\nu_{M1+1},...,\nu_{M})

  • M1 is the number of GMAR type regimes.

In the GMAR model, M1=M and the parameter \nu dropped. In the StMAR model, M1=0.

If the model imposes linear constraints on the autoregressive parameters: Replace the vectors \phi_{m} with the vectors \psi_{m} that satisfy \phi_{m}=C_{m}\psi_{m} (see the argument constraints).

For restricted models:

Size (3M+M-M1+p-1x1) vector \theta=(\phi_{1,0},...,\phi_{M,0},\phi, \sigma_{1}^2,...,\sigma_{M}^2,\alpha_{1},...,\alpha_{M-1},\nu), where \phi=(\phi_{1},...,\phi_{p}) contains the AR coefficients, which are common for all regimes.

If the model imposes linear constraints on the autoregressive parameters: Replace the vector \phi with the vector \psi that satisfies \phi=C\psi (see the argument constraints).

Symbol \phi denotes an AR coefficient, \sigma^2 a variance, \alpha a mixing weight, and \nu a degrees of freedom parameter. If parametrization=="mean", just replace each intercept term \phi_{m,0} with the regimewise mean \mu_m = \phi_{m,0}/(1-\sum\phi_{i,m}). In the G-StMAR model, the first M1 components are GMAR type and the rest M2 components are StMAR type. Note that in the case M=1, the mixing weight parameters \alpha are dropped, and in the case of StMAR or G-StMAR model, the degrees of freedom parameters \nu have to be larger than 2.

model

is "GMAR", "StMAR", or "G-StMAR" model considered? In the G-StMAR model, the first M1 components are GMAR type and the rest M2 components are StMAR type.

restricted

a logical argument stating whether the AR coefficients \phi_{m,1},...,\phi_{m,p} are restricted to be the same for all regimes.

constraints

specifies linear constraints imposed to each regime's autoregressive parameters separately.

For non-restricted models:

a list of size (pxq_{m}) constraint matrices C_{m} of full column rank satisfying \phi_{m}=C_{m}\psi_{m} for all m=1,...,M, where \phi_{m}=(\phi_{m,1},...,\phi_{m,p}) and \psi_{m}=(\psi_{m,1},...,\psi_{m,q_{m}}).

For restricted models:

a size (pxq) constraint matrix C of full column rank satisfying \phi=C\psi, where \phi=(\phi_{1},...,\phi_{p}) and \psi=\psi_{1},...,\psi_{q}.

The symbol \phi denotes an AR coefficient. Note that regardless of any constraints, the autoregressive order is always p for all regimes. Ignore or set to NULL if applying linear constraints is not desired.

maxdf

regimes with degrees of freedom parameter value larger than this will be turned into GMAR type.

Value

Returns a list with three elements: $params contains the corresponding G-StMAR model parameter vector, $reg_order contains the permutation that was applied to the regimes (GMAR type components first, and decreasing ordering by mixing weight parameters), and $M a vector of length two containing the number of GMAR type regimes in the first element and the number of StMAR type regimes in the second.

Examples

 params12 <- c(2, 0.9, 0.1, 0.8, 0.5, 0.5, 0.4, 12, 300)
 stmarpars_to_gstmar(p=1, M=2, params=params12, model="StMAR", maxdf=100)

uGMAR documentation built on Aug. 19, 2023, 5:10 p.m.