TimeSeriesClassification.jl
TimeSeriesClassification.jl copied to clipboard
TS feature requests
Hi @aa25desh and welcome to MLJ.jl! Here are some time series forecasting features I find very valuable: Check out @robjhyndman's free book on forecasting: https://otexts.com/fpp2/
Univariate time-series:
- naive & seasonal naive models
- auto.arima model
- ets model
- thetam model
- nnetar model
- stlm model
- tbats model
- their hybrids. Also check out Forecast Benchmarks. All the above belong to @robjhyndman's forecast.r which is being refactored in the new fable.r. -it is valuable to understand where forecast went wrong & what fable is doing different so we don't make the same mistakes
Multivariate time-series:
- vector auto regression: @fipelle's TSAnalysis.jl is nice (also ElasticNetVAR.jl). PS: I've never seen automated multivariate models (VARIMA) the same way we have automated univariate models (auto.arima() etc).
Volatility models:
- @s-broda's ARCHModels.jl is very neat! Hansen has nice slides on volatility forecasting & a paper that compares 330 ARCH-type models.
Impulse Response Functions: I usually do this in R. Two Julia packages: VARmodels.jl & VectorAutoregressions.jl
In general Julia has great libraries in many domains. Unfortunately time series is one of the least well organized. It also means this is the area w/ the biggest opportunities to make a lasting impact on the worth through open source!
@aa25desh @ablaom
it turns out @s-broda's ARCHModels.jl already allows auto.arma() with:
auto.arma(df, bic)=selectmodel(ARCH{0}, df, meanspec=ARMA, criterion=bic)
This is likely the most well-funded & well written TS pkg in the Julia ecosystem so it may be a good idea for MLJ to wrap ARCHModels.jl
Btw, this package currently can predict: :volatility/:variance/:return/:VaR
It does not yet predict the conditional distribution.
I have an idea for a nice tutorial (possibly small paper) I can contribute or work w/ you guys if you'd like...
Here are the major TS packages I believe are worth wrapping:
- [ ] ARCHModels.jl
- [ ] fable.r
- [ ] rugarch.r
- [ ] sktime.py
Also check out TimeSeriesClustering.jl
@azev77 Do you have any more details/references on their assessment where forecast went wrong and reason for developing fable?
@mloning
FYI https://github.com/tidyverts/fable/issues/282