A simple method using cumulated sums that allows to detect changes in the tendency in a time series
1 2 3 4 
x 
a regular time series (a 'ts' object) for 
k 
the reference value to substract from cumulated sums. By default, it is the mean of all observations in the series 
plotit 
if 
type 
the type of plot (as usual notation for this argument) 
cols 
colors to use for original data and for the trend line 
ltys 
line types to use for original data and the trend line 
xlab 
label of the xaxis 
ylab 
label of the yaxis 
... 
additional arguments for the graph 
With local.trend()
, you can:
 detect changes in the mean value of a time series
 determine the date of occurence of such changes
 estimate the mean values on homogeneous intervals
a 'local.trend' object is returned. It has the method identify()
Once transitions are identified with this method, you can use
stat.slide()
to get more detailed information on each phase. A
smoothing of the series using running medians (see decmedian()
) allows
also to detect various levels in a time series, but according to the median
statistic. Under R, see also the 'strucchange' package for a more complete,
but more complex, implementation of cumsum applied to time series.
Frédéric Ibanez (ibanez@obsvlfr.fr), Philippe Grosjean (phgrosjean@sciviews.org)
Ibanez, F., J.M. Fromentin & J. Castel, 1993. Application de la méthode des sommes cumulées à l'analyse des séries chronologiques océanographiques. C. R. Acad. Sci. Paris, Life Sciences, 316:745748.
trend.test
, stat.slide
,
decmedian
1 2 3 4 5 6  data(bnr)
# Calculate and plot cumsum for the 8th series
bnr8.lt < local.trend(bnr[,8])
# To identify local trends, use:
# identify(bnr8.lt)
# and click points between which you want to compute local linear trends...

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.