The R Journal: accepted article

This article will be copy edited and may be changed before publication.

Modeling regimes with extremes: the bayesdfa package for identifying and forecasting common trends and anomalies in multivariate time-series data PDF download
Eric J. Ward, Sean C. Anderson, Luis A. Damiano, Mary E. Hunsicker and Michael A. Litzow

Abstract The bayesdfa package provides a flexible Bayesian modeling framework for applying dy namic factor analysis (DFA) to multivariate time-series data as a dimension reduction tool. The core estimation is done with the Stan probabilistic programming language. In addition to being one of the few Bayesian implementations of DFA, novel features of this model include (1) optionally modeling latent process deviations as drawn from a Student-t distribution to better model extremes, and (2) optionally including autoregressive and moving-average components in the latent trends. Besides estimation, we provide a series of plotting functions to visualize trends, loadings, and model pre dicted values. A secondary analysis for some applications is to identify regimes in latent trends. We provide a flexible Bayesian implementation of a Hidden Markov Model — also written with Stan — to characterize regime shifts in latent processes. We provide simulation testing and details on parameter sensitivities in supplementary information.

Received: 2018-10-08; online 2019-07-30
CRAN packages: dlm, KFAS, MARSS, tsfa, rstan, heavy, bsts, stochvol, loo, depmixS4, HMM, msm
CRAN Task Views implied by cited CRAN packages: TimeSeries, Bayesian, Finance, Cluster, Distributions, Econometrics, Multivariate, Survival


CC BY 4.0
This article is licensed under a Creative Commons Attribution 4.0 International license.

@article{RJ-2019-007,
  author = {Eric J. Ward and Sean C. Anderson and Luis A. Damiano and
          Mary E. Hunsicker and Michael A. Litzow},
  title = {{Modeling regimes with extremes: the bayesdfa package for
          identifying and forecasting common trends and anomalies in
          multivariate time-series data}},
  year = {2019},
  journal = {{The R Journal}},
  doi = {10.32614/RJ-2019-007},
  url = {https://journal.r-project.org/archive/2019/RJ-2019-007/index.html}
}