bcla: The Box-Cox Laplace Distribution

View source: R/01_bcla.R

bclaR Documentation

The Box-Cox Laplace Distribution

Description

Density, distribution function, quantile function, and random generation for the Box-Cox Laplace distribution with parameters mu, sigma, and lambda.

Usage

dbcla(x, mu, sigma, lambda, log = FALSE, ...)

pbcla(q, mu, sigma, lambda, lower.tail = TRUE, ...)

qbcla(p, mu, sigma, lambda, lower.tail = TRUE, ...)

rbcla(n, mu, sigma, lambda)

Arguments

x, q

vector of positive quantiles.

mu

vector of strictly positive scale parameters.

sigma

vector of strictly positive relative dispersion parameters.

lambda

vector of real-valued skewness parameters. If lambda = 0, the Box-Cox Laplace distribution reduces to the log-Laplace distribution with parameters mu and sigma (see lla).

log

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

...

further arguments.

lower.tail

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

p

vector of probabilities.

n

number of random values to return.

Value

dbcla returns the density, pbcla gives the distribution function, qbcla gives the quantile function, and rbcla generates random observations.

Invalid arguments will result in return value NaN, with an warning.

The length of the result is determined by n for rbcla, and is the maximum of the lengths of the numerical arguments for the other functions.

Author(s)

Rodrigo M. R. de Medeiros <rodrigo.matheus@live.com>

References

Ferrari, S. L. P., and Fumes, G. (2017). Box-Cox symmetric distributions and applications to nutritional data. AStA Advances in Statistical Analysis, 101, 321-344.

Vanegas, L. H., and Paula, G. A. (2016). Log-symmetric distributions: statistical properties and parameter estimation. Brazilian Journal of Probability and Statistics, 30, 196-220.

Examples

mu <- 10
sigma <- 0.5
lambda <- 4

# Sample generation
x <- rbcla(10000, mu, sigma, lambda)

# Density
hist(x, prob = TRUE, main = "The Box-Cox Laplace Distribution", col = "white")
curve(dbcla(x, mu, sigma, lambda), add = TRUE, col = 2, lwd = 2)
legend("topleft", "Probability density function", col = 2, lwd = 2, lty = 1)

# Distribution function
plot(ecdf(x), main = "The Box-Cox Laplace Distribution", ylab = "Distribution function")
curve(pbcla(x, mu, sigma, lambda), add = TRUE, col = 2, lwd = 2)
legend("topleft", c("Emp. distribution function", "Theo. distribution function"),
  col = c(1, 2), lwd = 2, lty = c(1, 1)
)

# Quantile function
plot(seq(0.01, 0.99, 0.001), quantile(x, seq(0.01, 0.99, 0.001)),
  type = "l",
  xlab = "p", ylab = "Quantile function", main = "The Box-Cox Laplace Distribution"
)
curve(qbcla(x, mu, sigma, lambda), add = TRUE, col = 2, lwd = 2, from = 0, to = 1)
legend("topleft", c("Emp. quantile function", "Theo. quantile function"),
  col = c(1, 2), lwd = 2, lty = c(1, 1)
)

rdmatheus/BCNSM documentation built on Feb. 8, 2024, 1:28 a.m.