# acf: Auto- and Cross- Covariance and -Correlation Function...

 acf R Documentation

## Auto- and Cross- Covariance and -Correlation Function Estimation

### Description

The function `acf` computes (and by default plots) estimates of the autocovariance or autocorrelation function. Function `pacf` is the function used for the partial autocorrelations. Function `ccf` computes the cross-correlation or cross-covariance of two univariate series.

### Usage

```acf(x, lag.max = NULL,
type = c("correlation", "covariance", "partial"),
plot = TRUE, na.action = na.fail, demean = TRUE, ...)

pacf(x, lag.max, plot, na.action, ...)

## Default S3 method:
pacf(x, lag.max = NULL, plot = TRUE, na.action = na.fail,
...)

ccf(x, y, lag.max = NULL, type = c("correlation", "covariance"),
plot = TRUE, na.action = na.fail, ...)

## S3 method for class 'acf'
x[i, j]
```

### Arguments

 `x, y` a univariate or multivariate (not `ccf`) numeric time series object or a numeric vector or matrix, or an `"acf"` object. `lag.max` maximum lag at which to calculate the acf. Default is 10*log10(N/m) where N is the number of observations and m the number of series. Will be automatically limited to one less than the number of observations in the series. `type` character string giving the type of acf to be computed. Allowed values are `"correlation"` (the default), `"covariance"` or `"partial"`. Will be partially matched. `plot` logical. If `TRUE` (the default) the acf is plotted. `na.action` function to be called to handle missing values. `na.pass` can be used. `demean` logical. Should the covariances be about the sample means? `...` further arguments to be passed to `plot.acf`. `i` a set of lags (time differences) to retain. `j` a set of series (names or numbers) to retain.

### Details

For `type` = `"correlation"` and `"covariance"`, the estimates are based on the sample covariance. (The lag 0 autocorrelation is fixed at 1 by convention.)

By default, no missing values are allowed. If the `na.action` function passes through missing values (as `na.pass` does), the covariances are computed from the complete cases. This means that the estimate computed may well not be a valid autocorrelation sequence, and may contain missing values. Missing values are not allowed when computing the PACF of a multivariate time series.

The partial correlation coefficient is estimated by fitting autoregressive models of successively higher orders up to `lag.max`.

The generic function `plot` has a method for objects of class `"acf"`.

The lag is returned and plotted in units of time, and not numbers of observations.

There are `print` and subsetting methods for objects of class `"acf"`.

### Value

An object of class `"acf"`, which is a list with the following elements:

 `lag` A three dimensional array containing the lags at which the acf is estimated. `acf` An array with the same dimensions as `lag` containing the estimated acf. `type` The type of correlation (same as the `type` argument). `n.used` The number of observations in the time series. `series` The name of the series `x`. `snames` The series names for a multivariate time series.

The lag `k` value returned by `ccf(x, y)` estimates the correlation between `x[t+k]` and `y[t]`.

The result is returned invisibly if `plot` is `TRUE`.

### Author(s)

Original: Paul Gilbert, Martyn Plummer. Extensive modifications and univariate case of `pacf` by B. D. Ripley.

### References

Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth Edition. Springer-Verlag.

(This contains the exact definitions used.)

`plot.acf`, `ARMAacf` for the exact autocorrelations of a given ARMA process.

### Examples

```require(graphics)

## Examples from Venables & Ripley
acf(lh)
acf(lh, type = "covariance")
pacf(lh)

acf(ldeaths)
acf(ldeaths, ci.type = "ma")
acf(ts.union(mdeaths, fdeaths))
ccf(mdeaths, fdeaths, ylab = "cross-correlation")
# (just the cross-correlations)

presidents # contains missing values
acf(presidents, na.action = na.pass)
pacf(presidents, na.action = na.pass)
```