surveillance (version 1.12.1)

algo.rogerson: Modified CUSUM method as proposed by Rogerson and Yamada (2004)

Description

Modified Poisson CUSUM method that allows for a time-varying in-control parameter $\theta_{0,t}$ as proposed by Rogerson and Yamada (2004). The same approach can be applied to binomial data if distribution="binomial" is specified.

Usage

algo.rogerson(disProgObj, control = list(range = range,
   theta0t = NULL, ARL0 = NULL, s = NULL, hValues = NULL,
   distribution = c("poisson","binomial"), nt = NULL, FIR=FALSE, 
   limit = NULL, digits = 1))

Arguments

disProgObj
object of class disProg that includes a matrix with the observed number of counts
control
list with elements [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Value

  • Returns an object of class survRes with elements
  • alarmindicates whether the CUSUM signaled at time $t$ or not (1 = alarm, 0 = no alarm)
  • upperboundCUSUM values $S_{t}$
  • disProgObjdisProg object
  • controllist with the alarm threshold $h$ and the specified control object

Details

The CUSUM for a sequence of Poisson or binomial variates $x_t$ is computed as $$S_t = \max {0, S_{t-1} + c_t (x_t- k_t)} , \, t=1,2,\ldots ,$$ where $S_0=0$ and $c_t=\frac{h}{h_t}$; $k_t$ and $h_t$ are time-varying reference values and decision intervals. An alarm is given at time $t$ if $S_t \geq h$.

If FIR=TRUE, the CUSUM starts with a head start value $S_0=\frac{\code{h}}{2}$ at time $t=0$. After an alarm is given, the FIR CUSUM starts again at this head start value. The procedure after the CUSUM gives an alarm can be determined by limit. Suppose that the CUSUM signals at time $t$, i.e. $S_t \geq h$.For numeric values of limit, the CUSUM is bounded above after an alarm is given,i.e. $S_{t}$ is set to $\min{\code{limit} \cdot h,S_{t}}$.Using limit=0 corresponds to resetting $S_t$ to zero after an alarm as proposed in the original formulation of the CUSUM. If FIR=TRUE, $S_{t}$ is reset to $\frac{\code{h}}{2}$ (i.e. limit=$\frac{\code{h}}{2}$ ). If limit=NULL, no resetting occurs after an alarm is given.

References

Rogerson, P. A. and Yamada, I. Approaches to Syndromic Surveillance When Data Consist of Small Regional Counts. Morbidity and Mortality Weekly Report, 2004, 53/Supplement, 79-85

See Also

hValues

Examples

Run this code
# simulate data
set.seed(123)
data <- simHHH(control = list(coefs = list(alpha =-0.5, gamma = 0.4,
               delta = 0.6)),length=300)

# extract mean used to generate the data
lambda <- data$endemic

# determine a matrix with h values
hVals <- hValues(theta0 = 10:150/100, ARL0=500, s = 1, distr = "poisson")

# apply modified Poisson CUSUM
res <- algo.rogerson(data$data,
            control=c(hVals, list(theta0t=lambda,range=1:300)))
plot(res)

Run the code above in your browser using DataLab