bcsl: The Box-Cox Slash Distribution

View source: R/01_bcsl.R

bcslR Documentation

The Box-Cox Slash Distribution

Description

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

Usage

dbcsl(x, mu, sigma, lambda, nu, log = FALSE)

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

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

rbcsl(n, mu, sigma, lambda, nu)

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 slash distribution reduces to the log-slash distribution with parameters mu, sigma, and nu (see lsl).

nu

strictly positive heavy-tailness parameter.

log

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 random values to return.

Value

dbcsl returns the density, pbcsl gives the distribution function, qbcsl gives the quantile function, and rbcsl generates random observations.

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

The length of the result is determined by n for rbcsl, 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

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.

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.

Examples

mu <- 8
sigma <- 1
lambda <- 2
nu <- 4

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

# Density
hist(x, prob = TRUE, main = "The Box-Cox Slash Distribution", col = "white")
curve(dbcsl(x, mu, sigma, lambda, nu), 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 Slash Distribution", ylab = "Distribution function")
curve(pbcsl(x, mu, sigma, lambda, nu), add = TRUE, col = 2, lwd = 2)
legend("bottomright", 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 Slash Distribution"
)
curve(qbcsl(x, mu, sigma, lambda, nu), 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.