acf {ts} | 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, ...)

### Arguments

`x, y` | a univariate or multivariate (not `ccf`) numeric time series object or a numeric vector or matrix.
`lag.max` | maximum number of lags 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.
`type` | character string giving the type of acf to be computed. Allowed values are `"correlation"` (the default), `"covariance"` or `"partial"`.
`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`.

### Details

For `type` = `"correlation"` and `"covariance"`, the estimates are based on the sample covariance.

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.

### 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 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.

### See Also

`plot.acf`

### Examples

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

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

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

[Package Contents]