Given a state space model on a fine scale, the Harvey cumulator aggregates the model to a coarser scale (e.g. from days to weeks, or weeks to months).
1 2 3
HarveyCumulator(fine.series, contains.end, membership.fraction)
The fine-scale time series to be aggregated.
A logical vector, with length matching
The fraction of each fine-scale time
observation belonging to the coarse scale time observation at the
beginning of the time interval. For example, if week i started in
March and ended in April,
Returns a vector containing the course scale partial aggregates
Steven L. Scott email@example.com
Harvey (1990), "Forecasting, structural time series, and the Kalman filter", Cambridge University Press.
Durbin and Koopman (2001), "Time series analysis by state space methods", Oxford University Press.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
data(goog) days <- factor(weekdays(index(goog)), levels = c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday"), ordered = TRUE) ## Because of holidays, etc the days do not always go in sequence. ## (Sorry, Rebecca Black! https://www.youtube.com/watch?v=kfVsfOSbJY0) ## diff.days[i] is the number of days between days[i-1] and days[i]. ## We know that days[i] is the end of a week if diff.days[i] < 0. diff.days <- tail(as.numeric(days), -1) - head(as.numeric(days), -1) contains.end <- c(FALSE, diff.days < 0) goog.weekly <- HarveyCumulator(goog, contains.end, 1)