Modified Topp-Leone Distribution: Properties, Estimation, and Applications

Shikhar Tyagi, Abhishek Tyagi, Arvind Pandey, Bhupendra Singh, Vrijesh Tripathi

2026-08-05

Introduction

The ModToppLeone package provides comprehensive tools for working with the Modified Topp-Leone (MTL) distribution, introduced by Singh, Tyagi, Singh, and Tyagi (2025). The MTL distribution is a flexible single-parameter lifetime model obtained via the transformation \(Y = X / (1 - X)\) where \(X\) follows the classical Topp-Leone distribution.

The probability density function (PDF) and cumulative distribution function (CDF) of the MTL distribution with shape parameter \(\alpha > 0\) are given by:

\[f(y; \alpha) = 2 \alpha (1 + y)^{-(2\alpha + 1)} (2y + y^2)^{\alpha - 1}, \quad y > 0\]

\[F(y; \alpha) = \left( 1 - \frac{1}{(1 + y)^2} \right)^\alpha, \quad y > 0\]

Core Distribution Functions

The package provides standard distribution functions: dmtl, pmtl, qmtl, rmtl, smtl, and hmtl.

# Density and CDF
dmtl(x = 1.0, alpha = 1.5)
#> [1] 0.3247595
pmtl(q = 1.0, alpha = 1.5)
#> [1] 0.6495191

# Quantile function and Random Generation
qmtl(p = c(0.25, 0.50, 0.75), alpha = 1.5)
#> [1] 0.2876192 0.6439022 1.3937547

set.seed(123)
sample_data <- rmtl(n = 10, alpha = 1.5)
sample_data
#>  [1] 0.33118428 1.61135481 0.49233090 2.54454282 3.99419343 0.07060969
#>  [7] 0.69846089 2.69933597 0.74728669 0.56742655

# Survival and Hazard Rate Functions
smtl(x = 1.0, alpha = 1.5)
#> [1] 0.3504809
hmtl(x = 1.0, alpha = 1.5)
#> [1] 0.9266111

Statistical Properties

The package includes helper functions to derive theoretical statistical properties:

# Mode and Mean
mode_mtl(alpha = 2.5)
#> [1] 0.553774
mean_mtl(alpha = 1.5)
#> [1] 1.356194

# Quantiles summary (Median, Skewness, Kurtosis)
quantiles_mtl(alpha = 1.5)
#>        Q1    Median        Q3      Mode  Skewness  Kurtosis 
#> 0.2876192 0.6439022 1.3937547 0.4678898 0.3558059 1.6156166

# Mean Deviations about mean and median
meandev_mtl(alpha = 1.5)
#>   MD_mean MD_median 
#> 1.2537654 0.3417418

# Stress-Strength Reliability P(Y2 < Y1)
ssr_mtl(alpha1 = 2, alpha2 = 3)
#> [1] 0.4

Classical Estimation Methods

The parameter \(\alpha\) can be estimated using five classical point estimation procedures: Maximum Likelihood (MLE), Ordinary Least Squares (OLS), Weighted Least Squares (WLS), Cramér-von Mises (CVM), and Maximum Product of Spacings (MPS).

set.seed(42)
sim_data <- rmtl(n = 50, alpha = 2.0)

# Unified estimation wrapper
fit_results <- fit_mtl(x = sim_data, method = "all")
fit_results
#>   Method Estimate        SE    LogLik      AIC      BIC     CAIC   KS_stat
#> 1    MLE 2.400166 0.3394347 -94.32128 190.6426 192.5546 190.7259 0.1468569
#> 2    OLS 3.067035        NA -95.95476 193.9095 195.8215 193.9929 0.1166564
#> 3    WLS 3.032103        NA -95.79980 193.5996 195.5116 193.6829 0.1181673
#> 4    CVM 3.078623        NA -96.00760 194.0152 195.9272 194.0985 0.1161557
#> 5    MPS 2.270047        NA -94.39753 190.7951 192.7071 190.8784 0.1535976
#>     p.value
#> 1 0.2093677
#> 2 0.4692642
#> 3 0.4530415
#> 4 0.4747030
#> 5 0.1700895

Bayesian Estimation

Bayesian estimation is supported under both informative (Gamma) and non-informative priors with symmetric (SELF) and asymmetric (ELF, PLF, GELF) loss functions, alongside Chen-Shao Highest Posterior Density (HPD) intervals.

# Non-informative prior Bayesian estimation
bayes_res <- bayes_mtl(x = sim_data, prior = "noninformative", loss = "all")
bayes_res$estimates
#>     SELF      ELF      PLF     GELF 
#> 2.400848 2.351487 2.425335 2.351487
bayes_res$hpd
#>    Lower    Upper 
#> 1.742630 3.077446

Censoring Schemes

The package supports sample generation and parameter estimation under various censoring schemes, including Random Right Censoring, Type-I, Type-II, and Progressive Type-II Censoring.

# Progressive Type-II Censoring example
R_scheme <- c(2, 0, 1, 0, 2)
prog_sample <- rcensor_mtl(n = 10, alpha = 2.0, scheme = "progressive2", m = 5, R = R_scheme)

mle_censor_mtl(x = prog_sample$x, scheme = "progressive2", R = R_scheme)
#> $method
#> [1] "MLE under progressive2 censoring"
#> 
#> $estimate
#> [1] 3.172105
#> 
#> $se
#> [1] 1.0705
#> 
#> $conf.level
#> [1] 0.95
#> 
#> $ci
#>    Lower    Upper 
#> 1.073963 5.270248 
#> 
#> $loglik
#> [1] -6.318677
#> 
#> attr(,"class")
#> [1] "mtl_censor_fit"

Real Datasets

The package includes three benchmark real datasets analyzed in the research paper:

  1. dataset_air: Air conditioning failure times of Boeing 720 jet airplanes.
  2. dataset_covid_india: Daily new COVID-19 cases in India.
  3. dataset_covid_france: Daily new COVID-19 cases in France.
data(dataset_air)
mle_mtl(dataset_air)
#> Warning in ks.test.default(x, "pmtl", alpha = alpha_hat): ties should not be
#> present for the one-sample Kolmogorov-Smirnov test
#> $method
#> [1] "Maximum Likelihood Estimation (MLE)"
#> 
#> $estimate
#> [1] 0.878027
#> 
#> $se
#> [1] 0.1603051
#> 
#> $conf.level
#> [1] 0.95
#> 
#> $ci
#>     Lower     Upper 
#> 0.5638349 1.1922192 
#> 
#> $loglik
#> [1] -11.11799
#> 
#> $AIC
#> [1] 24.23599
#> 
#> $BIC
#> [1] 25.63718
#> 
#> $CAIC
#> [1] 24.37884
#> 
#> $KS_stat
#> [1] 0.1488445
#> 
#> $p.value
#> [1] 0.5195341
#> 
#> attr(,"class")
#> [1] "mtl_fit"

References