Set up an autoregressive moving average (ARMA) term of order (p, q) in brms. The function does not evaluate its arguments -- it exists purely to help set up a model with ARMA terms.

arma(time = NA, gr = NA, p = 1, q = 1, cov = FALSE)



An optional time variable specifying the time ordering of the observations. By default, the existing order of the observations in the data is used.


An optional grouping variable. If specified, the correlation structure is assumed to apply only to observations within the same grouping level.


A non-negative integer specifying the autoregressive (AR) order of the ARMA structure. Default is 1.


A non-negative integer specifying the moving average (MA) order of the ARMA structure. Default is 1.


A flag indicating whether ARMA effects should be estimated by means of residual covariance matrices. This is currently only possible for stationary ARMA effects of order 1. If the model family does not have natural residuals, latent residuals are added automatically. If FALSE (the default), a regression formulation is used that is considerably faster and allows for ARMA effects of order higher than 1 but is only available for gaussian models and some of its generalizations.


An object of class 'arma_term', which is a list of arguments to be interpreted by the formula parsing functions of brms.

See also


if (FALSE) {
LakeHuron <-
fit <- brm(x ~ arma(p = 2, q = 1), data = LakeHuron)