Live data from Hacker News

Prophet: Automatic Forecasting Procedure

github.com

21–30 of 90 posts

Re: Prophet: Automatic Forecasting Procedure

#21

Has anyone else struggled with Prophet? I've experimented with it on a few real world datasets and I've had very inconsistent results.

I have not been able to get good results either, but I have not tried it in the past year. I also tried many of the architectures in Darts. I have found that fairly straightforward architectures work well. That is, I can iterate on my own design for my own specific data (with all its specific covariates) and get better results than I could with Darts or Prophet.

Re: Prophet: Automatic Forecasting Procedure

#22
post #7

Earlier quoted context omitted.

Yes. I've tried using it for pretty straightforward time series forecasts, and I struggled to make it into something useful in a business context. I'll disclaim that I'm just a finance dude and not a data scientist or programmer. But the documentation leads me to believe that I am in the target audience. I felt like I could grasp the basic mechanics after reading the paper, but I wish the documentation could help som…

You are the primary audience. Time series forecasting with deep learning is fraught with inconsistency. Someone on r/ML went pretty hard on detailing a survey and the stuff that was SOTA 10 years ago still is. Wish I saved that thread. The dude was well published. edit: found it https://www.reddit.com/r/MachineLearning/comments/pe1lst/r_i... Turns out it was about time series anomaly detection, but if you can detect,…

When was this? I might go chasing this lead down, but even a fuzzy estimation of when would help. Will come link it here if I find it.

Re: Prophet: Automatic Forecasting Procedure

#24

Earlier quoted context omitted.

Isn't recommended by whom?

Every time I, or someone at work with more experience than me, have tried Prophet it has ended up in changing the approach and trying a different technique. In my experience with time series hand-crafted recipes tend to work much more better than out-of-the-box solutions.

I agree completely. We always end up moving away from Prophet every time. The results from Prophet are just not very good, although it can be useful for a proof-of-concept.

Re: Prophet: Automatic Forecasting Procedure

#25
post #4

Also relevant: https://news.ycombinator.com/item?id=27695574

This is the HN comment thread on a well-written skeptical article with this zinger:

“You can imagine my disappointment when, out-of-the-box, Prophet was beaten soundly by a ‘take the last value’ forecast.”

Re: Prophet: Automatic Forecasting Procedure

#28
post #7

Earlier quoted context omitted.

Yes. I've tried using it for pretty straightforward time series forecasts, and I struggled to make it into something useful in a business context. I'll disclaim that I'm just a finance dude and not a data scientist or programmer. But the documentation leads me to believe that I am in the target audience. I felt like I could grasp the basic mechanics after reading the paper, but I wish the documentation could help som…

You are the primary audience. Time series forecasting with deep learning is fraught with inconsistency. Someone on r/ML went pretty hard on detailing a survey and the stuff that was SOTA 10 years ago still is. Wish I saved that thread. The dude was well published. edit: found it https://www.reddit.com/r/MachineLearning/comments/pe1lst/r_i... Turns out it was about time series anomaly detection, but if you can detect,…

These may be related.

https://www.reddit.com/r/datascience/comments/11vzjhi/statis...

https://www.reddit.com/user/eamonnkeogh/submitted/?sort=top

Re: Prophet: Automatic Forecasting Procedure

#29
Prophet has gotten a lot of attention since being released in 2017, I think because the idea of a fully automatic solution is very appealing to people. One of the original developers, Sean Taylor, recently posted a nice retrospective on the project's successes and failures: https://medium.com/@seanjtaylor/a-personal-retrospective-on-... He quotes one of his earlier tweets:

  If I could build it again, I’d start with automating the evaluation of forecasts. It’s silly to build models if you’re not willing to commit to an evaluation procedure. I’d also probably remove most of the automation of the modeling. People should explicitly make these choices.
Having worked on similar Bayesian time-series forecasting tools at Google, this matches my experience (though I've never used Prophet seriously, so please don't take this as any direct judgement of it as a software package). There is a lot of value in a framework that lets you easily experiment with different model structures (our version of this was the structural time series tools in TensorFlow Probability, see, e.g., https://blog.tensorflow.org/2019/03/structural-time-series-m...). But if you're forecasting something you actually care about, it's usually worth the time to try to understand yourself what structure makes sense for your problem, and do a careful evaluation on held-out data with respect to whatever metric you're really trying to optimize. A fully automated search over model structures is cute, but even when it works, it mostly just ends up rediscovering properties of the data you could or should have already known (e.g., of course traffic to your work-related website will have a day-of-week effect), so the cases where it really adds practical value are harder to find than you might like.

Even in the age of deep learning, I do think these relatively classical Bayesian models have a lot of value for many applications. Time-series forecasting tends to be a case where:

- you don't have a ton of iid data points (often, only a single time series),

- you'd like forecasts with principled uncertainty estimates, e.g., credible intervals, giving you a range of scenarios to plan for,

- you often do have a pretty good idea of what features are relevant to the process you're predicting, and

- you want to understand in detail what features the forecast is accounting for (and what it might be missing),

all of which play to the strengths of more classical, structured statistical models, compared to more data-hungry black-box deep learning models. So the basic ideas in Prophet and similar tools do still have a lot of relevance going forward, IMHO.

Re: Prophet: Automatic Forecasting Procedure

#30
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).

Post reply on HN