To make it easy to visualize, wrangle, and feature engineer time series data for forecasting and machine learning prediction.
Download the development version with latest features:
Or, download CRAN approved version:
Full Time Series Machine Learning and Feature Engineering Tutorial: Showcases the (NEW)
step_timeseries_signature()for building 200+ time series features using
There are many R packages for working with Time Series data. Here’s
timetk compares to the “tidy” time series R packages for data
visualization, wrangling, and feature engineeering (those that leverage
data frames or tibbles).
|Data Structure||tibble (tbl)||tsibble (tbl_ts)||tsibble (tbl_ts)||tibbletime (tbl_time)|
|Interactive Plots (plotly)|
|Static Plots (ggplot)|
|Low to High Frequency|
|Sliding / Rolling|
|Feature Engineering (recipes)|
|Date Feature Engineering|
|Holiday Feature Engineering|
|Smoothing & Rolling|
|Cross Validation (rsample)|
|Time Series Cross Validation|
|Time Series CV Plan Visualization|
|Making Time Series (Intelligently)|
|Handling Holidays & Weekends|
|Automatic Frequency & Trend|
What can you do in 1 line of code?
Investigate a time series…
taylor_30_min %>% plot_time_series(date, value, .color_var = week(date), .interactive = FALSE, .color_lab = "Week")
walmart_sales_weekly %>% group_by(Store, Dept) %>% plot_anomaly_diagnostics(Date, Weekly_Sales, .facet_ncol = 3, .interactive = FALSE)
Make a seasonality plot…
taylor_30_min %>% plot_seasonal_diagnostics(date, value, .interactive = FALSE)
Inspect autocorrelation, partial autocorrelation (and cross correlations too)…
taylor_30_min %>% plot_acf_diagnostics(date, value, .lags = "1 week", .interactive = FALSE)
timetk package wouldn’t be possible without other amazing time
- stats - Basically
timetkfunction that uses a period (frequency) argument owes it to
timetkmakes heavy use of
duration()for “time-based phrases”.
- Add and Subtract Time (
"2012-01-01" %+time% "1 month 4 days"uses
lubridateto intelligently offset the day
- Add and Subtract Time (
- xts: Used to calculate periodicity and fast lag automation.
- forecast (retired):
Possibly my favorite R package of all time. It’s based on
ts, and it’s predecessor is the
ts_impute_vec()function for low-level vectorized imputation using STL + Linear Interpolation uses
na.interp()under the hood.
ts_clean_vec()function for low-level vectorized imputation using STL + Linear Interpolation uses
tsclean()under the hood.
- Box Cox transformation
timetkdoes not import
tibbletime, it uses much of the innovative functionality to interpret time-based phrases:
seq.POSIXt()using a simple phase like “2012-02” to populate the entire time series from start to finish in February 2012.
between_time()- Uses innovative endpoint detection from phrases like “2012”
- slider: A powerful R
package that provides a
purrr-syntax for complex rolling (sliding) calculations.
slider::pslideunder the hood.
slider::slide_vec()for simple vectorized rolls (slides).
- padr: Used for padding time
series from low frequency to high frequency and filling in gaps.
pad_by_time()function is a wrapper for
- See the
step_ts_pad()to apply padding as a preprocessing recipe!
- TSstudio: This is the
best interactive time series visualization tool out there. It
tssystem, which is the same system the
forecastR package uses. A ton of inspiration for visuals came from using
Time series is changing. Businesses now need 10,000+ time series forecasts every day. This is what I call a High-Performance Time Series Forecasting System (HPTSF) - Accurate, Robust, and Scalable Forecasting.
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:
- Time Series Machine Learning (cutting-edge) with
Modeltime- 30+ Models (Prophet, ARIMA, XGBoost, Random Forest, & many more)
- NEW - Deep Learning with
- Time Series Preprocessing, Noise Reduction, & Anomaly Detection
- Feature engineering using lagged variables & external regressors
- Hyperparameter Tuning
- Time series cross-validation
- Ensembling Multiple Machine Learning & Univariate Modeling Techniques (Competition Winner)
- Scalable Forecasting - Forecast 1000+ time series in parallel
- and more.