dlmModTrig {dlm} R Documentation

## Create Fourier representation of a periodic DLM component

### Description

The function creates a dlm representing a specified periodic component.

### Usage

```dlmModTrig(s, q, om, tau, dV = 1, dW = 0, m0, C0)
```

### Arguments

 `s` the period, if integer. `q` number of harmonics in the DLM. `om` the frequency. `tau` the period, if not an integer. `dV` variance of the observation noise. `dW` a single number expressing the variance of the system noise. `m0` m0, the expected value of the pre-sample state vector. `C0` C0, the variance matrix of the pre-sample state vector.

### Details

The periodic component is specified by one and only one of `s`, `om`, and `tau`. When `s` is given, the function assumes that the period is an integer, while a period specified by `tau` is assumed to be noninteger. Instead of `tau`, the frequency `om` can be specified. The argument `q` specifies the number of harmonics to include in the model. When `tau` or `omega` is given, then `q` is required as well, since in this case the implied Fourier representation has infinitely many harmonics. On the other hand, if `s` is given, `q` defaults to all the harmonics in the Fourier representation, that is `floor(s/2)`.

The system variance of the resulting dlm is `dW` times the identity matrix of the appropriate dimension.

### Value

An object of class dlm, representing a periodic component.

### Author(s)

Giovanni Petris GPetris@uark.edu

### References

Giovanni Petris (2010), An R Package for Dynamic Linear Models. Journal of Statistical Software, 36(12), 1-16. http://www.jstatsoft.org/v36/i12/.
Petris, Petrone, and Campagnoli, Dynamic Linear Models with R, Springer (2009).
West and Harrison, Bayesian forecasting and dynamic models (2nd ed.), Springer (1997).

`dlmModSeas`, `dlmModARMA`, `dlmModPoly`, `dlmModReg`

### Examples

```dlmModTrig(s = 3)
dlmModTrig(tau = 3, q = 1) # same thing
dlmModTrig(s = 4) # for quarterly data
dlmModTrig(s = 4, q = 1)
dlmModTrig(tau = 4, q = 2) # a bad idea!
m1 <- dlmModTrig(tau = 6.3, q = 2); m1
m2 <- dlmModTrig(om = 2 * pi / 6.3, q = 2)
all.equal(unlist(m1), unlist(m2))
```

[Package dlm version 1.1-5 Index]