Goodness-of-Fit Testing for Location-Scale Distributions via Lorenz Curve

Shikhar Tyagi, Arvind Pandey, Bhupendra Singh, Vrijesh Tripathi

Introduction

The gofLorenz package implements goodness-of-fit (GoF) test statistics and graphical methods for location-scale distributions under progressive Type-II censoring, based on the research by Lee (2024). The testing approach uses the modified Lorenz curve (\(mLC\)) and ratio modified sample Lorenz curve (\(rLC\)) to assess how effectively observed failure times align with a target theoretical location-scale distribution.

In addition to Lee (2024)’s test statistics (\(L^+, L^-, L^{(1)}, L^{(2)}, L^{(3)}, L^{(4)}\)), the package computes order statistics distance test statistics (\(C^+, C^-, C_m, K_m, T^{(1)}, T^{(2)}\)) proposed by Pakyari and Balakrishnan (2013) for comparison.

Progressive Type-II Censoring Scheme

In progressive Type-II censoring, \(n\) units are placed on test. Upon observing the 1st failure (\(X_{1:m:n}\)), \(R_1\) surviving units are randomly removed. Upon observing the 2nd failure (\(X_{2:m:n}\)), \(R_2\) surviving units are randomly removed. Finally, upon observing the \(m\)-th failure (\(X_{m:m:n}\)), all remaining \(R_m = n - m - \sum_{i=1}^{m-1} R_i\) units are removed.

Example 1: Breaking Strength Data (Normal Distribution)

Consider the breaking strength data (\(n = 20\), \(m = 8\)) with progressive censoring scheme \(R = (0, 4, 1, 3, 0, 2, 0, 2)\):

library(gofLorenz)

data(breaking_strength)
x1 <- breaking_strength$x
n1 <- breaking_strength$n
m1 <- breaking_strength$m
R1 <- breaking_strength$R

# Perform Goodness-of-Fit Test for Normal Distribution
fit1 <- gof_lorenz(x = x1, n = n1, m = m1, R = R1, dist = "norm", mc_rep = 200)
print(fit1)
#> 
#> =========================================================
#>  Goodness-of-Fit Test Based on Lorenz Curve (Lee, 2024)
#> =========================================================
#> Hypothesized Distribution : norm
#> Sample Size (n)           : 20
#> Observed Failures (m)     : 8
#> Censoring Scheme (R)      : (0, 4, 1, 3, 0, 2, 0, 2)
#> Monte Carlo Replicates    : 200
#> Confidence Level          : 95.00%
#> ---------------------------------------------------------
#> 
#> 1. Lorenz Curve Test Statistics (Lee, 2024):
#>  Statistic   Value p.value Crit.Value
#>         L+ 0.00866   0.655    0.12590
#>         L- 0.01021   0.600    0.10322
#>       L(1) 0.01021   1.000    0.12685
#>       L(2) 0.01887   1.000    0.13040
#>       L(3) 0.00004   1.000    0.00584
#>       L(4) 0.00487   1.000    0.06214
#> 
#> 2. Order Statistics Distance Statistics (Pakyari & Balakrishnan, 2013):
#>  Statistic   Value p.value Crit.Value
#>         C+ 0.07908   0.865    0.18491
#>         C- 0.03699   0.975    0.13975
#>         Cm 0.07908   0.905    0.18605
#>         Km 0.11607   0.955    0.30502
#>       T(1) 0.00148   0.955    0.00932
#>       T(2) 0.03278   0.930    0.07681
#> =========================================================

Visual Diagnostic: L-plot

The lorenz_plot() function graphs \(L\text{-plot}(p_{j:m:n}) = |1 - rLC(p_{j:m:n})|\) versus \(p_{j:m:n}\). Convergence near 0 supports the hypothesized distribution.

plot(fit1)

Example 2: Insulating Fluid Data (Gumbel Distribution)

Consider log-transformed insulating fluid test data (\(n = 19\), \(m = 8\)) with scheme \(R = (0, 0, 3, 0, 3, 0, 0, 5)\):

data(insulating_fluid)
x2 <- insulating_fluid$x
n2 <- insulating_fluid$n
m2 <- insulating_fluid$m
R2 <- insulating_fluid$R

# Perform Goodness-of-Fit Test for Gumbel Distribution
fit2 <- gof_lorenz(x = x2, n = n2, m = m2, R = R2, dist = "gumbel", mc_rep = 200)
summary(fit2)
#> 
#> =========================================================
#>  Goodness-of-Fit Test Based on Lorenz Curve (Lee, 2024)
#> =========================================================
#> Hypothesized Distribution : gumbel
#> Sample Size (n)           : 19
#> Observed Failures (m)     : 8
#> Censoring Scheme (R)      : (0, 0, 3, 0, 3, 0, 0, 5)
#> Monte Carlo Replicates    : 200
#> Confidence Level          : 95.00%
#> ---------------------------------------------------------
#> 
#> 1. Lorenz Curve Test Statistics (Lee, 2024):
#>  Statistic   Value p.value Crit.Value
#>         L+ 0.01812   0.515    0.14738
#>         L- 0.01666   0.525    0.08108
#>       L(1) 0.01812   0.975    0.14738
#>       L(2) 0.03479   0.840    0.14738
#>       L(3) 0.00018   0.895    0.00663
#>       L(4) 0.01141   0.835    0.06294
#> 
#> 2. Order Statistics Distance Statistics (Pakyari & Balakrishnan, 2013):
#>  Statistic   Value p.value Crit.Value
#>         C+ 0.07234   0.505    0.13553
#>         C- 0.06692   0.560    0.12636
#>         Cm 0.07234   0.705    0.14830
#>         Km 0.13925   0.595    0.22586
#>       T(1) 0.00208   0.600    0.00556
#>       T(2) 0.03936   0.565    0.06201
#> =========================================================

References

mirror server hosted at Truenetwork, Russian Federation.