Learn R Programming

VBV (version 0.6.2)

estimation: estimation -- estimate trend and seasonal components statically

Description

estimation -- estimate trend and seasonal components statically

Usage

estimation(t.vec, y.vec, p, q.vec, base.period, lambda1, lambda2)

Value

A dataframe with the following components:

  • dataoriginal data y.vec

  • trendvector of estimated trend of length length(y.vec)

  • seasonvector of estimated season of length length(y.vec)

Arguments

t.vec

vector of points in time as integers

y.vec

vector of data

p

maximum exponent in polynomial for trend

q.vec

vector containing frequencies to use for seasonal component, given as integers, i.e. c(1, 3, 5) for 1/2pi, 3/2pi, 5/2*pi (times length of base period)

base.period

base period in number of observations, i.e. 12 for monthly data with yearly oscillations

lambda1

penalty weight for smoothness of trend

lambda2

penalty weight for smoothness of seasonal component (lambda1 == lambda2 == Inf result in estimations of the original Berliner Verfahren)

Examples

Run this code
### using of estimation

t <- 1:121 # equidistant time points, i.e. 5 days
y <- 0.1*t + sin(t) + rnorm(length(t))

p <- 2     # maximally quadratic
q <- c(1, 3, 5)   # 'seasonal' components within the base period
base.period <- 24 # i.e. hourly data with daily cycles
l1 <- 1    
l2 <- 10

est <- estimation( t, y, p, q, base.period, l1, l2)
plot(est$data)
lines(est$trend + est$season)

Run the code above in your browser using DataLab