In class today, we were doing a lab exercise in which we used R to fit a basic ARIMA time series model to predict the rain fall at a daily level. I noticed that during some months where there has not been a lot of rain (e.g. drought), the ARIMA model would make "illogical predictions". For example, the ARIMA model would predict that the following day will have "negative rainfall", or that the confidence interval would be 1 mm ± 3 mm.

Our prof told us that he wanted us to notice this phenomenon of "illogical predictions" and that this can commonly occur in ARIMA models.

He then mentioned that models like ETS (Exponential Time Smoothing) are less suspectable to producing such "illogical predictions" - but he did not really explain the reasons behind this.

My Question: Is there actually some mathematical reason that proves to us that these kinds of illogical predictions are by definition impossible when using ETS - or is it that sometimes ETS still make these illogical predictions, and that all depends on the specific dataset and the customizations? And are there any such models time series models that are better suited for avoiding these kinds of illogical predictions?


  • $\begingroup$ Your professor seems to have conceded that ETS also makes such mistakes. $\endgroup$
    – Dave
    Jan 25 at 21:54
  • $\begingroup$ I am thinking perhaps the following logic applies: "sometimes linear regression models work really well, sometimes deep neural networks work really bad" $\endgroup$
    – stats_noob
    Jan 25 at 21:57
  • $\begingroup$ the same way, sometimes ETS produces illogical predictions - sometimes ETS does not? $\endgroup$
    – stats_noob
    Jan 25 at 21:57
  • $\begingroup$ I would hope that ETS isn’t guaranteed to produce illogical predictions! $\endgroup$
    – Dave
    Jan 25 at 21:58
  • 1
    $\begingroup$ Note that "ETS" does not stand for "Exponential Time Smoothing", but for "Error, Trend and Seasonality". This is crucial. Single Exponential Smoothing (SES) will indeed not give forecasts outside the historical observed range, but the more general ETS model will indeed do so. $\endgroup$ Jan 25 at 22:10

2 Answers 2


ETS will happily make "illogical" predictions. Feed it some data with a strong downward trend, and it will happily extrapolate it into negative forecasts, even if negative outcomes are nominally impossible for the data generating process at hand - after all, how is ETS to know?

enter image description here

foo <- ts(100:10+rnorm(91))
  • $\begingroup$ @ Stephan Kolassa: Thank you for your answer! I had a follow up question over here on what to do when the response variable naturally becomes (close to) 0 for certain periods of the year (stats.stackexchange.com/questions/597779/…) - could you please take a look at it if you time? thank you so much! $\endgroup$
    – stats_noob
    Jan 27 at 3:31

Exponential smoothing predictions are a weighted sum of past observations, but the model explicitly uses an exponentially decreasing weight for past observations.

Since rainfall is always greater or equal to zero, it will be impossible for ETS to smooth historical data into something negative.


set obs 100
gen t = _n
tsset t
gen y = 100 - 2*t + rnormal(0,15)
replace y = . if y <= 0
tssmooth exponential yhat = y, forecast(20)
tw (scatter y t) (line yhat t)

enter image description here

  • $\begingroup$ Sorry, but this is just plain wrong, at least for the general ETS framework. (You are correct for SES, Simple Exponential Smoothing.) $\endgroup$ Jan 25 at 22:08
  • $\begingroup$ @StephanKolassa I defer to you on all things TS and R, but I will leave my answer up until the OP clarifies if he meant ses (exponential smoothing forecasts) or ets (exponential smoothing state space model). It is not clear to me if he meant the latter by "ETS (Exponential Time Smoothing)." $\endgroup$
    – dimitriy
    Jan 25 at 22:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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