I'm using Facebook Prophet as a forecasting model and I want to use weather data (temp for example) as additional regressor (exogenous data or external variable).

Additional regressors are integrated in a linear way into Prophet and need future values at forecast time.

My question is: If I know that I can have pretty good weather forecasts say at day-4:

  1. Should I train the model using D-4 weather forecasts in the past and use the D-4 weather forecasts at prediction time ?
  2. Or, train the model using day's actual temperature (D-0) and then use the D-4 temperature forecast at prediction time (as if it was the same as D-0 or actual weather in 4 days) ?


I assume in this case that the predictand has a relationship only with the actual temperature values and not with the lagged weather forecasts.


2 Answers 2


It's a good question.

I would try both and see what happens. It also kinda depends on the thing you are forecasting, for example trips to disney world may depend more on the lagged weather forecast as that requires more planning than say grocery store sales.

I understand that you are trying to incorporate the inherit bias in weather forecasting, which makes sense, but by changing the variable here you could be fundamentally answering a different question with it.

  • $\begingroup$ I'm trying to cover both cases, for the disney world example it seems clear to me that using lagged forecasts is better. In this case I'm trying to cover the second case where the predicted variable is only impacted by the actual weather factors. $\endgroup$
    – iMad
    May 25, 2022 at 12:43
  • 1
    $\begingroup$ Yeah so then do the actual then when it's prediction time do d-1, d-2, etc. as that is the expected weather on that day. But you could still try both methods and choose the one that does better in CV. Weather is also special in that it (typically) isn't too far off the forecasts compared to many other things you could be using. $\endgroup$
    – Tylerr
    May 25, 2022 at 15:14
  • $\begingroup$ Yes you're right I'll try both. Thank you ! $\endgroup$
    – iMad
    May 30, 2022 at 8:16

I'd definitely go with your option (1). Here's a couple of reasons why:

  • It's possible that the weather forecasts will show a (hopefully small) bias by D-4. Then option (2) would result in biased forecasts from your Prophet model.

  • Consider the situation where your predictand has a strong relationship to the observed temperature at the same point in time. Even if D-4 temperature forecasts have zero bias, they won't be perfect (some will be lower than the true temperature and some higher), so the relationship between your predictand and the D-4 forecasts will be weaker than that between your predictand and the observed temperature. Then option (2) would place too much weight on temperature over other regressors (whether endogenous or exogenous) in your fitted model.

In the jargon of weather forecasting, your option (2) is the perfect prognostic method ('perfect prog') - see American Meteorological Society's glossary. It was used in the past, partly because it's computationally cheaper, but is now rarely used. That page contrasts it with model output statistics (MOS), which corresponds to your approach (1). This is often used by weather forecast providers to 'post-process' output from physics-based computer models (numerical weather prediction models).

  • $\begingroup$ Thanks for the clear answer and the jargon references. But intuitively I do not completely agree, this is how I see it: Since the impact on the predictand is driven by the observed temperature, whould'nt be better if the fitted model captures this "true" relationship rather than an "artificial" one with D-4 ? Then, use the best guess of the actual temperatures for prediction which is the D-4 forecast in the future ? $\endgroup$
    – iMad
    May 25, 2022 at 12:35
  • $\begingroup$ In the other hand, fitting a model on D-4 values may introduce a bias in the calculated relationship if D-4 happens to be different form actual values. So even if the D-4 forecast in the future is perfect, the impact will still be biased. It seems to me like it will introduce 2 biases, the "relationship" bias in the past + the possible forecast bias in the future (both will not always cancel each other) Plus, using option (1) ensures that the more D-4 becomes accurate the better becomes the model. $\endgroup$
    – iMad
    May 25, 2022 at 12:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.