Learn R Programming


editor_options: markdown: wrap: sentence

LGCU: Learning Gamma CUSUM

Overview

LGCU (Learning Gamma CUSUM) is an R package for designing and analyzing CUSUM control charts applied to Gamma distributions with guaranteed performance. The package provides methods for:

  • Estimating Average Run Length (ARL) for both upward and downward CUSUM charts.
  • Visualizing CUSUM control charts for process monitoring.
  • Calibrating control limits using Monte Carlo simulations.
  • Applying cautious learning mechanisms to dynamically update parameters.

The methodologies implemented follow the work of Madrid-Alvarez, García-Díaz, and Tercero-Gómez (2024), ensuring rigorous statistical foundations and practical applications in industrial quality control.


Installation

To install the package from GitHub:

# Install devtools if not already installed
install.packages("devtools")

# Install LGCU from GitHub
devtools::install_github("your_github_username/LGCU")

To load the package:

library(LGCU)

Functions & Usage

1. ARL Estimation for CUSUM Control Charts

Downward CUSUM ARL Calculation (Guaranteed Performance)

GICARL_CUSUM_down(alpha, beta, alpha_est, beta_est, beta_ratio, H_minus, H_delta, m)

# Example:
GICARL_CUSUM_down(alpha = 1, beta = 1, alpha_est = 1, beta_est = 1,
                   beta_ratio = 1/2.5, H_minus = -2.792, H_delta = 0, m = 100)

Upward CUSUM ARL Calculation (Guaranteed Performance)

GICARL_CUSUM_up(alpha, beta, alpha_est, beta_est, beta_ratio, H_plus, H_delta, m)

# Example:
GICARL_CUSUM_up(alpha = 1, beta = 1, alpha_est = 1.2, beta_est = 0.8,
                 beta_ratio = 2, H_plus = 6.5081, H_delta = 2.9693, m = 100)

Downward CUSUM ARL Calculation (With Learning)

ARL_Clminus(alpha, beta, alpha0_est, beta0_est, known_alpha, beta_ratio, H_delta, H_minus, n_I, replicates, K_l, delay, tau)

# Example:
ARL_Clminus(
   alpha = 1,
   beta = 1,
   alpha0_est = 1.067,  # alpha = known_alpha
   beta0_est = 0.2760,   # Estimated Beta
   known_alpha = TRUE,
   beta_ratio = 1/2,
   H_delta = 0.6946,
   H_minus = -4.8272,
   n_I = 500,
   replicates = 1000,
   K_l = 0.5,
   delay = 25,
   tau = 1
)

Upward CUSUM ARL Calculation (With Learning)

ARL_Clplus(alpha, beta, alpha0_est, beta0_est, known_alpha, beta_ratio, H_delta, H_plus, n_I, replicates, K_l, delay, tau)

# Example:
ARL_Clplus(
  alpha = 1,
  beta = 1,
  alpha0_est = 1,  # alpha = known_alpha
  beta0_est = 1.1,   # Estimated Beta
  known_alpha = TRUE,
  beta_ratio = 2,
  H_delta = 4.2433,
  H_plus = 8.7434,
  n_I = 200,
  replicates = 100,
  K_l = 2,
  delay = 25,
  tau = 1
)

2. CUSUM Control Chart Visualization

Downward CUSUM Chart

plot_GICCdown_chart(alpha, beta, beta_ratio, H_delta, H_minus, n_I, n_II, faseI, faseII, known_alpha)

# Example:
plot_GICCdown_chart(alpha = 3, beta = 1, beta_ratio = 1/2, H_delta = 0.9596, H_minus = -4.6901,
                    n_I = 100, n_II = 200, faseI = NULL, faseII = NULL, known_alpha = FALSE)

Upward CUSUM Chart

plot_GICCup_chart(alpha, beta, beta_ratio, H_delta, H_plus, n_I, n_II, faseI, faseII, known_alpha)

# Example:
plot_GICCup_chart(alpha = 1, beta = 1, beta_ratio = 2, H_delta = 0, H_plus = 5.16,
                  n_I = 100, n_II = 200, faseI = NULL, faseII = NULL, known_alpha = TRUE)

Bidirectional CUSUM Chart

plot_GICC_chart2(alpha, beta, beta_ratio_plus, beta_ratio_minus, H_delta_plus, H_plus, H_delta_minus, H_minus, n_I, n_II, faseI, faseII, known_alpha)

# Example:
plot_GICC_chart2(alpha = 1, beta = 1, beta_ratio_plus = 2, beta_ratio_minus = 0.5,
                 H_delta_plus = 2.0, H_plus = 5.0, H_delta_minus = 1.5, H_minus = -4.5,
                 n_I = 100, n_II = 200, faseI = NULL, faseII = NULL, known_alpha = TRUE)

3. CUSUM Chart with Learning Mechanism

Downward CUSUM with Learning

plot_GICCLdown_Chart(alpha, beta, beta_ratio, H_delta, H_minus, known_alpha, k_l, delay, tau, n_I, n_II, faseI, faseII)

# Example:
plot_GICCLdown_Chart(alpha = 1, beta = 1, beta_ratio = 1/2, H_delta = 4.2433, H_minus= -4.8257,
                     known_alpha = FALSE, k_l = 0.739588, delay = 25, tau = 1,
                     n_I = 200, n_II = 700, faseI = NULL, faseII = NULL)

Upward CUSUM with Learning

plot_GICCLup_Chart(alpha, beta, beta_ratio, H_delta, H_plus, known_alpha, k_l, delay, tau, n_I, n_II, faseI, faseII)

# Example:
plot_GICCLup_Chart(alpha = 1, beta = 1, beta_ratio = 2, H_delta = 2.9819, H_plus = 6.5081,
                    known_alpha = TRUE, k_l = 2, delay = 25, tau = 1,
                    n_I = 200, n_II = 710, faseI = NULL, faseII = NULL)

Bidirectional CUSUM with Learning

plot_GICCL_chart2(alpha, beta, beta_ratio_plus, beta_ratio_minus, H_delta_plus, H_plus, H_delta_minus, H_minus, known_alpha, k_l, delay, tau, n_I, n_II, faseI, faseII)

# Example:
plot_GICCL_chart2(alpha = 1, beta = 1, beta_ratio_plus = 2, beta_ratio_minus = 0.5,
                  H_delta_plus = 3.0, H_plus = 6.5, H_delta_minus = 2.0, H_minus = -5.0,
                  known_alpha = TRUE, k_l = 2, delay = 25, tau = 1,
                  n_I = 200, n_II = 700, faseI = NULL, faseII = NULL)

4. Calibration of H_delta for Guaranteed Performance

Downward Calibration

getDeltaH_down(n_I, alpha, beta, beta_ratio, H_minus, a, b, ARL_esp, m, N_init, N_final, known_alpha)

# Example:
getDeltaH_down(n_I = 100, alpha = 1, beta = 1, beta_ratio = 1/2, H_minus = -4.1497,
               a = 0.1, b = 0.05, ARL_esp = 370, m = 100, N_init = 10, N_final = 1000, known_alpha = TRUE)

Upward Calibration

getDeltaH_up(n_I, alpha, beta, beta_ratio, H_plus, a, b, ARL_esp, m, N_init, N_final, known_alpha)

# Example:
getDeltaH_up(n_I = 100, alpha = 1, beta = 1, beta_ratio = 2, H_plus = 6.8313,
              a = 0.1, b = 0.05, ARL_esp = 370, m = 100, N_init = 10, N_final = 1000, known_alpha = TRUE)

5. Calibration of H_delta with Learning

Downward Calibration with Learning

getDeltaHL_down(n_I, alpha, beta, beta_ratio, H_minus, a, b, ARL_esp, replicates, N_init, N_final, known_alpha, K_l, delay, tau)

# Example:
getDeltaHL_down(n_I = 200, alpha = 1, beta = 1, beta_ratio = 1/1.5,
                H_minus = -6.2913, a = 0.1, b = 0.05, ARL_esp = 370,
                replicates = 10, N_init = 100, N_final = 1000, known_alpha = TRUE,
                K_l = 0.7, delay = 25, tau = 1)

Upward Calibration with Learning

getDeltaHL_up(n_I, alpha, beta, beta_ratio, H_plus, a, b, ARL_esp, replicates, N_init, N_final, known_alpha, K_l, delay, tau)

# Example:
getDeltaHL_up(n_I = 200, alpha = 1, beta = 1, beta_ratio = 2,
              H_plus = 6.8313, a = 0.1, b = 0.05, ARL_esp = 370,
              replicates = 100, N_init = 100, N_final = 500, known_alpha = TRUE,
              K_l = 2, delay = 25, tau = 1)

References

Copy Link

Version

Install

install.packages('LGCU')

Monthly Downloads

161

Version

0.1.5

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Harold Manuel Madrid-Alvarez

Last Published

March 17th, 2025

Functions in LGCU (0.1.5)

plot_GICCdown_chart

Downward CUSUM Control Chart for Gamma Distribution with Guaranteed Performance
plot_GICCup_chart

Upward CUSUM Control Chart for Gamma Distribution with Guaranteed Performance
plot_GICC_chart2

CUSUM Control Chart for Gamma Distribution with Guaranteed Performance
plot_GICCLup_Chart

Upward CUSUM Control Chart with Cautious Learning and Guaranteed Performance
plot_GICCL_chart2

CUSUM Control Chart with Cautious Learning and Guaranteed Performance
GICARL_CUSUM_up

ARL Calculation for an Upward CUSUM Control Chart with a Gamma Distribution
getDeltaH_down

Estimation of the Optimal H_delta Value to Guarantee Performance in the Downward CUSUM Control Chart
getDeltaH_up

Estimation of the optimal H_delta value to guarantee performance in the upward CUSUM control chart
ARL_Clplus

ARL Estimation in CUSUM Control Charts with Gamma Distribution and Cautious Learning for upward detection
plot_GICCLdown_Chart

Downward CUSUM Control Chart with Cautious Learning and Guaranteed Performance
GICARL_CUSUM_down

ARL Calculation for a Downward CUSUM Control Chart with a Gamma Distribution
getDeltaHL_down

Estimation of the H_delta parameter with learning for downward detection in CUSUM Gamma charts
ARL_Clminus

ARL Estimation in CUSUM Control Charts with Gamma Distribution and Cautious Learning for downward detection
getDeltaHL_up

Estimation of the H_delta parameter with learning for upward detection in Gamma CUSUM control charts