# How to detect changes in amplitude?

I have timeseries like this:

as you can see there are changes regarding the amplitude. Is there a test to check this kind of changes?

Important annotations:

1. I do not know if the series have changes in amplitude
2. If there is a change in amplitude I do not know the point of the change
3. The changes can be more then ONE (but I only need to know if there is a change in amplitude, for my tests the numbers of changes is not important)
4. As you can see the means are common
5. I do not have groups I have series in a numeric vector (R vector), I only subdivided the above series in three groups to show the three changes in amplidute, but it is very obvious.
• Could it be helpful to rephrase this as a 'change in variance' rather than a 'change in amplitude'? Commented Jan 9, 2012 at 16:19
• Perhaps a short-term sum (plain or weighted) of the magnitudes such as $$X_n = \sum_{i=0}^k |x_{n-i}|~~\text{or}~~ X_n = \sum_{i=0}^k a_i|x_{n-i}|$$ where the $a_i$'s are a decreasing sequence used to discount past values, followed by binning the sums $X_n$ might work. You might also want to ask this question on dsp.SE where also some people have experience with time series Commented Jan 9, 2012 at 16:31
• @silvialiverani no, because maybe the variance could be the same, in the chart above yes, the variance changes...but the chart can have waves with different amplitudes.
– Dail
Commented Jan 9, 2012 at 16:39
• @DilipSarwate is there not a method (in R) to apply this kind of check?
– Dail
Commented Jan 9, 2012 at 16:39
• Any changepoint method (search the change-point tag) will do the trick when applied to the cumulative sums of absolute values of the data. The nice thing about such an approach is that it is not purely ad hoc: it will enjoy all the properties of the changepoint detector you choose.
– whuber
Commented Jan 9, 2012 at 18:06

## 2 Answers

Try package ‘changepoint’, described here:

http://www.lancs.ac.uk/~killick/Pub/KillickEckley2011.pdf

It is able to detected changepoints in both mean and variance.

• +1 You ought to consider expanding this answer in light of the comment thread below the original question, because the OP wonders about applying a changepoint method near the ends of the series.
– whuber
Commented Jan 17, 2012 at 23:11

Changes in variance occur quite often in time series.We employ a search process based upon R. Tsay's innovative work to find the point in time that the variance of the errors has changed. This leads directly to Generalized Least Squares or otherwise known as Weighted Least Squares. His work appeared in the Journal of Forecasting Vol 7 1-20 1988 and has been largely ignored by the major developers of commercial time series software but not by all .In our world we become aware of innovative research and then we implement the important improvements in analysis. This paper is very important. Note that one has to form an ARIMA model free of Anomalies (Pulses , Level Shifts, Seasonal Pulses and appropriately dertended/demeaned ) and then employ his approach otherwise false positives/false negatives would ensue. It would appear that you have at least two points in time where the variance (of the errors) has substantively changed.

• can you give me an example with R? Thank you so much
– Dail
Commented Jan 9, 2012 at 18:03
• I don't think free software exists to do this. If you read the reference perhaps you can write it in R and share it. Commented Jan 9, 2012 at 20:51