surveillance (version 1.12.1)

addSeason2formula: Function that adds a sine-/cosine formula to an existing formula.

Description

This function helps to construct a formula object that can be used in a call to hhh4 to model seasonal variation via a sum of sine and cosine terms.

Usage

addSeason2formula(f = ~1, S = 1, period = 52, timevar = "t")

Arguments

f
formula that the seasonal terms should be added to, defaults to an intercept ~1.
S
number of sine and cosine terms. If S is a vector, unit-specific seasonal terms are created.
period
period of the season, defaults to 52 for weekly data.
timevar
the time variable in the model. Defaults to "t".

Value

  • Returns a formula with the seasonal terms added and its environment set to .GlobalEnv. Note that to use the resulting formula in hhh4, a time variable named as specified by the argument timevar must be available.

encoding

latin1

Details

The function adds the seasonal terms $$\sum_{s=1}^\code{S} \gamma_s \sin(\frac{2\pi s}{\code{period}} t) +\delta_s \cos(\frac{2\pi s}{\code{period}} t),$$ where $\gamma_s$ and $\delta_s$ are the unknown parameters and $t$, $t = 1, 2, \ldots$ denotes the time variable timevar, to an existing formula f.

Note that the seasonal terms can also be expressed as $$\gamma_{s} \sin(\frac{2\pi s}{\code{period}} t) + \delta_{s} \cos(\frac{2\pi s}{\code{period}} t) = A_s \sin(\frac{2\pi s}{\code{period}} t + \epsilon_s)$$ with amplitude $A_s=\sqrt{\gamma_s^2 +\delta_s^2}$ and phase difference $\tan(\epsilon_s) = \delta_s / \gamma_s$.

See Also

hhh4, fe, ri

Examples

Run this code
# add 2 sine/cosine terms to a model with intercept and linear trend
addSeason2formula(f = ~ 1 + t, S = 2)

# the same for monthly data
addSeason2formula(f = ~ 1 + t, S = 2, period = 12)

# different number of seasons for a bivariate time series
addSeason2formula(f = ~ 1, S = c(3, 1), period = 52)

Run the code above in your browser using DataLab