Closed woj-i closed 3 years ago
FYI We're keeping a list of related software here. There are a few more packages that offer a scikit-learn-like forecasting API that you may want to compare.
Hi @woj-i - it is a very good point and we'll add a more detailed description in the future.
Long story short - our library was built mostly based on our internal use cases with forecasting in mind as the main priority (at the moment of starting a lib we were not able to find any comprehensive implementation of models in Python) - therefore we brought in a lot of the classical models, added wrappers for the modern, popular ones and implemented some of the neural networks (RNN/TCN) from scratch in pytorch. In the future we plan to add more models that we are going to use internally. We wanted to focus on two things:
The rest of the features like preprocessing is delivered on a nice-to-have basis, but the above 2 points are a must and ATM we are still thinking about new models and simplifying backtesting validation.
In terms of sktime, the library seems to provide a very nice API that extends sklearn objects and is meant for more generic-purpose use of time series with quite a broad set of tools to analyze/annotate/preprocess them. At the moment of writing there are also basic forecasting algorithms like ARIMA or 4Theta, although the more complex ones (multivariate models or eg. neural networks) are missing.
I believe the case is similar for the tslearn, library meant for the ML tasks on top of timeseries. Therefore if you want to work with forecasting challenges based on uni-/multivariate timeseries and are happy with a very simple wrapper Timeseries object on top of pandas dataframe, give Darts a shot. If you have different usecases in mind it might be worth looking into sktime or other libraries from their list.
Thank you @mloning for including us on your list - we are super excited to see us listed there! Could you maybe change the description a bit to reflect our goal a bit more? Eg. "Python collection of time series forecasting tools, from preprocessing to models (uni-/multivariate, prophet, neural networks) and backtesting utilities."
@TheMP I've changed the description! We're currently working on extending the support for multivariate data. We also have a companion package for common deep learning architecture, at the moment mostly time series classifiers though, check out the dev branch: https://github.com/sktime/sktime-dl/tree/dev
We'd be very happy to collaborate further, I think working towards a more unified ecosystem for time series analysis is crucial to make it easier for people to understand and use the existing time series tools.
Hi @mloning - many thanks! Totally agree, the time series didn't receive enough attention so far and we're happy to see not only we noticed that problem. They deserve a more unified environment and a proper treatment as first-class citizens :)
I think working towards a more unified ecosystem for time series analysis is crucial to make it easier for people to understand and use the existing time series tools.
I agree. Having a darts
wrapper/extension in sktime
would be really nice similar to what is done for statsmodels
(Link)!
Is your feature request related to a current problem? Please describe. There are many libraries for time-series forecasting. They have strong and weak points. It's hard to understand strong points and weak points of Darts if you are not a contributor of Darts.
Describe proposed solution It would be good if authors describe use-cases where this library is the best choice. It would be good to compare strong and week points of Darts with two popular python libraries for time-series forecasting: https://github.com/alan-turing-institute/sktime and https://github.com/tslearn-team/tslearn (around 1.5k stars each).