All Projects → business-science → Timetk

business-science / Timetk

A toolkit for working with time series in R

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Timetk

modeltime.ensemble
Time Series Ensemble Forecasting
Stars: ✭ 65 (-82.48%)
Mutual labels:  time, timeseries, time-series, forecast, forecasting
Sweep
Extending broom for time series forecasting
Stars: ✭ 143 (-61.46%)
Mutual labels:  forecast, tidyverse, time-series, timeseries, time
Neural prophet
NeuralProphet - A simple forecasting model based on Neural Networks in PyTorch
Stars: ✭ 1,125 (+203.23%)
Mutual labels:  forecast, time-series, timeseries, forecasting
Tidyquant
Bringing financial analysis to the tidyverse
Stars: ✭ 635 (+71.16%)
Mutual labels:  tidyverse, dplyr, time-series, timeseries
Tibbletime
Time-aware tibbles
Stars: ✭ 175 (-52.83%)
Mutual labels:  time-series, timeseries, time
Brein Time Utilities
Library which contains several time-dependent data and index structures (e.g., IntervalTree, BucketTimeSeries), as well as algorithms.
Stars: ✭ 94 (-74.66%)
Mutual labels:  time-series, timeseries, time
gpu accelerated forecasting modeltime gluonts
GPU-Accelerated Deep Learning for Time Series using Modeltime GluonTS (Learning Lab 53). Event sponsors: Saturn Cloud, NVIDIA, & Business Science.
Stars: ✭ 20 (-94.61%)
Mutual labels:  time-series, forecast, forecasting
Forecasting
Time Series Forecasting Best Practices & Examples
Stars: ✭ 2,123 (+472.24%)
Mutual labels:  tidyverse, time-series, forecasting
Java Timeseries
Time series analysis in Java
Stars: ✭ 155 (-58.22%)
Mutual labels:  time-series, timeseries, forecasting
Modeltime
Modeltime unlocks time series forecast models and machine learning in one framework
Stars: ✭ 189 (-49.06%)
Mutual labels:  time-series, time, forecasting
magi
📈 high level wrapper for parallel univariate time series forecasting 📉
Stars: ✭ 17 (-95.42%)
Mutual labels:  time-series, forecast, forecasting
Forecastml
An R package with Python support for multi-step-ahead forecasting with machine learning and deep learning algorithms
Stars: ✭ 101 (-72.78%)
Mutual labels:  forecast, time-series, forecasting
Sktime
A unified framework for machine learning with time series
Stars: ✭ 4,741 (+1177.9%)
Mutual labels:  data-mining, time-series, forecasting
Deep XF
Package towards building Explainable Forecasting and Nowcasting Models with State-of-the-art Deep Neural Networks and Dynamic Factor Model on Time Series data sets with single line of code. Also, provides utilify facility for time-series signal similarities matching, and removing noise from timeseries signals.
Stars: ✭ 83 (-77.63%)
Mutual labels:  timeseries, time-series, forecasting
mlforecast
Scalable machine 🤖 learning for time series forecasting.
Stars: ✭ 96 (-74.12%)
Mutual labels:  time-series, forecast, forecasting
foot
foot是一个集足球数据采集器,简单分析的项目.AI足球球探为程序全自动处理,全程无人为参与干预足球分析足球预测程序.程序根据各大指数多维度数据,结合作者多年足球分析经验,精雕细琢,集天地之灵气,汲日月之精华,历时七七四十九天,经Bug九九八十一个,编码而成.有兴趣的朋友,可以关注一下公众号AI球探(微信号ai00268).
Stars: ✭ 96 (-74.12%)
Mutual labels:  forecast, forecasting
casewhen
Create reusable dplyr::case_when() functions
Stars: ✭ 64 (-82.75%)
Mutual labels:  dplyr, tidyverse
scala-timeseries-lib
Lightweight, functional and correct time-series library for scala. Easy manipulation, filtering and combination of time-series data.
Stars: ✭ 31 (-91.64%)
Mutual labels:  time, timeseries
Hurst-exponent-R-S-analysis-
Calculates the Hurst exponent of a time series based on Rescaled range (R/S) analysis.
Stars: ✭ 33 (-91.11%)
Mutual labels:  timeseries, time-series
time-series-autoencoder
📈 PyTorch dual-attention LSTM-autoencoder for multivariate Time Series 📈
Stars: ✭ 198 (-46.63%)
Mutual labels:  time-series, forecasting

timetk

Travis build status codecov CRAN_Status_Badge

Mission

To make it easy to visualize, wrangle, and feature engineer time series data for forecasting and machine learning prediction.

Installation

Download the development version with latest features:

remotes::install_github("business-science/timetk")

Or, download CRAN approved version:

install.packages("timetk")

Getting Started

Package Functionality

There are many R packages for working with Time Series data. Here’s how timetk compares to the “tidy” time series R packages for data visualization, wrangling, and feature engineeering (those that leverage data frames or tibbles).

Task timetk tsibble feasts tibbletime
Structure
Data Structure tibble (tbl) tsibble (tbl_ts) tsibble (tbl_ts) tibbletime (tbl_time)
Visualization
Interactive Plots (plotly)
Static Plots (ggplot)
Time Series
Correlation, Seasonality
Anomaly Detection
Data Wrangling
Time-Based Summarization
Time-Based Filtering
Padding Gaps
Low to High Frequency
Imputation
Sliding / Rolling
Feature Engineering (recipes)
Date Feature Engineering
Holiday Feature Engineering
Fourier Series
Smoothing & Rolling
Padding
Imputation
Cross Validation (rsample)
Time Series Cross Validation
Time Series CV Plan Visualization
More Awesomeness
Making Time Series (Intelligently)
Handling Holidays & Weekends
Class Conversion
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")

Visualize anomalies…

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)

Acknowledgements

The timetk package wouldn’t be possible without other amazing time series packages.

  • stats - Basically every timetk function that uses a period (frequency) argument owes it to ts().
    • plot_acf_diagnostics(): Leverages stats::acf(), stats::pacf() & stats::ccf()
    • plot_stl_diagnostics(): Leverages stats::stl()
  • lubridate: timetk makes heavy use of floor_date(), ceiling_date(), and duration() for “time-based phrases”.
    • Add and Subtract Time (%+time% & %-time%): "2012-01-01" %+time% "1 month 4 days" uses lubridate to intelligently offset the day
  • 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 tidyverts (fable, tsibble, feasts, and fabletools).
    • The ts_impute_vec() function for low-level vectorized imputation using STL + Linear Interpolation uses na.interp() under the hood.
    • The ts_clean_vec() function for low-level vectorized imputation using STL + Linear Interpolation uses tsclean() under the hood.
    • Box Cox transformation auto_lambda() uses BoxCox.Lambda().
  • tibbletime (retired): While timetk does not import tibbletime, it uses much of the innovative functionality to interpret time-based phrases:
    • tk_make_timeseries() - Extends seq.Date() and seq.POSIXt() using a simple phase like “2012-02” to populate the entire time series from start to finish in February 2012.
    • filter_by_time(), between_time() - Uses innovative endpoint detection from phrases like “2012”
    • slidify() is basically rollify() using slider (see below).
  • slider: A powerful R package that provides a purrr-syntax for complex rolling (sliding) calculations.
    • slidify() uses slider::pslide under the hood.
    • slidify_vec() uses slider::slide_vec() for simple vectorized rolls (slides).
  • padr: Used for padding time series from low frequency to high frequency and filling in gaps.
    • The pad_by_time() function is a wrapper for padr::pad().
    • 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 leverages the ts system, which is the same system the forecast R package uses. A ton of inspiration for visuals came from using TSstudio.

Learning More

Anomalize

My Talk on High-Performance Time Series Forecasting

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 GluonTS (Competition Winners)
  • 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.

Unlock the High-Performance Time Series Forecasting Course

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].