The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Importance Sampling Estimation of Generalized Process Capability Indices

Shikhar Tyagi

2026-07-30

Introduction

The gpciImpSam package provides a generalized framework for parameter estimation and Generalized Process Capability Indices (GPCIs) under uncensored data using Importance Sampling (ImpSam).

Supported capability indices include: - \(C_{py}\) (Yield ratio) - \(C_p, C_{pk}, C_{pu}, C_{pl}, C_{pm}, C_{pmk}\) - \(C_{pTk}\) (Saha et al., 2019) - \(S_{pmk}\) (Dey & Saha, 2019) - \(C_{pc}\) (Saha et al., 2022) - \(CN_{pk}\) (Saha et al., 2018) - \(CN_{pmc}\) (Alotaibi et al., 2022) - \(CN_{pmkc}\) (Saha et al., 2024) - \(C_p(u, v)\) (Vännman’s generalized family)

Example: Importance Sampling Analysis with User Functions

In this example, we provide sample uncensored data and custom user PDF and CDF functions.

set.seed(123)
# Simulate 50 observations from a Normal process
process_data <- rnorm(50, mean = 10, sd = 1.2)

# Fit GPCIs using Importance Sampling
fit <- gpci_impsam(
  data = process_data,
  pdf = function(x, mean = 0, sd = 1) dnorm(x, mean = mean, sd = sd),
  cdf = function(x, mean = 0, sd = 1) pnorm(x, mean = mean, sd = sd),
  chain_length = 500,
  burn_in = 100,
  thinning = 1,
  USL = 13.5,
  LSL = 6.5,
  target = 10
)

# Print diagnostic summary table
summary_df <- summary(fit)
knitr::kable(summary_df[, c("Index", "Point_Estimate", "Posterior_Mean", "Bias", "MSE", "Risk_Value", "HPD95_Lower", "HPD95_Upper", "Convergence_Prob")])
Index Point_Estimate Posterior_Mean Bias MSE Risk_Value HPD95_Lower HPD95_Upper Convergence_Prob
Cpy 1.001223e+00 9.987698e-01 -0.0024529 0.0000272 0.0000332 9.857979e-01 1.002543e+00 0.5
Cp 1.166667e+04 1.166667e+04 0.0000000 0.0000000 0.0000000 1.166667e+04 1.166667e+04 0.5
Cpk -2.166667e+04 -2.166667e+04 0.0000000 0.0000000 0.0000000 -2.166667e+04 -2.166667e+04 0.5
Cpu 4.500000e+04 4.500000e+04 0.0000000 0.0000000 0.0000000 4.500000e+04 4.500000e+04 0.5
Cpl -2.166667e+04 -2.166667e+04 0.0000000 0.0000000 0.0000000 -2.166667e+04 -2.166667e+04 0.5
Cpm 1.166667e-01 1.166667e-01 0.0000000 0.0000000 0.0000000 1.166667e-01 1.166667e-01 0.5
Cpmk -2.166667e-01 -2.166667e-01 0.0000000 0.0000000 0.0000000 -2.166667e-01 -2.166667e-01 0.5
CpTk 9.647429e-01 8.566756e-01 -0.1080673 0.0255884 0.0370594 6.014047e-01 9.990520e-01 0.5
Spmk -4.076000e-04 -1.080400e-03 -0.0006727 0.0000028 0.0000033 -5.064800e-03 -3.600000e-06 0.5
Cpc 1.001223e+00 9.987698e-01 -0.0024529 0.0000272 0.0000332 9.857979e-01 1.002543e+00 0.5
CNpk -2.148309e+00 -5.693958e+00 -3.5456499 78.0170962 85.5585156 -2.669384e+01 -1.909960e-02 0.5
CNpmc 1.001223e+00 9.987698e-01 -0.0024529 0.0000272 0.0000332 9.857979e-01 1.002543e+00 0.5
CNpmkc 4.856394e-01 4.513253e-01 -0.0343141 0.0024745 0.0036452 3.764244e-01 5.008784e-01 0.5
Cp_uv -2.166667e-01 -2.166667e-01 0.0000000 0.0000000 0.0000000 -2.166667e-01 -2.166667e-01 0.5

Visualizing Posterior Distributions

plot(fit, type = "density", index = "Cpy")

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.