alt_stvar {sstvars} | R Documentation |
Construct a STVAR model based on results from an arbitrary estimation round of fitSTVAR
Description
alt_stvar
constructs a STVAR model based on results from an arbitrary estimation
round of fitSTVAR
Usage
alt_stvar(stvar, which_largest = 1, which_round, calc_std_errors = FALSE)
Arguments
stvar |
object of class |
which_largest |
based on estimation round with which largest log-likelihood should the model be constructed?
An integer value in 1,..., |
which_round |
based on which estimation round should the model be constructed? An integer value in 1,..., |
calc_std_errors |
should approximate standard errors be calculated? |
Details
It's sometimes useful to examine other estimates than the one with the highest log-likelihood. This function
is wrapper around STVAR
that picks the correct estimates from an object returned by fitSTVAR
.
Value
Returns an S3 object of class 'stvar'
defining a smooth transition VAR model. The returned list
contains the following components (some of which may be NULL
depending on the use case):
data |
The input time series data. |
model |
A list describing the model structure. |
params |
The parameters of the model. |
std_errors |
Approximate standard errors of the parameters, if calculated. |
transition_weights |
The transition weights of the model. |
regime_cmeans |
Conditional means of the regimes, if data is provided. |
total_cmeans |
Total conditional means of the model, if data is provided. |
total_ccovs |
Total conditional covariances of the model, if data is provided. |
uncond_moments |
A list of unconditional moments including regime autocovariances, variances, and means. |
residuals_raw |
Raw residuals, if data is provided. |
residuals_std |
Standardized residuals, if data is provided. |
structural_shocks |
Recovered structural shocks, if applicable. |
loglik |
Log-likelihood of the model, if data is provided. |
IC |
The values of the information criteria (AIC, HQIC, BIC) for the model, if data is provided. |
all_estimates |
The parameter estimates from all estimation rounds, if applicable. |
all_logliks |
The log-likelihood of the estimates from all estimation rounds, if applicable. |
which_converged |
Indicators of which estimation rounds converged, if applicable. |
which_round |
Indicators of which round of optimization each estimate belongs to, if applicable. |
References
Anderson H., Vahid F. 1998. Testing multiple equation systems for common nonlinear components. Journal of Econometrics, 84:1, 1-36.
Hubrich K., Teräsvirta. T. 2013. Thresholds and Smooth Transitions in Vector Autoregressive Models. CREATES Research Paper 2013-18, Aarhus University.
Lanne M., Virolainen S. 2024. A Gaussian smooth transition vector autoregressive model: An application to the macroeconomic effects of severe weather shocks. Unpublished working paper, available as arXiv:2403.14216.
Kheifets I.L., Saikkonen P.J. 2020. Stationarity and ergodicity of Vector STAR models. Econometric Reviews, 39:4, 407-414.
Lütkepohl H., Netšunajev A. 2017. Structural vector autoregressions with smooth transition in variances. Journal of Economic Dynamics & Control, 84, 43-57.
Tsay R. 1998. Testing and Modeling Multivariate Threshold Models. Journal of the American Statistical Association, 93:443, 1188-1202.
Virolainen S. 2024. Identification by non-Gaussianity in structural threshold and smooth transition vector autoregressive models. Unpublished working paper, available as arXiv:2404.19707.
See Also
Examples
## These are long-running examples that take approximately 10 seconds to run.
# Estimate a Gaussian STVAR p=1, M=2 model with exponential weight function and
# the first lag of the second variable as the switching variables. Run only two
# estimation rounds:
fit12 <- fitSTVAR(gdpdef, p=1, M=2, weight_function="exponential", weightfun_pars=c(2, 1),
nrounds=2, seeds=c(1, 7))
fit12$loglik # Log-likelihood of the estimated model
# Print the log-likelihood obtained from each estimation round:
fit12$all_logliks
# Construct the model based on the second largest log-likelihood found in the
# estimation procedure:
fit12_alt <- alt_stvar(fit12, which_largest=2, calc_std_errors=FALSE)
fit12_alt$loglik # Log-likelihood of the alternative solution
# Construct a model based on a specific estimation round, the second round:
fit12_alt2 <- alt_stvar(fit12, which_round=2, calc_std_errors=FALSE)
fit12_alt2$loglik # Log-likelihood of the alternative solution