loglikelihood_int: Compute the log-likelihood of GMAR, StMAR, or G-StMAR model

View source: R/loglikelihood.R

loglikelihood_intR Documentation

Compute the log-likelihood of GMAR, StMAR, or G-StMAR model

Description

loglikelihood_int computes the log-likelihood of the specified GMAR, StMAR, or G-StMAR model.

Usage

loglikelihood_int(
  data,
  p,
  M,
  params,
  model = c("GMAR", "StMAR", "G-StMAR"),
  restricted = FALSE,
  constraints = NULL,
  conditional = TRUE,
  parametrization = c("intercept", "mean"),
  boundaries = TRUE,
  checks = TRUE,
  to_return = c("loglik", "mw", "mw_tplus1", "loglik_and_mw", "terms", "term_densities",
    "regime_cmeans", "regime_cvars", "total_cmeans", "total_cvars", "qresiduals"),
  minval
)

Arguments

data

a numeric vector or class 'ts' object containing the data. NA values are not supported.

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.

conditional

a logical argument specifying whether the conditional or exact log-likelihood function should be used.

parametrization

is the model parametrized with the "intercepts" \phi_{m,0} or "means" \mu_{m} = \phi_{m,0}/(1-\sum\phi_{i,m})?

boundaries

a logical argument. If TRUE, then loglikelihood returns minval if...

  • some component variance is not larger than zero,

  • some parametrized mixing weight \alpha_{1},...,\alpha_{M-1} is not larger than zero,

  • sum of the parametrized mixing weights is not smaller than one,

  • if the model is not stationary,

  • or if model=="StMAR" or model=="G-StMAR" and some degrees of freedom parameter \nu_{m} is not larger than two.

Argument minval will be used only if boundaries==TRUE.

checks

TRUE or FALSE specifying whether argument checks, such as stationarity checks, should be done.

to_return

should the returned object be the log-likelihood value, mixing weights, mixing weights including value for alpha_{m,T+1}, a list containing log-likelihood value and mixing weights, the terms l_{t}: t=1,..,T in the log-likelihood function (see KMS 2015, eq.(13)), the densities in the terms, regimewise conditional means, regimewise conditional variances, total conditional means, total conditional variances, or quantile residuals?

minval

this will be returned when the parameter vector is outside the parameter space and boundaries==TRUE.

Value

Note that the first p observations are taken as the initial values so the mixing weights and conditional moments start from the p+1:th observation (interpreted as t=1).

By default:

log-likelihood value of the specified model,

If to_return=="mw":

a size ((n_obs-p)xM) matrix containing the mixing weights: for m:th component in the m:th column.

If to_return=="mw_tplus1":

a size ((n_obs-p+1)xM) matrix containing the mixing weights: for m:th component in the m:th column. The last row is for \alpha_{m,T+1}.

If to_return=="loglik_and_mw":

a list of two elements. The first element contains the log-likelihood value and the second element contains the mixing weights.

If to_return=="terms":

a size ((n_obs-p)x1) numeric vector containing the terms l_{t}.

If to_return=="term_densities":

a size ((n_obs-p)xM) matrix containing the conditional densities that summed over in the terms l_{t}, as [t, m].

If to_return=="regime_cmeans":

a size ((n_obs-p)xM) matrix containing the regime specific conditional means.

If to_return=="regime_cvars":

a size ((n_obs-p)xM) matrix containing the regime specific conditional variances.

If to_return=="total_cmeans":

a size ((n_obs-p)x1) vector containing the total conditional means.

If to_return=="total_cvars":

a size ((n_obs-p)x1) vector containing the total conditional variances.

If to_return=="qresiduals":

a size ((n_obs-p)x1) vector containing the quantile residuals.

References

  • Galbraith, R., Galbraith, J. 1974. On the inverses of some patterned matrices arising in the theory of stationary time series. Journal of Applied Probability 11, 63-71.

  • Kalliovirta L. (2012) Misspecification tests based on quantile residuals. The Econometrics Journal, 15, 358-393.

  • Kalliovirta L., Meitz M. and Saikkonen P. 2015. Gaussian Mixture Autoregressive model for univariate time series. Journal of Time Series Analysis, 36(2), 247-266.

  • Meitz M., Preve D., Saikkonen P. 2023. A mixture autoregressive model based on Student's t-distribution. Communications in Statistics - Theory and Methods, 52(2), 499-515.

  • Virolainen S. 2022. A mixture autoregressive model based on Gaussian and Student's t-distributions. Studies in Nonlinear Dynamics & Econometrics, 26(4) 559-580.


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