Add Harmonics to an Existing Formula
addSeason2formula.RdThis 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.
Details
The function adds the seasonal terms
$$
\sin( s \cdot 2\pi \cdot \code{timevar}/\code{period} ),\;
\cos( s \cdot 2\pi \cdot \code{timevar}/\code{period} ),
$$
for \(s = 1,\dots,\code{S}\) to an existing formula f.
Note the following equivalence when interpreting the coefficients of
the seasonal terms:
$$
\gamma \sin(\omega t) + \delta \cos(\omega t) =
A \sin(\omega t + \epsilon)
$$
with amplitude \(A = \sqrt{\gamma^2 + \delta^2}\)
and phase shift \(\epsilon = \arctan(\delta / \gamma)\).
The amplitude and phase shift can be obtained from a fitted
hhh4 model via coef(..., amplitudeShift = TRUE),
see coef.hhh4.
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.
Examples
# 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)