Given a univariate time series, what are common / best practice ways to detect "ramp up" or "ramp down" in a time series over an extended period of time?

For example, given a daily time series of an entity of interest - say searches made on a search engine - how does one detect changes long term, sustained changes in the number of searches?

Note this is distinct from detecting sudden, unexpected extreme values. We're looking for shifts in slow, consistent changes in behavior - not sudden shocks.

It seems like anomaly detection time series is usually broken out into identifying:

  1. Mean shifts (change from 1 steady state to another)
  2. Pulses (short, anomalous deviations from expectation)
  3. Ramps (a continuous and sustained but gradual increase/decrease from some steady state) - this seems to be the classification of interest here.

Several resources below reference each of these, although far more attention seems to be given to the "pulse" or the "mean shift" case:

  1. Anomaly detection by Netflix
  2. Breakout detection by Twitter
  3. Changepoint package

It seems like there are some non-parametric methods suggested here and here that seem interesting.

  • $\begingroup$ I'm not an expert on time series, but wouldn't a test for non-stationarity be able to pick up ramps? $\endgroup$ – Frans Rodenburg Apr 21 at 2:50

Your Answer

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

Browse other questions tagged or ask your own question.