8000 [ENH] technical roadmap 2025 · Issue #7707 · sktime/sktime · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[ENH] technical roadmap 2025 #7707

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
fkiraly opened this issue Jan 28, 2025 · 1 comment
Open

[ENH] technical roadmap 2025 #7707

fkiraly opened this issue Jan 28, 2025 · 1 comment
Labels
enhancement Adding new functionality good first issue Good for newcomers roadmap

Comments

@fkiraly
Copy link
Collaborator
fkiraly commented Jan 28, 2025

Umbrella issue for collecting, consolidating, and prioritizing roadmap items for the 2025 increment.

How to contribute:

  • user or developer - community suggestions appreciated in this thread!
  • new to open source and want to contribute code? Check if you see sth interesting and get in touch on discord - at meet-ups, workstream meetings, or just chat
@fkiraly fkiraly added enhancement Adding new functionality good first issue Good for newcomers roadmap labels Jan 28, 2025
@fkiraly
Copy link
Collaborator Author
fkiraly commented Jan 28, 2025

From developer roadmap planning January 24

(to be used to prioritize)

  • [name=Felipe Angelim - core dev]
  • [name=Revanth - core dev]
  • [name=Franz Kiraly - core dev & council]
  • [name=Satvik - mentee]
  • [name=Aryan - mentee]
  • [name=M. Armaghan Shakir - core dev]
  • [name=Vedant Agrawal - mentee]
  • [name=Jigyasu - mentee]
  • [name=Andrea Gobbi - co-mentor, dsipts dev]
  • [name=Anirban Ray - core dev]
  • [name=Marc Rovira - core dev & council]
  • [name=Ugo Onyeka - council]
  • [name=Sandeep - dsipts dev]
  • [name=Julian Fong - dev]
  • [name=Simon Blanke - dev hyperactive]
  • [name=Pranav Bhat - mentee]
  • [name=Mridul Jain]

👍 = subjective prio (3 per participant)
✔️ = working on this (current plan)

Foundation models (12) 👍👍👍👍👍👍👍✔️

  • generalize HFForecaster / HFAdapter 👍👍👍✔️

    • current HFTransformerForecaster only works for Autoformer, Informer, TimeSeriesTransformer
    • bunch of other huggingface/transformer based estimators can be supported like: TimeLLM, Time-Moe, PatchTST, TinyTimeMixer, TimesFM, PatchTSMixer, Time-Mixer
    • improve the current design for fit_strategy methods
  • PeftAdapter 👍👍✔️

    • wrapper around HFTransformerForecaster and other models that can support peft fine-tuning
    • currenly HFTransformerForecaster takes fit_strategy="peft"
  • foundation models full design, rebase current Fm on this

Deep Learning, torch, ptf, dsipts (16) 👍👍👍👍👍👍✔️✔️

  • interfacing Deep-Learning based models 👍👍👍👍

    • add new models to sktime and pytorch-forecasting ✔️
    • draw line between keeping the models in sktime and pytorch-forecasting
    • also enable integration betweent the two libraries
  • pytorch-forecasting/sktime integration 👍

    • unified data containers for torch & forecasting
    • rework with dsipts and TSLib ( 8E03 TSLib has some architectures not present in dsipts)
    • rebasing sktime models on the new architecture
  • pytorch-forecasting/sktime integration (DSIP SIDE) 👍 👍👍👍

    • embark some nice to have features such as:
      • parallel training session (same model, different parameters, same dataset) or (same dataset,m different models)
      • optuna for newtork parmaeter optimization
      • comparison between models
      • consider hydra --> sweepers for optuna and for slurm based cluster GPU based
      • stacked generalization models: use outputs of N models for traing the final model (some architectures are good at finding spikes some others for long trend)
      • loss functions for timeseries, optimizer for timeseries
      • having model and trainer params directly accessible through estimators' get_params and set_params interface. (is it possible to have dictionaries behave as 'dummy estimators'?)
  • A suggestion : Refactor various PyTorchDataset in sktime(issue: [ENH] Refactor various PyTorchDataset #7598)

👍👍👍 Forecasting base framework (9)

  • improve support of Darts provided models (more interfaces, support for past/future/static covariates) 👍

    • different type of X can be a generic feature, neuralforecast also use that
  • rework/improve ForecastingHorizon, decouple from pandas 👍 👍👍👍

  • improve logging in the framework (almost no logs come from framework, very difficult to debug on production) 👍

Reduction models 👍👍👍 (3)

  • fix all the problems with the reducers 😅

    • Related to current "global forecasting" terminology conflict
  • resolve API design for global reduction models! Currently subclass, could be merged or redesigned.

👍 👍 👍 Hierarchical models (3)

  • hierarchical reconciliation API - adding new reconciliation strategies and revisiting the current transform interface ✔️

  • skpro: distributions for hierarchical index, broadcasting, concat, etc - required for forecasts that are both distributional and probabilistic

  • Adding temporal hierarchical reconciliation capabilities to sktime

👍 👍 👍Benchmarking, Tuning (4)

  • finish benchmarking rework.

  • Adding code to reproduce and benchmark models with M1-M5 competition data.

    • Currently, some estimators in sktime are not able to reproduce experiments where the maximum time index is not equal to all panels. This is caused by having a "global" cutoff parameter, that is used to parse relative forecast horizons (verified this with reducers)
  • abstract tuning engine - have optuna tuning for all learning tasks. with hyperactive package 👍✔️

Maintenance and release management👍 👍 (2)

  • improve release strategy (pre-planned feature targeted minor releases, feature to go to minor instead of patch, plan major release, etc.)
  • consideration of reducing package size by splitting by module, especially that now few forks are there
  • smaller item: merging sktime pykalman fork back into pykalman

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Adding new functionality good first issue Good for newcomers roadmap
Projects
None yet
Development

No branches or pull requests

1 participant
0