Skip to content

[7.17][ML] Improve forecasting for time series with step changes (#2591) - #2593

Merged
tveasey merged 7 commits into
7.17from
port/2591
Nov 20, 2023
Merged

[7.17][ML] Improve forecasting for time series with step changes (#2591)#2593
tveasey merged 7 commits into
7.17from
port/2591

Conversation

@tveasey

@tveasey tveasey commented Nov 3, 2023

Copy link
Copy Markdown
Contributor

Backport #2591.

We model the level of a time series which we've observed having step discontinuities via a Markov process
for forecasting. Specifically, we estimate the historical step size distribution and the distribution of the steps
in time and as a function of the time series value. For this second part we use an online naive Bayes model
to estimate the probability that at any given point in a roll out for forecasting we will get a step.

This approach generally works well unless we're in the tails of the distribution values we've observed for
the time series historically when we roll out. In this case, our prediction probability are very sensitive to the
tail behaviour of the distributions we fit to the time series values where we saw a step and sometimes we
predict far too many steps as a result. We can detect this case: when we're in the tails of time series value
distribution.

This change does this and stops predicting changes in such cases, which avoids pathologies. This fixes #2466.
Comment thread docs/CHANGELOG.asciidoc Outdated
@tveasey
tveasey merged commit 3e9b2d9 into 7.17 Nov 20, 2023
@tveasey
tveasey deleted the port/2591 branch November 20, 2023 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants