| iterate_more {sstvars} | R Documentation | 
Maximum likelihood estimation of a reduced form or structural STVAR model based on preliminary estimates
Description
iterate_more uses a variable metric algorithm to estimate a reduced form or structural STVAR model
(object of class 'stvar') based on preliminary estimates.
Usage
iterate_more(stvar, maxit = 100, calc_std_errors = TRUE)
Arguments
| stvar | an object of class  | 
| maxit | the maximum number of iterations in the variable metric algorithm. | 
| calc_std_errors | should approximate standard errors be calculated? | 
Details
The purpose of iterate_more is to provide a simple and convenient tool to finalize
the estimation when the maximum number of iterations is reached when estimating a STVAR model
with the main estimation function fitSTVAR or fitSSTVAR.
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. 
- 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
fitSTVAR, STVAR, optim,
swap_B_signs, reorder_B_columns
Examples
## These are long running examples that take approximately 20 seconds to run.
# Estimate two-regime Gaussian STVAR p=1 model with the weighted relative stationary densities
# of the regimes as the transition weight function, but only 5 iterations of the variable matrix
# algorithm:
fit12 <- fitSTVAR(gdpdef, p=1, M=2, nrounds=1, seeds=1, ncores=1, maxit=5)
# The iteration limit was reached, so the estimate is not local maximum.
# The gradient of the log-likelihood function:
get_foc(fit12) # Not close to zero!
# So, we run more iterations of the variable metric algorithm:
fit12 <- iterate_more(fit12)
# The gradient of the log-likelihood function after iterating more:
get_foc(fit12) # Close to zero!