from Hacker News

Darts: A Python library for easy manipulation and forecasting of time series

by grzracz on 8/12/21, 12:08 PM with 43 comments

  • by hrzn on 8/12/21, 12:48 PM

    Hi! I'm one core developer (and creator) of the library. Thanks for all the comments. I just wanted to highlight a couple of things that we think are quite cool about Darts:

    * It makes using all sorts of forecasting models (from ARIMA to deep learning) easy, using fit() and predict(), similar to scikit-learn.

    * It's easy to fit deep learning and other ML-based models on multiple time series, potentially on big datasets too. The time series can be multivariate.

    * Darts is not only wrapping existing models. We also have our own implementations, for instance of TCN (Temporal Convolutional Networks), or adaptations N-BEATS (which we extended to handle multivariate series), DeepAR and others.

    * Darts makes it very easy to include past and/or future covariates as inputs for the predictions.

    * Some models offer probabilistic forecasts; sometimes with the possibility to configure your favourite likelihood function (e.g. Gaussian for continuous values or Poisson for discrete values).

    * Everything uses the "TimeSeries" class, which makes the API consistent across tools and models, and make it harder to make mistakes. For instance it's easy to consume the output of one model by another model, and all models can be backtested the same way.

  • by XoS-490 on 8/12/21, 12:30 PM

    Hey guys,

    If you are interested in a unified interface for time series learning tasks, have a look on sktime:

    https://github.com/alan-turing-institute/sktime

    https://www.sktime.org/en/stable/

    It provides specialized time series algorithms and scikit-learn compatible tools to build, tune and validate time series models for multiple learning problems.

    We have been working hard on this open-source project for a long time and would be glad to hear your opinion.

  • by chudified on 8/12/21, 12:32 PM

    Darts is mostly a wrapper for a bunch of other timeseries forecasting libraries, and provides a single interface to work with them. It's not really a Facebook alternative. Facebook's Prophet library is one of the forecasting libraries used by Darts.
  • by peter_retief on 8/13/21, 11:40 AM

    I am writing code for a time series NN at the moment so am keen to check out darts

    conda install -c conda-forge -c pytorch pip prophet pytorch cpuonly

    pip install darts

    Why not install darts with conda as well?

    I am getting some errors runnning the on a debian system install

    when running the example script I get this: Importing plotly failed. Interactive plots will not work. /home/peter/anaconda3/envs/darts/lib/python3.7/site-packages/statsmodels/tsa/holtwinters/model.py:429: FutureWarning: After 0.13 initialization must be handled at model creation FutureWarning,

    I guess its a library compatabilty but feedback is important.

  • by bartkappenburg on 8/12/21, 7:25 PM

    On a side note: I love the example with the airtravel time series (# of passengers). It fits almost perfectly but I love to see how it holds up with data from around March 2020 until now ;-).

    Disclaimer: studied econometrics so I will try do this on my own :D

  • by bothra90 on 8/12/21, 7:37 PM

    How does this compare with https://github.com/linkedin/greykite?
  • by kleiba on 8/12/21, 12:20 PM

    Can't wait for the Dart port.
  • by jstx1 on 8/12/21, 12:28 PM

    > Darts: Non-Facebook alternative for timeseries forecasting

    The title of the post seems very editorialised.

    First of all, being non-Facebook is hardly meaningful when we talk about open source tools. Secondly, the project doesn't advertise itself as being non-Facebook, the poster has added this. And lastly, it's false - from the prerequisites in the readme:

    > Some of the models depend on prophet and torch

  • by bernardv on 8/12/21, 1:39 PM

    What has Facebook got to do with time-series forecasting?? Prophet?? Real time series work means rolling your own tools and understanding exactly how they function ;-). In C preferably, while flogging yourself at the same time. Just kidding.. Sort of.
  • by olav on 8/12/21, 6:08 PM

    I opened this page because of the friendly "Non-Facebook alternative...". In my view, we should ignore software by companies that actively seek to destroy our societies.