Learn R Programming

spc (version 0.7.1)

pois.ewma.ad: Compute steady-state ARLs of Poisson EWMA control charts

Description

Computation of the steady-state Average Run Length (ARL) at given mean mu.

Usage

pois.ewma.ad(lambda, AL, AU, mu0, mu, sided="two", rando=FALSE, gL=0, gU=0,
mcdesign="classic", N=101)

Value

Return single value which resembles the steady-state ARL.

Arguments

lambda

smoothing parameter of the EWMA p control chart.

AL, AU

factors to build the lower and upper control limit, respectively, of the Poisson EWMA control chart.

mu0

in-control mean.

mu

actual mean.

sided

distinguishes between one- and two-sided EWMA control chart by choosing "upper", "lower", and "two", and "zwei", respectively.

rando

Switch between the standard limit treatment, FALSE, and an additional randomisation (to allow `perfect' ARL calibration) by setting TRUE. If randomisation is used, then set the corresponding probailities, gL and gU, appropriately.

gL, gU

If the EWMA statistic is at the limit (approximately), then an alarm is triggered with probability gL and gU for the lower and upper limit, respectively.

mcdesign

choose either "classic" which follows Borror, Champ and Rigdon (1998), or the more sophisticated "transfer" which improves the accuracy heavily.

N

number of states of the approximating Markov chain; is equal to the dimension of the resulting linear equation system.

Author

Sven Knoth

Details

The monitored data follow a Poisson distribution with mu. The ARL values of the resulting EWMA control chart are determined by Markov chain approximation. We follow the algorithm given in Borror, Champ and Rigdon (1998). The function is in an early development phase.

References

C. M. Borror, C. W. Champ and S. E. Rigdon (1998) Poisson EWMA control charts, Journal of Quality Technonlogy 30(4), 352-361.

M. C. Morais and S. Knoth (2020) Improving the ARL profile and the accuracy of its calculation for Poisson EWMA charts, Quality and Reliability Engineering International 36(3), 876-889.

See Also

later.

Examples

Run this code
## Borror, Champ and Rigdon (1998), Table 2, PEWMA column
mu0 <- 20
lambda <- 0.27
A <- 3.319
mu1  <- c(2*(3:15), 35)
ARL1 <- AD1 <- rep(NA, length(mu1))
for ( i in 1:length(mu1) ) {
  ARL1[i] <- round(pois.ewma.arl(lambda,A,A,mu0,mu0,mu1[i],mcdesign="classic"),digits=1)
  AD1[i]  <- round(pois.ewma.ad(lambda,A,A,mu0,mu1[i],mcdesign="classic"),digits=1)
}
print( cbind(mu1, ARL1, AD1) )

## Morais and Knoth (2020), Table 2, lambda = 0.27 column
## randomisation not implemented for pois.ewma.ad()
lambda <- 0.27
AL <- 3.0870
AU <- 3.4870
gL <- 0.001029
gU <- 0.000765
mu2  <- c(16, 18, 19.99, mu0, 20.01, 22, 24)
ARL2 <- AD2 <- rep(NA, length(mu2))
for ( i in 1:length(mu2) ) {
  ARL2[i] <- round(pois.ewma.arl(lambda,AL,AU,mu0,mu0,mu2[i],rando=FALSE), digits=1)
  AD2[i] <- round(pois.ewma.ad(lambda,AL,AU,mu0,mu2[i],rando=FALSE), digits=1)
}
print( cbind(mu2, ARL2, AD2) )

Run the code above in your browser using DataLab