Learn Data & AI Skills | 50% off
Get 50% off unlimited learning

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 s=1\codeSγssin(2πs\codeperiodt)+δscos(2πs\codeperiodt), 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 γssin(2πs\codeperiodt)+δscos(2πs\codeperiodt)=Assin(2πs\codeperiodt+ϵ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