########## ## Data ## ########## ## obtain data from TSDL souvenirs <- read.table( url("http://www.robjhyndman.com/TSDL/data/fancy.dat") ) souvenirs <- ts(souvenirs[,1], start = 1987, freq = 12) plot(souvenirs) plot(log(souvenirs)) ############### ## Filtering ## ############### plot(log(souvenirs)) ## rolling mean library("zoo") lines(rollapply(log(souvenirs), 12, mean), col = "red") ## symmetrical filter lines(filter(log(souvenirs), c(1, rep(2, 11), 1)/24), col = "blue") ################### ## Decomposition ## ################### dec <- decompose(log(souvenirs)) plot(dec) barplot(dec$figure, names = month.abb) ################## ## Holt-Winters ## ################## past <- window(log(souvenirs), end = c(1992, 12)) fut <- window(log(souvenirs), start = c(1993, 1)) hw <- HoltWinters(past) hw pred <- predict(hw, n.ahead = 12, prediction.interval = TRUE) plot(hw, pred, xlim = c(1987, 1994)) lines(fut)