ARMAacf
Compute Theoretical ACF for an ARMA Process
Description
Compute the theoretical autocorrelation function or partial autocorrelation function for an ARMA process.
Usage
ARMAacf(ar = numeric(), ma = numeric(), lag.max = r, pacf = FALSE)
Arguments
ar | numeric vector of AR coefficients |
ma | numeric vector of MA coefficients |
lag.max | integer. Maximum lag required. Defaults to |
pacf | logical. Should the partial autocorrelations be returned? |
Details
The methods used follow Brockwell & Davis (1991, section 3.3). Their equations (3.3.8) are solved for the autocovariances at lags 0, …, max(p, q+1), and the remaining autocorrelations are given by a recursive filter.
Value
A vector of (partial) autocorrelations, named by the lags.
References
Brockwell, P. J. and Davis, R. A. (1991) Time Series: Theory and Methods, Second Edition. Springer.
See Also
arima
, ARMAtoMA
, acf2AR
for inverting part of ARMAacf
; further filter
.
Examples
ARMAacf(c(1.0, -0.25), 1.0, lag.max = 10) ## Example from Brockwell & Davis (1991, pp.92-4) ## answer: 2^(-n) * (32/3 + 8 * n) /(32/3) n <- 1:10 a.n <- 2^(-n) * (32/3 + 8 * n) /(32/3) (A.n <- ARMAacf(c(1.0, -0.25), 1.0, lag.max = 10)) stopifnot(all.equal(unname(A.n), c(1, a.n))) ARMAacf(c(1.0, -0.25), 1.0, lag.max = 10, pacf = TRUE) zapsmall(ARMAacf(c(1.0, -0.25), lag.max = 10, pacf = TRUE)) ## Cov-Matrix of length-7 sub-sample of AR(1) example: toeplitz(ARMAacf(0.8, lag.max = 7))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.