Releases: taf-society/Durbyn.jl
Release list
v0.1.3
Durbyn v0.1.3
Bug-fix release.
- Fixed
InexactErrorwhen fitting ARIMA models on integer-valued data with regressors fitted()andresiduals()now work on all fitted models- Fixed-order ARIMA formulas (e.g.
p(1) + d(1) + q(1)) no longer add hidden seasonal terms - Fixed fractional confidence levels (
level = [0.8, 0.95]) being misread in Diffusion, Theta, and Kolmogorov–Wiener forecasts ses/holt/holt_wintersacceptlambda = :auto; BATS/TBATS accept integer Box-Cox bounds and series with missing values- Croston forecasts no longer return empty fitted values; added
forecast(fit; h = ...)for Croston auto_arimaapproximation default now activates correctly for high-frequency series- New exports:
PDQ,NamedMatrix,Formula,arima_rjh,croston_classic/croston_sba/croston_sbj, Theta (OTM,STM,DSTM,DOTM) and Diffusion (Bass,Gompertz,GSGompertz,Weibull) model-type constants - Repaired ~40 outdated code examples across the README and documentation
- Added Code of Conduct, Contributing guide, and issue/PR templates
Merged pull requests:
- Bump codecov/codecov-action from 4 to 6 (#31) (@dependabot[bot])
- Bump julia-actions/setup-julia from 2 to 3 (#32) (@dependabot[bot])
- Bump codecov/codecov-action from 6 to 7 (#33) (@dependabot[bot])
- Bump actions/checkout from 6 to 7 (#34) (@dependabot[bot])
Closed issues:
v0.1.2
Durbyn v0.1.2
New Features
-
Grammar interface for Kolmogorov-Wiener filter — The KW optimal filter forecasting model can now be specified declaratively using Durbyn's @formula DSL:
spec = KwFilterSpec(@formula(gdp = kw_filter()))
spec = KwFilterSpec(@formula(gdp = kw_filter(filter=:hp, lambda=1600, output=:trend)))
spec = KwFilterSpec(@formula(gdp = kw_filter(filter=:bandpass, low=6, high=32)))- Panel data support for KW filter — Fit KW models to grouped data with groupby:
grouped = fit(spec, data, m=4, groupby=:country) - PanelData wrapper support — KW filter works with the PanelData convenience type.
New Types
- KwFilterTerm — Grammar term for KW filter specification
- KwFilterSpec — Model specification (declarative, data-independent)
- FittedKwFilter — Fitted model with forecast() support
New Exports
- kw_filter() — Grammar constructor for @formula usage
- KwFilterSpec — Model spec type
Documentation
- Added Grammar Interface section to kolmogorov_wiener.md with single-series and panel data examples
- Added KwFilterSpec and kw_filter to API reference
- Panel data support for KW filter — Fit KW models to grouped data with groupby:
Merged pull requests:
- CompatHelper: add new compat entry for Statistics at version 1, (keep… (#28) (@taf-society)
Closed issues:
- Durbyn v0.1.1 (#26)
v0.1.1
Durbyn v0.1.1
Clean-room rewrites:
-
ARIMA: Kalman filter from Durbin & Koopman (2012) Algorithm 4.3, concentrated ML from Harvey (1989) eq 3.3.16, CSS from Box-Jenkins (2015) §7.1.3, parameter transforms from Jones (1980) and Monahan (1984), covariance initialization from Gardner (1980) and Hamilton (1994).
-
Optimize: BFGS from Nocedal & Wright (2006) Algorithm 6.1, L-BFGS-B from Byrd, Lu, Nocedal & Zhu (1995), Nelder-Mead from Nelder & Mead (1965) and Lagarias et al. (1998), ITP from Oliveira & Takahashi (2021).
-
Stats / Unit Root Tests: ADF critical values from MacKinnon (2010) response surface regressions, KPSS from Kwiatkowski et al. (1992), Phillips-Perron from Phillips & Perron (1988) with MacKinnon (2010) finite-sample critical values, Schwert (1989) bandwidth.
-
Diffusion: Bass (1969), Gompertz initialization from Jukic, Kralik & Scitovski (2004), Weibull from Sharif & Islam (1980), meta-analytic presets from Sultan, Farley & Lehmann (1990), OLS init from Srinivasan & Mason (1986), Gamma/Shifted Gompertz from Bemmaor (1994).
-
Decompose: Classical decomposition by moving averages from Brockwell & Davis (2016) §1.5.2.
-
STL: Seasonal-Trend decomposition using LOESS from Cleveland, Cleveland, McRae & Terpenning (1990).
New model:
- Kolmogorov-Wiener: Optimal finite-sample filter from Schleicher (2004), implementing Propositions 1–4. Supports HP, bandpass, and Butterworth filters with ARIMA-based autocovariance structure. Wiener-optimal multi-step forecasting via Toeplitz system.
Merged pull requests:
- Bump julia-actions/cache from 2 to 3 (#25) (@dependabot[bot])
Closed issues:
v0.1.0
Durbyn v0.1.0
Closed issues:
- about === nothing and !== nothing (#5)
- box-cox back transformation after model fitting: (#6)
- Show method for ets (#7)
- Forecast Plot (#8)
- Error using Durbyn (#9)
- ETS(MMM, damped = false) fails (#10)
- arima and auto_arima code refactoring (#11)
- ets seasonal index calculation in forecast() (#12)
- ets module (#13)
- arima module (nothing isnothing) code improvement (#14)
- ets forecast short time series error (#15)
- holt method should be in different to m (#16)
- Remove Plots dependency (#17)
- Package fails to compile (#18)
- LinearAlgebra.SingularException(1) error when there are 16 training elements but not 15 or 17+ [ARAR model] (#20)