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\]
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.9266111The 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.4The 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.1700895Bayesian 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.
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"The package includes three benchmark real datasets analyzed in the research paper:
dataset_air: Air conditioning failure times of Boeing
720 jet airplanes.dataset_covid_india: Daily new COVID-19 cases in
India.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"