ARMAacf                package:stats                R Documentation

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(0), ma = numeric(0), 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 'max(p, q+1)',
          where 'p, q' are the numbers of AR and MA terms respectively.

    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; 2^(-n) * (32/3 + 8 * n) /(32/3)
     ARMAacf(c(1.0, -0.25), 1.0, lag.max = 10, pacf = TRUE)
     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))

