kernel {ts} | R Documentation

## Smoothing Kernel Objects

### Description

The `"tskernel"` class is designed to represent discrete symmetric normalized smoothing kernels. These kernels can be used to smooth vectors, matrices, or time series objects.

### Usage

    kernel(coef, m, r, name)

    df.kernel(k)
    bandwidth.kernel(k)
    is.tskernel(k)

    print(x, digits = max(3,getOption("digits")-3), ...)
    plot(x, ...)

### Arguments

`coef` | the upper half of the smoothing kernel coefficients (inclusive of coefficient zero) or the name of a kernel (currently `"daniell"`, `"dirichlet"`, `"fejer"` or `"modified.daniell"`.
`m` | the kernel dimension. The number of kernel coefficients is `2*m+1`.
`name` | the name of the kernel.
`r` | the kernel order for a Fejer kernel.
`digits` | the number of digits to format real numbers.
`k, x` | a `"tskernel"` object.
`...` | arguments passed to or from other methods.

### Details

`kernel` is used to construct a general kernel or named specific kernels. The modified Daniell kernel halves the end coefficients (as used by S-PLUS).

`df.kernel` returns the ``equivalent degrees of freedom'' of a smoothing kernel as defined in Brockwell and Davies (1991), page 362, and `bandwidth.kernel` returns the equivalent bandwidth as defined in Bloomfield (1991), p. 201, with a continuity correction.

### Value

`kernel` returns a list with class `"tskernel"`, and components the coefficients `coef` and the kernel dimension `m`. An additional attribute is `"name"`.

### Author(s)

A. Trapletti; modifications by B.D. Ripley

### References

Bloomfield, P. (1976) Fourier Analysis of Time Series: An Introduction. Wiley.

Brockwell, P.J. and Davis, R.A. (1991) Time Series: Theory and Methods. Second edition. Springer, pp. 350–365.

### See Also

`kernapply`

### Examples

    data(EuStockMarkets)    # Demonstrate a simple trading strategy for the
    x <- EuStockMarkets[,1]  # financial time series German stock index DAX.
    k1 <- kernel("daniell", 50)  # a long moving average
    k2 <- kernel("daniell", 10)  # and a short one
    plot(k1)
    plot(k2)
    x1 <- kernapply(x, k1)
    x2 <- kernapply(x, k2)
    plot(x)
    lines(x1, col = "red")    # go long if the short crosses the long upwards
    lines(x2, col = "green")  # and go short otherwise

    data(sunspot)     # Reproduce example 10.4.3 from Brockwell and Davies (1991)
    spectrum(sunspot.year, kernel=kernel("daniell", c(11,7,3)), log="no")

[Package Contents]