Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to "Backcast" a Time Series in R

DZone's Guide to

How to "Backcast" a Time Series in R

· Big Data Zone ·
Free Resource

Hortonworks Sandbox for HDP and HDF is your chance to get started on learning, developing, testing and trying out new features. Each download comes preconfigured with interactive tutorials, sample data and developments from the Apache community.

Some­times it is use­ful to “back­cast” a time series — that is, fore­cast in reverse time. Although there are no in-​​built R func­tions to do this, it is very easy to imple­ment. Sup­pose x is our time series and we want to back­cast for h peri­ods. Here is some code that should work for most uni­vari­ate time series. The exam­ple is non-​​seasonal, but the code will also work with sea­sonal data.

library(forecast)
x <- WWWusage
h <- 20
f <- frequency(x)
# Reverse time
revx <- ts(rev(x), frequency=f)
# Forecast
fc <- forecast(auto.arima(revx), h)
plot(fc)
# Reverse time again
fc$mean <- ts(rev(fc$mean),end=tsp(x)[1] - 1/f, frequency=f)
fc$upper <- fc$upper[h:1,]
fc$lower <- fc$lower[h:1,]
fc$x <- x
# Plot result
plot(fc, xlim=c(tsp(x)[1]-h/f, tsp(x)[2]))

Hortonworks Community Connection (HCC) is an online collaboration destination for developers, DevOps, customers and partners to get answers to questions, collaborate on technical articles and share code examples from GitHub.  Join the discussion.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}