Live data from Hacker News

Prophet: Automatic Forecasting Procedure

github.com

81–90 of 90 posts

Re: Prophet: Automatic Forecasting Procedure

#81

How can this possibly work? The classic example is a turkey trying to forecast his body weight not knowing that he’s for dinner.

Account for the fact that a lot of turkeys lose their bodily mass very quickly during the thanksgiving week?

Then what do you need forecasting for?

Re: Prophet: Automatic Forecasting Procedure

#83
post #45

On this topic, does anyone know of a suitable time-series forecaster for multivariate analysis? Eg 8 independent/input variables, and one output variable? I've been using multiple linear regression (which works impressively!) but it doesn't take into account the time series, only the single prior day of inputs. Thanks :)

Not really sure what you are looking for, but the easiest might be to just add lags of your input variables in the same linear model that you are using.

If you are looking for an actual timeseries method I would checkout either darts [0] or statsforecast [1]. They are currently the most mature timeseries packages.

[0] https://unit8co.github.io/darts/ [1] https://github.com/Nixtla/statsforecast

Re: Prophet: Automatic Forecasting Procedure

#84
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,…

aaaaand i just spent 3 hours watching that, trying to remember some parts of calculus, and reading all of the wikipedia articles and "also see" that were grey on white in the video. Then i fell asleep, but i wanted to thank you, as i also thanked the Prof. that made that video (on reddit).

Re: Prophet: Automatic Forecasting Procedure

#85
Tried it once. Its promise is to take the dataset's seasonal trend into account, which makes sense for Facebook's original use case.

We ran it on such a dataset and found out that directly using https://github.com/karpathy/minGPT consistently gives a better result. So we ended up using the output of Prophet as an input feature to a neural network, but the result was not improved in any significant way.

Re: Prophet: Automatic Forecasting Procedure

#86
post #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…

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.

Re: Prophet: Automatic Forecasting Procedure

#88
post #44

Earlier quoted context omitted.

Fun fact: if you don't care about the auto-regressive aspect of NeuralProphet (it's turned off by default), you can implement the core of NeuralProphet/Prophet (piecewise linear trend + Fourier on weekly/daily seasonality) in about 60 LOCs with no other dependency than either torch or numpy+scipy.optimize, and without having to deal with Stan or the very poorly chosen heuristics of neuralprophet. Another thing that b…

Why is STAN viewed negatively in this light? I am curious why bayesian libraries are the black sheep.

Not directly from machine learning perspective, rather touching stability of use in production setup. We at VictoriaMetrics allow Prophet to be one of the models to use for time series anomaly detection in vmanomaly product. When it comes to cloud environment, Prophet, which uses `cmdstanpy` under the hood, allows little to no control over the backend, thus, resulting in unexpected crashes for read-only filesystems like Red Hat OpenShift, after the backend attempts to create assets in /tmp directory during model fit stage, so such dependencies may limit usage of a product in real-world scenarios.

Re: Prophet: Automatic Forecasting Procedure

#89

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

While using Prophet for purely "forecasting" setup might not guarantee consistent high-quality results out of the box, especially for noisy and complicated time series data, at VictoriaMetrics we found it practically useful for anomaly detection task:

In our vmanomaly product, Prophet is one of the go-to models for anomaly detection in metrics data and it usually requires little tuning to achieve considerable results. The main purpose for the use of Prophet or similar forecasting models is to reformulate the task of anomaly detection:

- given fitted model M, ground truth Y_i for particular data point X_i, we produce forecast Yhat_i and its uncertainty estimate [Yhat_lb, Yhat_ub] - if ground truth Y_i falls beyond the range of [Yhat_lb, Yhat_ub], we consider this point an anomaly - the further Y_i is from the range, the higher the anomaly score would be. In our particular implementation for easier alerting purposes, anomaly_score > 1 means "anomaly"

here's a small visual example: https://docs.victoriametrics.com/vmanomaly.html#examples

Re: Prophet: Automatic Forecasting Procedure

#90

Earlier quoted context omitted.

the hard part isn't the stats. it is all the information that people buy and setting up those ingest pipelines! If i had a satellite telling me when a certain big company has a lot of cars in the lot parked after hours, I could make a zillion bucks too!

buying up and setting up those ingest pipelines seems easy? it's trivial to do #cars detection automatically. in fact, this sort of alternate data is pretty commonplace in firms I've worked at.

you are right; it can be easy sometimes, especially if you have the expertise. i should have said that it is a bit expensive though.
Post reply on HN