Learn R Programming

DySS (version 1.0)

evaluate_control_chart_one_group: Evaluate Control Charts (in a single dataset)

Description

The function evaluate_control_chart_one_group evaluates a control chart when the in-control (IC) and out-of-control (OC) charting statistics are supplied together in one matrix chart_matrix. The logical vector status indicates if the ith subject is IC or OC.

Usage

evaluate_control_chart_one_group(
  chart_matrix,
  time_matrix,
  nobs,
  starttime,
  endtime,
  status,
  design_interval,
  n_time_units,
  time_unit,
  no_signal_action = "omit"
)

Value

an list that stores the evaluation measures.

$thres

A numeric vector. Threshold values for control limits.

$FPR

A numeric vector. False positive rates.

$TPR

A numeric vector. True positive rates.

$ATS0

A numeric vector. In-control ATS.

$ATS1

A numeric vector. Out-of-control ATS.

Arguments

chart_matrix

charting statistics arranged as a numeric matrix.
chart_matrix[i,j] is the jth charting statistic of the ith subject.

time_matrix

observation times arranged as a numeric matrix.
time_matrix[i,j] is the jth observation time of the ith subject.
chart_matrix[i,j] is the charting statistic of the ith subject at time_matrix[i,j].

nobs

number of observations arranged as an integer vector.
nobs[i] is the number of observations for the ith subject.

starttime

a numeric vector. starttime[i] is the time when monitoring starts for ith subject.

endtime

a numeric vector, times when monitoring end. endtime[i] is the time when monitoring ends for ith subject.

status

a logical vector. status[i]=FALSE if the ith subject is IC, while status[i]=TRUE indicates the the ith subject is OC.

design_interval

a numeric vector of length two that gives the left- and right- limits of the design interval. By default, design_interval=range(time_matrix,na.rm=TRUE).

n_time_units

an integer value that gives the number of basic time units in the design time interval.
The design interval will be discretized to seq(design_interval[1],design_interval[2],length.out=n_time_units)

time_unit

an optional numeric value of basic time unit. Only used when n_time_units is missing.
The design interval will be discretized to seq(design_interval[1],design_interval[2],by=time_unit)

no_signal_action

a character value specifying how to set signal times when processes with no signals.
If no_signal_action=="omit", the signal time is set to be missing.
If no_signal_action=="maxtime", the signal time is set to be the time from start time to the end of the design interval.
If no_signal_action=="endtime", the signal time is set to be the time from start time to the end time.

Details

Evaluate Control Charts

References

Qiu, P. and Xiang, D. (2014). Univariate dynamic screening system: an approach for identifying individuals with irregular longitudinal behavior. Technometrics, 56:248-260.
Qiu, P., Xia, Z., and You, L. (2020). Process monitoring ROC curve for evaluating dynamic screening methods. Technometrics, 62(2).

Examples

Run this code
result_pattern<-estimate_pattern_long_surv(
  data_array=data_example_long_surv$data_array_IC,
  time_matrix=data_example_long_surv$time_matrix_IC,
  nobs=data_example_long_surv$nobs_IC,
  starttime=data_example_long_surv$starttime_IC,
  survtime=data_example_long_surv$survtime_IC,
  survevent=data_example_long_surv$survevent_IC,
  design_interval=data_example_long_surv$design_interval,
  n_time_units=data_example_long_surv$n_time_units,
  estimation_method="risk",
  smoothing_method="local linear",
  bw_beta=0.05,
  bw_mean=0.1,
  bw_var=0.1)

result_monitoring<-monitor_long_surv(
  data_array_new=data_example_long_surv$data_array_IC,
  time_matrix_new=data_example_long_surv$time_matrix_IC,
  nobs_new=data_example_long_surv$nobs_IC,
  pattern=result_pattern,
  method="risk",
  parameter=0.5)

output_evaluate<-evaluate_control_chart_one_group(
  chart_matrix=result_monitoring$chart[1:200,],
  time_matrix=data_example_long_surv$time_matrix_IC[1:200,],
  nobs=data_example_long_surv$nobs_IC[1:200],
  starttime=rep(0,200),
  endtime=rep(1,200),
  status=data_example_long_surv$survevent_IC[1:200],
  design_interval=data_example_long_surv$design_interval,
  n_time_units=data_example_long_surv$n_time_units,
  no_signal_action="maxtime")

Run the code above in your browser using DataLab