DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • From 30s to 200ms: Optimizing Multidimensional Time Series Analysis at Scale
  • Beyond Reactive HPA: Designing a Predictive Autoscaler with KEDA and Time-Series Forecasting
  • Understanding Time Series Databases
  • The LLM Advantage: Smarter Time Series Predictions With Less Effort

Trending

  • Testing AI-Infused Apps: A Dual-Layer Framework for AI Quality Assurance
  • Why Round-Robin Won't Save You: Load Balancing Challenges in Data Streaming Services With Heterogeneous Traffic
  • Contract-First Integration: Building Scalable Systems With Flyway, OpenAPI, and Kafka
  • The Hidden Cost of AI Tokens: Engineering Patterns for 10x Resource Efficiency
  1. DZone
  2. Data Engineering
  3. Databases
  4. How to "Backcast" a Time Series in R

How to "Backcast" a Time Series in R

By 
Rob J Hyndman user avatar
Rob J Hyndman
·
Feb. 28, 14 · Interview
Likes (0)
Comment
Save
Tweet
Share
5.7K Views

Join the DZone community and get the full member experience.

Join For Free

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]))

R (programming language) Time series

Published at DZone with permission of Rob J Hyndman. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • From 30s to 200ms: Optimizing Multidimensional Time Series Analysis at Scale
  • Beyond Reactive HPA: Designing a Predictive Autoscaler with KEDA and Time-Series Forecasting
  • Understanding Time Series Databases
  • The LLM Advantage: Smarter Time Series Predictions With Less Effort

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook