The Performance problem of tbats is resolved.
The code will be pushed by end of the week.
Update:
We have moved Plots.jl to package extension Thanks to @nilshg suggestion, such inputs are very valuable to us, please test the package and give us feedback.
I removed Plots from direct dependencies, add as weak dependency which reduces package load time for users who don’t need plotting.
At the moment Durbyn.jl has only 3 external dependencies: Distributions.jl, Polynomials.jl, Tables.jl all very established packages. Only Distributions.jl is heavy, which pulls in several dependencies.
3 Likes
TBATS now has grammar interface:
using Durbyn
using Durbyn.ModelSpecs
# Create sample data
data = (sales = randn(120) .+ 15,)
# Basic TBATS with defaults
spec = TbatsSpec(@formula(sales = tbats()))
fitted = fit(spec, data)
fc = forecast(fitted, h = 12)
# TBATS with monthly seasonality
spec = TbatsSpec(@formula(sales = tbats(seasonal_periods=12)))
fitted = fit(spec, data)
fc = forecast(fitted, h = 12)
# TBATS with multiple seasonal periods (e.g., hourly data with daily and weekly)
spec = TbatsSpec(@formula(sales = tbats(seasonal_periods=[24, 168])))
fitted = fit(spec, data)
fc = forecast(fitted, h = 12)
# TBATS with specific component selection
spec = TbatsSpec(@formula(sales = tbats(
seasonal_periods=12,
use_box_cox=true,
use_trend=true,
use_damped_trend=false,
use_arma_errors=true
)))
fitted = fit(spec, data)
fc = forecast(fitted, h = 12)
# Additional options at fit time
fitted = fit(spec, data, bc_lower=0.0, bc_upper=1.5, biasadj=true)
2 Likes
We just shipped the Theta and auto Theta forecasting models in Durbyn.jl
What’s inside:
- Full suite of Theta variants (STM, OTM, DSTM, DOTM)
- Automatic model selection + seasonal adjustment
- Forecasts with prediction intervals in pure Julia
7 Likes