# How do I restrict coefficient values to ensure stationarity and invertibility of ARMA(p,q)?

I am trying to simulate an ARMA series but I am concerned about it being conformed to ensure invertibility of $$\text{ARMA}(p,q)$$ in addition to stationarity. I know of the following conditions for MA series:

1. For an $$\text{MA}(1)$$ model: $$−1 < \theta_1 < 1$$.
2. For an $$\text{MA}(2)$$ model: $$−1 < \theta_2 < 1$$, $$\theta_2 + \theta_1 > −1$$, $$\theta_1 − \theta_2 < 1$$.

Moving average models in Forecasting Principles and Practice by Rob J Hyndman and George Athanasopoulos

I also know of the following conditions for AR series:

1. For an $$\text{AR}(1)$$ model: $$−1 < \phi_1 < 1$$.
2. For an $$\text{AR}(2)$$ model: $$−1 < \phi_2 < 1$$, $$\phi_2 + \phi_1 > −1$$, $$\phi_1 − \phi_2 < 1$$.

Autoregressive models in Forecasting Principles and Practice by Rob J Hyndman and George Athanasopoulos

What conditions holds for $$\text{ARMA}(1,1)$$ and more?

• The condition for MA is for invertibility, not stationarity. MA models are always stationary. In light of that, do you want to ensure invertibility of ARMA(p,q) in addition to stationarity? Or is stationarity enough? Commented Jan 10, 2022 at 12:51
• I want to ensure invertibility of ARMA(p,q) in addition to stationarity. Commented Jan 10, 2022 at 12:57
• Is this purely a theory question? Are you also asking how to simulate and/or fit an ARMA model subject to constraints?
– Eli
Commented Jan 19, 2022 at 23:39

This is worked out in the book 'Time Series Analysis and Its Applications With R Examples, Third Edition' by Robert Shumway and David Stoffer.

Following their notation, let an $$ARMA(p, q)$$ model be expressed as $$\phi(B)x_t = \theta(B)w_t$$ (see equation (3.21) in page 93 of the book), where $$\phi(z) = 1 - \phi_1 z − \cdots − \phi_p z^p$$ with $$\phi_p \neq 0$$, $$\theta(z) = 1 + \theta_1 z + \cdots + \theta_q z^q$$ with $$\theta_q \neq 0$$, $$z$$ is a complex number and $$B$$ is the backshift operator (see Definition 3.6, page 94). Then, an $$ARMA(p, q)$$ model is invertible if and only if $$\theta(z) \neq 0$$ for $$|z| \le 1$$ (see Property 3.2 in page 95). The way of proving this statement is also discussed there.

Also check out these lectures notes. The stationarity of $$ARMA(p, q)$$ is ensured when all the (real and complex) roots $$z_j$$ of the polynomial $$\phi(z)$$ satisfy $$|z_j| > 1$$ (see page 11 of the lecture notes), i.e., $$\phi(z) \neq 0$$ for $$|z| \le 1$$.

In the particular case of $$ARMA(1,1)$$, $$\phi(z) = 1 - \phi_1 z$$ and $$\theta(z) = 1 + \theta_1 z$$. So, it is invertible and stationary if $$0 < |\phi_1|, |\theta_1| < 1$$.

I found a very useful material that answers this question the way I expected. Lecture 2: ARMA(p,q) models(part 3)

On page 6 precisely, it goes as follows:

1. The (stability) stationarity condition is the one of an AR(1) process (or ARMA(1,0) process) : $$|\phi| < 1$$.
2. The invertibility condition is the one of a MA(1) process (or ARMA(0,1) process) : $$|\theta| < 1$$.
3. The representation of an ARMA(1,1) process is fundamental or causal if : $$|\phi| < 1$$ and $$|\theta| < 1$$.
4. The representation of an ARMA(1,1) process is said to be minimal and causal if : $$|\phi| < 1$$, $$|\theta| < 1$$ and $$\phi \neq \theta$$.
• This is for $p=q=1$ while your question is about arbitrary values of $p$ and $q$. But it looks like the source contains a discussion of these more general cases, too. Commented Jan 21, 2022 at 8:53

In general you can reparameterize an ARMA model in terms of the partial autocorrelations associated with the AR part of the model and an analogous reparameterisation of the MA part, see Barndorff-Nielsen & Schou (1973). These new parameters only need to satisfy simple box constraints and there is a one-to-one correspondance between the two parameterizations.

Thus, to check that the AR coefficients give you a stationary model, all you need to do is to transform the coeffients to the corresponding partial autocorrelations and check if these are smaller than 1 in absolute values. Recursive formulas for this transformation as well as its inverse are concisely given in Monahan 1984.

The MA coefficients can be checked for invertibility in the same way.

Checking for stationarity and invertibility via this transformation is in practice considerably more efficient than computing the roots of the AR and MA polynomials numerically as suggested elsewhere. It applies to ARMA models of any order. This reparameterization also has other practical applications, see for example Sørby and Rue (2017).

A simple R implementation of this transformation and its inverse following the notation used by Monahan is given below. As noted by Yves, these functions are also available in the FitAR R-package as functions ARToPacf and PacfToAR.

# Reparameterisation from AR or MA coeffients to "partial autocorrelations"
y_to_r <- function(y) {
r <- numeric(length(y))
if (length(y)==1) return(y[1])
for (k in length(y):1) {
r[k] <- y[k]
y <- (y[1:(k-1)] + y[k]*y[(k-1):1])/(1 - y[k]^2)
}
r
}
# The inverse transformation
r_to_y <- function(r) {
y <- r[1]
if (length(r)==1) return(y)
for (k in 2:length(r)) {
y <- c(y - r[k]*rev(y), r[k])
}
y
}

• Good reference. In this answer to a very close question, I gave a few practical elements.
– Yves
Commented Jan 14, 2022 at 9:58
• Your answer addresses not my question. Can you point out in a clear statement(s) just like I did for MA(1), MA(2), AR(1) and AR(2) in my question, the necessary and sufficient conditions to make up my parameters? Commented Jan 16, 2022 at 4:43
• If you think your answer did address my question please do point out in the 12-pages you reference a page or more in the paper in which my question is addressed, and please `quote in parts. Commented Jan 16, 2022 at 4:49
• The stationary condition of an ARMA model involves only the AR coefficients while the invertibility only involves the MA coefficients. So, up to the problem of of common roots, the question is how to parameterise a polynomial in the lag (with real coefficients) so that its roots all have modulus $>1$ which is either the stationarity or the invertibility condition. The transformation of the answer by @Jarle Tufto can be used in both cases to get suitable parameterizations.
– Yves
Commented Jan 20, 2022 at 7:27