bchp: The Box-Cox Hyperbolic Distribution

View source: R/01_bchp.R

bchpR Documentation

The Box-Cox Hyperbolic Distribution

Description

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

Usage

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

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

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

rbchp(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 hyperbolic distribution reduces to the log-hyperbolic distribution with parameters mu, sigma, and nu (see lhp.

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

dbchp returns the density, pbchp gives the distribution function, qbchp gives the quantile function, and rbchp generates random observations.

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

The length of the result is determined by n for rbchp, 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 <- rbchp(10000, mu, sigma, lambda, nu)

# Density
hist(x, prob = TRUE, main = "The Box-Cox Hyperbolic Distribution", col = "white")
curve(dbchp(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 Hyperbolic Distribution", ylab = "Distribution function")
curve(pbchp(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 Hyperbolic Distribution"
)
curve(qbchp(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.