onlinem {dvqcc}R Documentation

Online monitoring

Description

Online T2.var and W.var control charts for monitoring batch processes based on VAR model. This approach is fully described in "Marcondes Filho, D., & Valk, M. (2020). Dynamic VAR Model-Based Control Charts for Batch Process Monitoring. European Journal of Operational Research."

Usage

onlinem(
  data,
  size,
  newdata,
  Lc = 50,
  Lr = 30,
  confidence.level = 0.99,
  type = "T2.var",
  covvar = "empirical",
  plot = TRUE,
  var.estimates = FALSE
)

Arguments

data

dataframe of reference dataset. For each batch, variables are arranged in lines and columns are time-instants. The different batches are combined in a single dataset through rbind

size

number of variables

newdata

dataframe of one or more new batches for monitoring (each with same number of variables and time instants of data). Different batches are combined in a single dataset through rbind

Lc

length of the coupled vector

Lr

length of random vector (Lr<Lc)

confidence.level

H0 probability to be consider to define the quantile (default is 0.99)

type

"T2.var" for Hotelling chart (default) and "W.var" for Generalized Variance chart

covvar

"empirical" for sample covariance of coefficients (default) and "theoretical" for estimated theoretical covariance

plot

TRUE shows the charts plots (default TRUE)

var.estimates

TRUE show informations about the VAR modeling phase and the elements for setting T2.var / W.var control charts (default FALSE)

Details

The maximum number of variables is five.

All batches must have the same number of time-instants.

This method is based on the use of "coupled vectors (cv)" (for more details, see Marcondes Filho, D., & Valk, M., 2020").

The parameters Lc and Lr define the cv structure.

Considering the new ongoing batch under monitoring:

Lc is the number of elements of cv. (Lc is smaller than the number of time-instants); Lr is the number of elements in cv randomly chosen from the in control batches in the reference dataset; Lc-Lr is the number of elements in cv from the last (Lc-Lr) observations of the new ongoing batch.

Default is Lc= 50 e Lr=30.

The batches in dataset "data" are considered to be in control

Value

beyond.limits: returns the time-instants of each batch that the T2.var (or W.var) score are above the control limit

arl: returns for each new batch the mean number of time-instants before a signal is given by the control chart (arl=n/g, where n is the overall number of time-instants and g is the number of time-instants above the control limit)

time.to.first.detection (TFD): returns for each new batch the first time-instant (the most recently instant) that can be considered as a possible signal of process change. TFD is the first point (t*) above the limit followed by two consecutive points above the control limit

artl: returns the cumulative rate of the overall time-instants (n) until the first three consecutive points are above the control limit. The artl is computed using the first of these three points, that is, artl=t*/n

varest: If var.estimates=TRUE, it returns the Lim_T2 vector (or Lim_W vector) of the T2.var (or W.var) control limits to each time-instant; the T2.var (or W.var) scores for each new batch to each time-instant [(tnew) matrix for the T2.var and (wnew) matrix for the W.var scores]; the number (I) of reference batches; the number (C=size*size) of estimated phis coefficients; the number (Inew) of new batches; the number (n) of time-instants and the (cov) list including the estimated mean covariance from the reference batches to each time-instant

#' @examples

# Example 1: Monitoring considering two variables and Inew=5 in control batches

mydata=simon()

T2.var.on=onlinem(data=mydata$data,size=2,newdata=mydata$newdata) W.var.on=onlinem(data=mydata$data,size=2,type="W.var",newdata=mydata$newdata)

# Example 2: Monitoring considering two variables and Inew=10 in control batches

B1=matrix(c(-0.3, 0.4, 0.4, 0.5), 2, byrow=TRUE) B1new=B1 mydata2=simon(n=100,I=200,size=2,Inew=10,n1=50,B1=B1,varcov=diag(2),B1new=B1new) T2.var.on=onlinem(data=mydata2$data,size=2,newdata=mydata2$newdata, plot=F) W.var.on=onlinem(data=mydata2$data,size=2,type="W.var",newdata=mydata2$newdata, plot=F)

# Example 3: Monitoring considering three variables and Inew=10 out of control batches

B1=matrix(c(-0.3,0,0.4,0,0.2,0,0,-0.1,0.5),3,byrow=TRUE) B1new=matrix(c(0.7,0,0.4,0,0.5,0,0,-0.1,0.5),3,byrow=TRUE) mydata3=simon(n=100,I=200,size=3,Inew=10,n1=50,B1=B1,varcov=diag(3),B1new=B1new) T2.var.on=onlinem(data=mydata3$data,size=3,newdata=mydata3$newdata, plot=F) W.var.on=onlinem(data=mydata3$data,size=3,type="W.var",newdata=mydata3$newdata, plot=F)

See Also

simon


[Package dvqcc version 0.1.0 Index]