Skip to contents

Density function, cumulative distribution function, quantile function, random generation and hazard function for the Modified Cosine-Weibull distribution with parameters mu, sigma and nu.

Usage

dMCWEI(x, mu = 2.2, sigma = 1.2, nu = 0.5, log = TRUE)

pMCWEI(q, mu = 2.2, sigma = 1.2, nu = 0.5, lower.tail = TRUE, log.p = FALSE)

qMCWEI(p, mu = 2.2, sigma = 1.2, nu = 0.5, lower.tail = TRUE, log.p = FALSE)

rMCWEI(n, mu = 2.2, sigma = 1.2, nu = 0.5)

hMCWEI(x, mu = 2.2, sigma = 1.2, nu = 0.5)

Arguments

x, q

vector of quantiles.

mu

parameter representing the shape parameter \(\phi\) (mu > 0).

sigma

parameter representing the scale parameter \(\tau\) (sigma > 0).

nu

parameter representing the additional modified cosine parameter \(\sigma\) (nu != 0).

log, log.p

logical; if TRUE, probabilities p are given as log(p).

lower.tail

logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x].

p

vector of probabilities.

n

number of observations.

Value

dMCWEI gives the density, pMCWEI gives the cumulative distribution function, qMCWEI gives the quantile function, rMCWEI generates random deviates and hMCWEI gives the hazard function.

Details

The Modified Cosine-Weibull with parameters mu, sigma and nu has density given by

\( f(x | \mu, \sigma ,\nu) = \frac{\pi \mu \sigma \nu x^{\mu -1} e^{-\sigma x^{\mu}} \cos(\frac{\pi}{2} e^{-\sigma x^{\mu}})\sin(\frac{\pi}{2} e^{-\sigma x^{\mu}})}{e^{\nu} -1} \cdot e^{\nu \left( 1- \cos^2(\frac{\pi}{2} e^{-\sigma x^{\mu}}) \right) } \)

for \(x\ge 0\), \(\mu>0\), \(\sigma>0\) and \(\nu \neq 0\).

References

Su, R., Aloraini, N. M., Alkhathami, A. A., Alshanbari, H. M., & Khalifa, H. A. E. W. (2025). A new statistical distribution: Its empirical exploration using the reliability and lifespan data in fashion industry. Alexandria Engineering Journal, 116, 660-671.

See also

Author

Juan Andres Henao Arias, juhenaoar@unal.edu.co

Examples


# Example 1: Plotting the density function (dMCWEI) for different values.
mu_ <- c(2.8, 4.4)
sigma_ <- c( 0.1, 0.01)
nu_ <- c( 0.1, 0.01)
X_ <- seq(0.0001, 5, length=350)

curve(dMCWEI(x, log = FALSE), type = "l", col= "royalblue", lwd=2.5,
     from = 0.001, to = 5, ylim=c(0,3), xlim = c(0,4), 
     xlab = "x", ylab = "f(x)")
title("Density Function")

colors <- c("red", "green")

for(k in seq(1, 2)) {
  curve(
    dMCWEI(x, mu=mu_[k], sigma=sigma_[k], nu = nu_[k], log = FALSE ),
    type = "l", col = colors[k], lwd=2, lty = 3, 
    from = 0.001, to=5, add = TRUE)
}

legend("topright",
       legend = c(
         expression(mu==2.2 ~ sigma==1.2 ~ nu==0.50),
         expression(mu==2.8 ~ sigma==0.1 ~ nu==0.10),
         expression(mu==4.4 ~ sigma==0.01 ~ nu==0.01)
       ),
       lwd=2,
       col=c("royalblue",colors),
       lty = c(1,3,3),
       bty="n")


# Example 2: Plotting the Cumulative Distribution function 
# (pMCWEI) for differente values.

parameters <- data.frame(
  mu=c(0.5, 1.5, 2.5),
  sigma=c(1,0.5,1.2),
  nu=c(0.8,1,1.5))

colors <- c("royalblue", "red", "green")
curve(pMCWEI(x, mu=parameters$mu[1], 
             sigma = parameters$sigma[1], 
             nu = parameters$nu[1]),
      lwd=2.5, col=colors[1], 
      from = 0.001, to=5, 
      xlab = "x", ylab = "F(x)")
title("Cumulative Probability")

for(k in seq(2, 3)) {
curve(pMCWEI(x, 
             mu=parameters$mu[k], 
             sigma = parameters$sigma[k], 
             nu = parameters$nu[k]),
      lwd=2, col=colors[k], add = TRUE, lty=3)
  
}

legend(
  "bottomright",
  legend = c(
    expression(mu==0.5 ~" "  ~sigma==1 ~ " " ~ nu==0.8),
    expression(mu==1.5 ~" " ~  sigma==0.5 ~  " " ~ nu==1.0),
    expression(mu==2.5 ~" "~ sigma==1.2 ~ " "~nu==1.5)
  ),
  lwd = 2, lty = c(1,3,3), bty="n")



# Example 3
# The quantile function
p <- seq(from=0, to=0.999, length.out=100)
plot(x=qMCWEI(p, mu=2.3, sigma=1.7, nu=1.3), y=p, xlab="Quantile",
     las=1, ylab="Probability", main="Quantile function ")
curve(pMCWEI(x, mu=2.3, sigma=1.7, nu=1.3), 
      from=0, add=TRUE, col="tomato", lwd=2.5)


# Example 4: Generating a Random Sample for the distribution.

set.seed(5)
hist(rMCWEI(200), freq=FALSE, col = "orange", 
     xlab = "x", ylab = "y", 
     main = "Theoretical values V.S Experimental values")
curve(dMCWEI(x, log = FALSE), add = TRUE, 
      from = 0.0001, to=5, col="royalblue", lwd=3)

legend("topright",
       legend = c(expression(f(x))),
       lwd = 2, lty = 1, bty="n", col="royalblue")