2
$\begingroup$

I have a number of daily time series to be forecasted for a horizon of one week, i.e. 7 days, in an online, automated way. A lot of times the series change due to some exogenous factors that I cannot control. What would be a good way of combining a change point detection algorithm with a forecasting technique to update my forecasts?

The first thing that came into my mind is once the change has been detected, keep the previous forecast for some time until enough data are available and then retrain the model on the new data, discarding all the previous ones.

$\endgroup$
3
$\begingroup$

You might want to read Quantifying effect of a categorical variable in time series analysis for some information about change point detection. Recent "Unusual Values" can also be a clue to a change in error variance or a regime change in model/parameters. Depending on the identified/suggested/most likely cause for the change point different remedies might be in order including model reformation in order to create new forecasts.

You might want to peruse http://www.unc.edu/~jbhill/tsay.pdf which details how to program Pulse/Level-Step shifts and change points in error variance. I have personally extended this to Trend Change Detection ( see Auto-regression versus linear regression of x(t)-with-t for modelling time series ) and parameter change point detection ala Gregory Chow https://en.wikipedia.org/wiki/Chow_test

It is interesting to me that the history of detection is often ignored by others . Here is some material from the Tsay reference.

enter image description here

$\endgroup$
  • $\begingroup$ Thank you for your valuable help. The predictions are for a massive system with users that change a number of parameters manually which can affect the time series under consideration in a fuzzy way (i.e. I would need to isolate the effects and I am not even sure if it is possible). I guess I could have a single intervention variable but it is very unlikely that the system remains fixed for a day. $\endgroup$ – user90772 Nov 3 '15 at 12:50
  • $\begingroup$ If you ere simply trying to detect a change point based upon 1 observation the only recourse is to label it as a pulse. If one has persistent values that reflect a change it is then possible to classify it as a step or a trend change or a change in parameters or a change in error variance BUT all of these require a number of "errant data points" $\endgroup$ – IrishStat Nov 3 '15 at 12:59
  • $\begingroup$ I am not sure I understood exactly what you wrote. I am trying to predict the daily demand for multiple products where the users of the system might change their preferences e.g. for other products but there are complementarities and so this affects the demand for the products I am trying to predict, even though there are no direct changes in those products. It is very likely that changes in other products happen continuously (every day) and it is not easy to track what exactly triggers the observed changes in my time series. $\endgroup$ – user90772 Nov 3 '15 at 15:46
  • $\begingroup$ If you are concerned with simultanteous prediction ( multiple endogenous )using the history of these series and possible exogenous series like price,holiday events etc . this is referrred to in the literature as Vector ARIMA which in the presence of Pulses/Level Shifts/Seasonal Pulses and/or Local Time Trends is just not tractable. Lesser model like a VAR model come with a lot of assumptions and thus are of little use. The art of the possible is something called Transfer Functions w Outlier Detection where each series is modelled independendently and holiday effects are included. $\endgroup$ – IrishStat Nov 3 '15 at 21:09
  • $\begingroup$ Thank you once again. Would you have some related references to start with? Any book or paper mentioning these issues would be very helpful. I am already having a look at the papers you mentioned in your answer. $\endgroup$ – user90772 Nov 4 '15 at 10:33
3
$\begingroup$

In my opinion, changepoint detection has received it's most thorough treatment in the context of sequential models. The "bible" for sequential analysis is probably last year's (2014) book Sequential Analysis: Hypothesis Testing and Changepoint Detection by Alexander Tartakovsky. It is magisterial and seemingly exhaustive in its coverage of the topic.

http://www.amazon.com/Sequential-Analysis-Hypothesis-Changepoint-Probability-ebook/dp/B00MMOIWTS/ref=sr_1_1?ie=UTF8&qid=1445511005&sr=8-1&keywords=sequential+analysis+tartakovsky

In addition, last June Columbia sponsored The Fifth International Workshop in Sequential Methodologies which brought together some of the most prominent and prolific practitioners in the field. Tartakovsky was on the organizing committee.

https://sites.google.com/site/iwsm2015/home

See the "Detailed Program" link on the conference website for abstracts and papers. A number of automated machine learning, time series solutions are presented and discussed.

$\endgroup$
  • $\begingroup$ Thank you for the book suggestion and the workshop. I have already ordered the book and I will definitely have a look. As I guess you understand from my writing, I am a beginner practitioner. From the contents of the book, it seems to focus on the monitoring part, would you happen to know any other resources that incorporate the change point detection in the forecasting of future values? $\endgroup$ – user90772 Nov 3 '15 at 15:47
  • $\begingroup$ Tartakovsky's treatment is pretty advanced. And I'm not aware of any introductory papers on sequential analysis (apologies for that). Tartakovsky does teach at the Univ of Connecticut and would likely be amenable to a direct question regarding such resources, particularly since you've bought his book. $\endgroup$ – DJohnson Nov 3 '15 at 16:13
  • 1
    $\begingroup$ This paper popped up today and seems relevant to your analysis but it doesn't mention "sequential modeling" although "trajectories" is clearly a close cognate" TribeFlow: Mining & Predicting User Trajectories arxiv.org/abs/1511.01032 $\endgroup$ – DJohnson Nov 4 '15 at 18:28

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.