Hacker News new | past | comments | ask | show | jobs | submit login

As others have pointed out, Prophet is not a particularly good model for forecasting, and has been superseded by a multitude of other models. If you want to do time series forecasting, I'd recommend using Darts: https://github.com/unit8co/darts. Darts implements a wide range of models and is fairly easy to use.

The problem with time series forecasting in general is that they make a lot of assumptions on the shape of your data, and you'll find you're spending a lot of time figuring out mutating your data. For example, they expect that your data comes at a very regular interval. This is fine if it's, say, the data from a weather station. This doesn't work well in clinical settings (imagine a patient admitted into the ER -- there is a burst of data, followed by no data).

That said, there's some interesting stuff out there that I've been experimenting with that seems to be more tolerant of irregular time series and can be quite useful. If you're interested in exchanging ideas, drop me a line (email in my profile).




> they expect that your data comes at a very regular interval

Does prophet rely on this assumption? For health timeseries data the tool of choice is survival analysis - typically using Cox proportional hazards regression or similar regression tools that are able to handle irregular or censored data.

I've seen some moves towards using fancy bayesian or fancier machine learning stuff for clinical trials but a big issue is that they are very difficult to communicate to their intended audience.


There’s also the auton survival library. I’ve used it for very big survival models with time varying coefficients:

https://autonlab.org/auton-survival/


I find Bayesian regression models are actually simpler to explain as the assumptions you make are explicit and part of the model specification.

(Thought the actual sampling mechanics and tooling can be much more complex)


PyMC or Pyro/NumPyro make the implementation of Bayesian regression dead simple


I tried Prophet via Darts, and all the models in Darts assume a regular time series.

Re: "fancier machine learning" -- I've seen different flavors of RNNs & LSTMs have some success in analyzing time series data. I've struggled to get them to work on real-world (i.e., messy) data, but have had some encouraging results with a transformer encoder-only NN.


What does Dart do that a multibillion dollar entity with an excellent open sourcing track record misses doing? Perhaps it addresses a niché case well. Genuinely curious


Darts isn't a specific model, it's a wrapper API for a wide variety of forecasting models, and Prophet is one of them. Other models may or may not outperform Prophet depending on the nature of your specific application and your time series data. You really have to test them to know. And Darts facilitates testing many models on the same data by putting them all behind the same API.

Also, Prophet was developed by a very small number of individuals at Facebook, it's not something they invested massive resources into.


As others have mentioned in the thread, Prophet has been abandoned, and in my experience anyway, wasn't all that great.


Can we employ stochastic processes like the Poisson process to represent irregular data points? Are there any existing models for this?


A common strategy is interpolation. The challenge is that forecasting itself is a form of interpolation. So you're forecasting based on forecasted data.


I think a common “solution” is to use a Gaussian process model.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: