arburg: Autoregressive model coefficients - Burg's method

View source: R/arburg.R

arburgR Documentation

Autoregressive model coefficients - Burg's method

Description

Calculate the coefficients of an autoregressive model using the whitening lattice-filter method of Burg (1968)[1].

Usage

arburg(x, p, criterion = NULL)

Arguments

x

input data, specified as a numeric or complex vector or matrix. In case of a vector it represents a single signal; in case of a matrix each column is a signal.

p

model order; number of poles in the AR model or limit to the number of poles if a valid criterion is provided. Must be < length(x) - 2.

criterion

model-selection criterion. Limits the number of poles so that spurious poles are not added when the whitened data has no more information in it. Recognized values are:

AKICc

approximate corrected Kullback information criterion (recommended)

KIC

Kullback information criterion

AICc

corrected Akaike information criterion

AIC

Akaike information criterion

FPE

final prediction error

The default is to NOT use a model-selection criterion (NULL)

Details

The inverse of the autoregressive model is a moving-average filter which reduces x to white noise. The power spectrum of the AR model is an estimate of the maximum entropy power spectrum of the data. The function ar_psd calculates the power spectrum of the AR model.

For data input x(n) and white noise e(n), the autoregressive model is

                          p+1
    x(n) = sqrt(v).e(n) + SUM a(k).x(n-k)
                          k=1
 

arburg does not remove the mean from the data. You should remove the mean from the data if you want a power spectrum. A non-zero mean can produce large errors in a power-spectrum estimate. See detrend

Value

A list containing the following elements:

a

vector or matrix containing (p+1) autoregression coefficients. If x is a matrix, then each row of a corresponds to a column of x. a has p + 1 columns.

e

white noise input variance, returned as a vector. If x is a matrix, then each element of e corresponds to a column of x.

k

Reflection coefficients defining the lattice-filter embodiment of the model returned as vector or a matrix. If x is a matrix, then each column of k corresponds to a column of x. k has p rows.

Note

AIC, AICc, KIC and AKICc are based on information theory. They attempt to balance the complexity (or length) of the model against how well the model fits the data. AIC and KIC are biased estimates of the asymmetric and the symmetric Kullback-Leibler divergence, respectively. AICc and AKICc attempt to correct the bias. See reference [2].

Author(s)

Peter V. Lanspeary, pvl@mecheng.adelaide.edu.au.
Conversion to R by Geert van Boxtel, gjmvanboxtel@gmail.com.

References

[1] Burg, J.P. (1968) A new analysis technique for time series data, NATO advanced study Institute on Signal Processing with Emphasis on Underwater Acoustics, Enschede, Netherlands, Aug. 12-23, 1968.
[2] Seghouane, A. and Bekara, M. (2004). A small sample model selection criterion based on Kullback’s symmetric divergence. IEEE Trans. Sign. Proc., 52(12), pp 3314-3323,

See Also

ar_psd

Examples

A <- Arma(1, c(1, -2.7607, 3.8106, -2.6535, 0.9238))
y <- filter(A, 0.2 * rnorm(1024))
coefs <- arburg(y, 4)


gjmvanboxtel/gsignal documentation built on Nov. 22, 2023, 8:19 p.m.