| MSARXmdl | R Documentation |
This function estimates a Markov-switching autoregressive model
MSARXmdl(Y, p, k, Z, control = list())
Y |
a |
p |
integer for the number of lags to use in estimation. Must be greater than or equal to |
k |
integer for the number of regimes to use in estimation. Must be greater than or equal to |
Z |
a |
control |
List with model options including:
|
List of class MSARmdl (S3 object) with model attributes including:
y: a (T x 1) matrix of observations.
X: a (T-p x p + const) matrix of lagged observations with a leading column of 1s.
x: a (T-p x p) matrix of lagged observations.
fitted: a (T x 1) matrix of fitted values.
resid: a (T x 1) matrix of residuals.
intercept: a (k x 1) vector of estimated intercepts of each process.
mu: a (k x 1) vector of estimated means of each process.
beta: a ((1 + p + qz) x k) matrix of estimated coefficients.
betaZ: a (qz x q) matrix of estimated exogenous regressor coefficients.
phi: estimates of autoregressive coefficients.
stdev: a (k x 1) vector of estimated standard deviation of each process.
sigma: a (k x 1) estimated covariance matrix.
theta: vector containing: mu and vech(sigma).
theta_mu_ind: vector indicating location of mean with 1 and 0 otherwise.
theta_sig_ind: vector indicating location of variances with 1 and 0 otherwise.
theta_var_ind: vector indicating location of variances with 1 and 0 otherwise. This is the same as theta_sig_ind in MSARmdl.
theta_P_ind: vector indicating location of transition matrix elements with 1 and 0 otherwise.
stationary: Boolean indicating if process is stationary if TRUE or non-stationary if FALSE.
n: number of observations (same as T).
p: number of autoregressive lags.
q: number of series. This is always 1 in MSARmdl.
k: number of regimes in estimated model.
P: a (k x k) transition matrix.
pinf: a (k x 1) vector with limiting probabilities of each regime.
St: a (T x k) vector with smoothed probabilities of each regime at each time t.
deltath: double with maximum absolute difference in vector theta between last iteration.
iterations: number of EM iterations performed to achieve convergence (if less than maxit).
theta_0: vector of initial values used.
init_used: number of different initial values used to get a finite solution. See description of input maxit_converge.
msmu: Boolean. If TRUE model was estimated with switch in mean. If FALSE model was estimated with constant mean.
msvar: Boolean. If TRUE model was estimated with switch in variance. If FALSE model was estimated with constant variance.
control: List with model options used.
logLike: log-likelihood.
AIC: Akaike information criterion.
BIC: Bayesian (Schwarz) information criterion.
Hess: Hessian matrix. Approximated using hessian and only returned if getSE=TRUE.
info_mat: Information matrix. Computed as the inverse of -Hess. If matrix is not PD then nearest PD matrix is obtained using nearest_spd. Only returned if getSE=TRUE.
nearPD_used: Boolean determining whether nearPD function was used on info_mat if TRUE or not if FALSE. Only returned if getSE=TRUE.
theta_se: standard errors of parameters in theta. Only returned if getSE=TRUE.
trace: List with Lists of estimation output for each initial value used due to use_diff_init > 1.
Dempster, A. P., N. M. Laird, and D. B. Rubin. 1977. “Maximum Likelihood from Incomplete Data via the EM Algorithm.” Journal of the Royal Statistical Society. Series B 39 (1): 1–38..
Hamilton, James D. 1990. “Analysis of time series subject to changes in regime.” Journal of econometrics, 45 (1-2): 39–70.
ARmdl
# --------------------------- Use simulated process ----------------------------
set.seed(1234)
# Define DGP of MS AR process
mdl_ms2 <- list(n = 200,
mu = c(5,10),
sigma = c(1,4),
phi = c(0.5),
k = 2,
P = rbind(c(0.90, 0.10),
c(0.10, 0.90)))
# Simulate process using simuMSAR() function
y_ms_simu <- simuMSAR(mdl_ms2)
# Set options for model estimation
control <- list(msmu = TRUE,
msvar = TRUE,
method = "EM",
use_diff_init = 1)
# Estimate model
ms_mdl <- MSARmdl(y_ms_simu$y, p = 1, k = 2, control = control)
summary(ms_mdl)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.