knitr::opts_chunk$set( message = FALSE, warning = FALSE, fig.width = 8, fig.height = 4.5, fig.align = 'center', out.width='95%', dpi = 100 ) # devtools::load_all() # Travis CI fails on load_all()
Creating and modifying date sequences is critical to machine learning projects. We discuss:
tk_make_timeseries()
tk_make_future_timeseries()
Before we get started, load the following packages.
library(dplyr) library(timetk)
tk_make_timeseries()
improves on the seq.Date()
and seq.POSIXt()
functions by simplifying into 1 function. Intelligently handles character dates and logical assumptions based on user inputs.
By Day
by = "day"
or leave blank. include_endpoints = FALSE
removes the last value so your series is only 7 observations. # Selects by day automatically tk_make_timeseries("2011", length_out = "7 days", include_endpoints = FALSE)
By 2 Seconds
by = "2 sec"
to adjust the interval width.include_endpoints = TRUE
keeps the last value the series ends on the 6th second. # Guesses by second tk_make_timeseries("2016", by = "2 sec", length_out = "6 seconds")
Length Out = 1 year 6 months
length_out = "1 year 6 months"
- Can include complex expressions like "1 year 4 months 6 days".tk_make_timeseries("2012-07", by = "1 month", length_out = "1 year 6 months", include_endpoints = FALSE)
Go In Reverse
end_date
as where you want the series to end. tk_make_timeseries(end_date = "2012-07-01", by = "1 month", length_out = "1 year 6 months")
A common operation is to make a future time series sequence that mimics an existing. This is what tk_make_future_timeseries()
is for.
Suppose we have an existing time index.
idx <- tk_make_timeseries("2012", by = "3 months", length_out = "2 years", include_endpoints = FALSE) idx
Make a Future Time Series from an Existing
We can create a future time sequence from the existing sequence using tk_make_future_timeseries()
.
tk_make_future_timeseries(idx, length_out = "2 years")
Make weekday sequence removing holidays
idx <- tk_make_weekday_sequence("2012", remove_weekends = TRUE, remove_holidays = TRUE, calendar = "NYSE") tk_get_timeseries_summary(idx)
Which holidays were removed?
tk_make_holiday_sequence("2012", calendar = "NYSE")
Make future index removing holidays
holidays <- tk_make_holiday_sequence( start_date = "2013-01-01", end_date = "2013-12-31", calendar = "NYSE") idx_future <- idx %>% tk_make_future_timeseries(length_out = "1 year", inspect_weekdays = TRUE, skip_values = holidays) tk_get_timeseries_summary(idx_future)
My Talk on High-Performance Time Series Forecasting
Time series is changing. Businesses now need 10,000+ time series forecasts every day.
High-Performance Forecasting Systems will save companies MILLIONS of dollars. Imagine what will happen to your career if you can provide your organization a "High-Performance Time Series Forecasting System" (HPTSF System).
I teach how to build a HPTFS System in my High-Performance Time Series Forecasting Course. If interested in learning Scalable High-Performance Forecasting Strategies then take my course. You will learn:
Modeltime
- 30+ Models (Prophet, ARIMA, XGBoost, Random Forest, & many more)GluonTS
(Competition Winners)Unlock the High-Performance Time Series Forecasting Course
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.