View source: R/detectEWMAMeanCDR.R
detectEWMAMean | R Documentation |
Given a vector x
, use the 'EWMA' method to sequentially detect changes
(or a single change) in the MEAN of the vector.
detectEWMAMean(
x,
r = 0.25,
L = 3,
BL = 50,
multiple = TRUE,
single = !multiple,
usePrechange = FALSE,
prechangeMean = NULL,
prechangeSigma = NULL,
prechangeVar = NULL,
skipCheck = FALSE
)
x |
The vector (stream) in which to detect change(s). |
r |
Control parameter for EWMA. Must be in range |
L |
Control parameter for EWMA. Default is |
BL |
The burn-in length. Default is |
multiple |
Boolean to use to decide whether to detect multiple changes
or only a single change. Default is |
single |
Boolean to use to decide whether to detect only a single
change or multiple changes. Set to |
usePrechange |
Boolean indicating whether prechange parameters
(mean and variance) are known and will be used
(or not). Default is
|
prechangeMean |
Value to be used for the prechange mean.
Default is |
prechangeSigma |
Value to be used for the prechange standard
deviation. Default is |
prechangeVar |
Value to be used for the prechange variance.
Default is |
skipCheck |
A boolean which allows the function to skip the check
of the stream. Default is |
'EWMA' updates via:
Z_{j} = (1-r) Z_{j-1} + r x_{j}
where \mu
is the mean of the in-control stream,
x_j
is the observation at time j
and r
is a control parameter for EWMA. Then, a change is signalled
if
|Z_j - \mu| > L \sigma_{Z_j}
,
where L
is the other control parameter, and
\sigma_{Z_j}
is a scaled version of the in-control
variance \sigma
.
This is the formulation for using 'EWMA' to detect an increase or
decrease in the mean.
A list with the following elements:
tauhat
A vector of the changepoints found.
Dean Bodenham
S. W. Roberts (1959) Control chart tests based on geometric moving averages. Technometrics, 1(3), 239-250
# create a stream with three changepoints
set.seed(8)
x <- rnorm(400, 5, 1) + rep(c(0:3), each=100) # mean is 5 and s.d. is 1
# multiple changepoints
list_ewma <- detectEWMAMean(x, r=0.25, L=3.023, BL=50, multiple=TRUE)
# now only a single (the first) changepoint
list_ewma2 <- detectEWMAMean(x, r=0.25, L=3.023, BL=50, single=TRUE)
# now only a single (the first) changepoint, but with the prechange
# mean and variance known
list_ewma3 <- detectEWMAMean(x, r=0.25, L=3.023, BL=50, single=TRUE,
prechangeMean=5, prechangeSigma=1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.