xcusum.ad: Compute steady-state ARLs of CUSUM control charts

View source: R/xcusum.ad.R

xcusum.adR Documentation

Compute steady-state ARLs of CUSUM control charts

Description

Computation of the steady-state Average Run Length (ARL) for different types of CUSUM control charts monitoring normal mean.

Usage

xcusum.ad(k, h, mu1, mu0 = 0, sided = "one", r = 30)

Arguments

k

reference value of the CUSUM control chart.

h

decision interval (alarm limit, threshold) of the CUSUM control chart.

mu1

out-of-control mean.

mu0

in-control mean.

sided

distinguish between one-, two-sided and Crosier's modified two-sided CUSUM scheme by choosing "one", "two", and "Crosier", respectively.

r

number of quadrature nodes, dimension of the resulting linear equation system is equal to r+1 (one-, two-sided) or 2r+1 (Crosier).

Details

xcusum.ad determines the steady-state Average Run Length (ARL) by numerically solving the related ARL integral equation by means of the Nystroem method based on Gauss-Legendre quadrature and using the power method for deriving the largest in magnitude eigenvalue and the related left eigenfunction.

Value

Returns a single value which resembles the steady-state ARL.

Note

Be cautious in increasing the dimension parameter r for two-sided CUSUM schemes. The resulting matrix dimension is r^2 times r^2. Thus, go beyond 30 only on fast machines. This is the only case, were the package routines are based on the Markov chain approach. Moreover, the two-sided CUSUM scheme needs a two-dimensional Markov chain.

Author(s)

Sven Knoth

References

R. B. Crosier (1986), A new two-sided cumulative quality control scheme, Technometrics 28, 187-194.

See Also

xcusum.arl for zero-state ARL computation and xewma.ad for the steady-state ARL of EWMA control charts.

Examples

## comparison of zero-state (= worst case ) and steady-state performance
## for one-sided CUSUM control charts

k <- .5
h <- xcusum.crit(k,500)
mu <- c(0,.5,1,1.5,2)
arl <- sapply(mu,k=k,h=h,xcusum.arl)
ad <- sapply(mu,k=k,h=h,xcusum.ad)
round(cbind(mu,arl,ad),digits=2)

## Crosier (1986), Crosier's modified two-sided CUSUM
## He introduced the modification and evaluated it by means of
## Markov chain approximation

k <- .5
h2 <- 4
hC <- 3.73
mu <- c(0,.25,.5,.75,1,1.5,2,2.5,3,4,5)
ad2 <- sapply(mu,k=k,h=h2,sided="two",r=20,xcusum.ad)
adC <- sapply(mu,k=k,h=hC,sided="Crosier",xcusum.ad)
round(cbind(mu,ad2,adC),digits=2)

## results in the original paper are (in Table 5)
## 0.00 163.   164.
## 0.25  71.6   69.0
## 0.50  25.2   24.3
## 0.75  12.3   12.1
## 1.00   7.68   7.69
## 1.50   4.31   4.39
## 2.00   3.03   3.12
## 2.50   2.38   2.46
## 3.00   2.00   2.07
## 4.00   1.55   1.60
## 5.00   1.22   1.29

spc documentation built on Oct. 24, 2022, 5:07 p.m.

Related to xcusum.ad in spc...