Type: Package
Title: Regression Modeling Using Vasicek Distribution
Version: 1.0.2
Date: 2026-01-12
Description: Provides probability density, cumulative distribution, quantile, and random number generation functions for the Vasicek distribution. In addition, two functions are available for fitting Generalized Additive Models for Location, Scale and Shape introduced by Rigby and Stasinopoulos (2005, <doi:10.1111/j.1467-9876.2005.00510.x>). Some functions are written in 'C++' using 'Rcpp', developed by Eddelbuettel and Francois (2011, <doi:10.18637/jss.v040.i08>).
License: MIT + file LICENSE
Encoding: UTF-8
ByteCompile: yes
LazyData: true
Depends: R (≥ 3.6)
Imports: Rcpp, stats, gamlss, gamlss.dist, mvtnorm
LinkingTo: Rcpp
Suggests: testthat (≥ 3.0.0)
RoxygenNote: 7.3.3
NeedsCompilation: yes
Packaged: 2026-01-12 14:31:08 UTC; jmazucheli
Author: Josmar Mazucheli [aut, cre], Bruna Alves [ctb]
Maintainer: Josmar Mazucheli <jmazucheli@gmail.com>
Repository: CRAN
Date/Publication: 2026-01-12 14:50:01 UTC

Overview of the vasicekreg package

Description

The vasicekreg package implements probability density, cumulative distribution, quantile, and random number generation functions for the Vasicek distribution parameterized either by its mean or by its \tau-th quantile, with 0 < \tau < 1. In addition, two GAMLSS frameworks for regression analysis are provided. Some functions are written in C++ using Rcpp.

Details

bodyfat: Body fat dataset.

VASIM: Mean modeling conditional or unconditional on covariates.

VASIQ: Quantile modeling conditional or unconditional on covariates.

Author(s)

Josmar Mazucheli jmazucheli@gmail.com

Bruna Alves pg402900@uem.br


Vasicek distribution with mean parameterization

Description

The function VASIM() defines the Vasicek distribution under a mean-based parameterization for use as a gamlss.family object in GAMLSS models. In this formulation, \mu represents the mean of the distribution and \sigma is a shape parameter. The functions dVASIM, pVASIM, qVASIM, and rVASIM provide the density, distribution, quantile, and random generation functions, respectively.

Usage

dVASIM(x, mu, sigma, log = FALSE)

pVASIM(q, mu, sigma, lower.tail = TRUE, log.p = FALSE)

qVASIM(p, mu, sigma, lower.tail = TRUE, log.p = FALSE)

rVASIM(n, mu, sigma)

VASIM(mu.link = "logit", sigma.link = "logit")

Arguments

x, q

Vector of quantiles in the interval (0,1).

mu

Vector of mean values.

sigma

Vector of shape parameter values.

log, log.p

Logical; if TRUE, probabilities are given on the log scale.

lower.tail

Logical; if TRUE, probabilities P(X \le x) are returned.

p

Vector of probabilities.

n

Number of observations.

mu.link

Link function for the \mu parameter.

sigma.link

Link function for the \sigma parameter.

Details

The probability density function is given by

f(x \mid \mu, \sigma) = \sqrt{\frac{1-\sigma}{\sigma}} \exp\left\{\frac{1}{2}\left[\Phi^{-1}(x)^2 - \left(\frac{\Phi^{-1}(x)\sqrt{1-\sigma}-\Phi^{-1}(\mu)} {\sqrt{\sigma}}\right)^2\right]\right\}.

The cumulative distribution function is

F(x \mid \mu, \sigma) = \Phi\left(\frac{\Phi^{-1}(x)\sqrt{1-\sigma}-\Phi^{-1}(\mu)} {\sqrt{\sigma}}\right).

The quantile function is

Q(\tau \mid \mu, \sigma) = \Phi\left(\frac{\Phi^{-1}(\mu)+\Phi^{-1}(\tau)\sqrt{\sigma}} {\sqrt{1-\sigma}}\right).

Value

VASIM() returns a gamlss.family object.

Note

In the VASIM() parameterization, \mu corresponds to the mean of the distribution and \sigma is a shape parameter.

Author(s)

Josmar Mazucheli jmazucheli@gmail.com

Bruna Alves pg402900@uem.br

References

Hastie, T. J. and Tibshirani, R. J. (1990). Generalized Additive Models. Chapman and Hall, London.

Mazucheli, J., Alves, B., Korkmaz, M.Ç., and Leiva, V. (2022). Vasicek quantile and mean regression models for bounded data: New formulation, mathematical derivations, and numerical applications. Mathematics, 10, 1389. doi:10.3390/math10091389

Rigby, R. A. and Stasinopoulos, D. M. (2005). Generalized additive models for location, scale and shape (with discussion). Applied Statistics, 54(3), 507–554.

Rigby, R. A., Stasinopoulos, D. M., Heller, G. Z., and De Bastiani, F. (2019). Distributions for Modeling Location, Scale, and Shape: Using GAMLSS in R. Chapman and Hall/CRC.

Stasinopoulos, D. M. and Rigby, R. A. (2007). Generalized additive models for location, scale and shape (GAMLSS) in R. Journal of Statistical Software, 23(7), 1–45.

Stasinopoulos, D. M., Rigby, R. A., Heller, G., Voudouris, V., and De Bastiani, F. (2017). Flexible Regression and Smoothing: Using GAMLSS in R. Chapman and Hall/CRC.

Vasicek, O. A. (1987). Probability of loss on loan portfolio. KMV Corporation.

Vasicek, O. A. (2002). The distribution of loan portfolio value. Risk, 15(12), 1–10.

See Also

VASIQ, pmvnorm

Examples

set.seed(123)
x <- rVASIM(n = 1000, mu = 0.5, sigma = 0.69)

hist(x, probability = TRUE, main = "Vasicek distribution")

## Not run: 
library(gamlss)
data <- data.frame(y = x[1:100])
fit <- gamlss(y ~ 1, data = data,
              family = VASIM(mu.link = "logit",
                             sigma.link = "logit"))
summary(fit)

## End(Not run)

The Vasicek distribution: quantile parameterization

Description

The function VASIQ() defines the Vasicek distribution as a gamlss.family object to be used in GAMLSS fitting. In this parameterization, \mu corresponds to the fixed \tau-th quantile, and \sigma is a shape parameter. The functions dVASIQ, pVASIQ, qVASIQ, and rVASIQ define the density, distribution function, quantile function, and random generation for the Vasicek distribution, respectively.

Usage

dVASIQ(x, mu, sigma, tau = 0.5, log = FALSE)

pVASIQ(q, mu, sigma, tau = 0.5, lower.tail = TRUE, log.p = FALSE)

qVASIQ(p, mu, sigma, tau = 0.5, lower.tail = TRUE, log.p = FALSE)

rVASIQ(n, mu, sigma, tau = 0.5)

VASIQ(mu.link = "logit", sigma.link = "logit")

Arguments

x, q

Vector of quantiles in the interval (0,1).

mu

Vector of \tau-th quantile parameter values.

sigma

Vector of shape parameter values.

tau

Fixed quantile level \tau used in the d, p, q, and r functions for VASIQ.

log, log.p

Logical; if TRUE, probabilities are returned on the log scale.

lower.tail

Logical; if TRUE (default), P(X \le x) is returned; otherwise, P(X > x).

p

Vector of probabilities.

n

Number of observations. If length(n) > 1, the length is taken to be the number required.

mu.link

Link function for the \mu parameter.

sigma.link

Link function for the \sigma parameter.

Details

Probability density function:

f\left(x \mid \mu, \sigma, \tau\right) = \sqrt{\frac{1-\sigma}{\sigma}} \exp\left\{\frac{1}{2}\left[\Phi^{-1}(x)^2 - \left(\frac{\sqrt{1-\sigma}\left(\Phi^{-1}(x)-\Phi^{-1}(\mu)\right) - \sqrt{\sigma}\,\Phi^{-1}(\tau)}{\sqrt{\sigma}}\right)^2\right]\right\}.

Cumulative distribution function:

F\left(x \mid \mu, \sigma, \tau\right) = \Phi\left(\frac{\sqrt{1-\sigma}\left(\Phi^{-1}(x)-\Phi^{-1}(\mu)\right) - \sqrt{\sigma}\,\Phi^{-1}(\tau)}{\sqrt{\sigma}}\right).

where 0 < (x, \mu, \tau, \sigma) < 1, \mu is the \tau-th quantile, and \sigma is the shape parameter.

Value

VASIQ() returns a gamlss.family object that can be used to fit a Vasicek distribution using the gamlss function.

Note

For VASIQ(), \mu corresponds to the \tau-th quantile and \sigma is a shape parameter. Parameter estimation is performed using the gamlss function.

Author(s)

Josmar Mazucheli jmazucheli@gmail.com

Bruna Alves pg402900@uem.br

References

Hastie, T. J. and Tibshirani, R. J. (1990). Generalized Additive Models. Chapman and Hall, London.

Mazucheli, J., Alves, B., Korkmaz, M. Ç., and Leiva, V. (2022). Vasicek quantile and mean regression models for bounded data: New formulation, mathematical derivations, and numerical applications. Mathematics, 10, 1389.

Rigby, R. A. and Stasinopoulos, D. M. (2005). Generalized additive models for location, scale and shape (with discussion). Applied Statistics, 54(3), 507–554.

Rigby, R. A., Stasinopoulos, D. M., Heller, G. Z., and De Bastiani, F. (2019). Distributions for Modeling Location, Scale, and Shape: Using GAMLSS in R. Chapman and Hall/CRC.

Stasinopoulos, D. M. and Rigby, R. A. (2007). Generalized additive models for location, scale and shape (GAMLSS) in R. Journal of Statistical Software, 23(7), 1–45.

Stasinopoulos, D. M., Rigby, R. A., Heller, G., Voudouris, V., and De Bastiani, F. (2017). Flexible Regression and Smoothing: Using GAMLSS in R. Chapman and Hall/CRC.

Vasicek, O. A. (1987). Probability of loss on loan portfolio. KMV Corporation.

Vasicek, O. A. (2002). The distribution of loan portfolio value. Risk, 15(12), 1–10.

See Also

VASIM

Examples

set.seed(123)
x <- rVASIQ(n = 1000, mu = 0.50, sigma = 0.69, tau = 0.50)
R <- range(x)
S <- seq(from = R[1], to = R[2], length.out = 1000)

hist(x, prob = TRUE, main = "Vasicek")
lines(S, dVASIQ(x = S, mu = 0.50, sigma = 0.69, tau = 0.50), col = 2)

plot(ecdf(x))
lines(S, pVASIQ(q = S, mu = 0.50, sigma = 0.69, tau = 0.50), col = 2)

plot(quantile(x, probs = S), type = "l")
lines(qVASIQ(p = S, mu = 0.50, sigma = 0.69, tau = 0.50), col = 2)

library(gamlss)
set.seed(123)
data <- data.frame(y = rVASIQ(n = 100, mu = 0.50, sigma = 0.69, tau = 0.50))

tau <- 0.5
fit <- gamlss(y ~ 1, data = data,
              family = VASIQ(mu.link = "logit",
                             sigma.link = "logit"))
1 / (1 + exp(-fit$mu.coefficients))
1 / (1 + exp(-fit$sigma.coefficients))

set.seed(123)
n <- 100
x <- rbinom(n, size = 1, prob = 0.5)
eta <- 0.5 + 1 * x
mu <- 1 / (1 + exp(-eta))
sigma <- 0.5
y <- rVASIQ(n, mu, sigma, tau = 0.5)
data <- data.frame(y, x, tau = 0.5)

tau <- 0.5
fit <- gamlss(y ~ x, data = data, family = VASIQ)

fittaus <- lapply(c(0.10, 0.25, 0.50, 0.75, 0.90), function(Tau) {
  tau <<- Tau
  gamlss(y ~ x, data = data, family = VASIQ)
})

sapply(fittaus, summary)

Percentage of Body Fat Dataset

Description

Percentage of body fat measurements from individuals assisted in a public hospital in Curitiba, Paraná, Brazil.

Usage

bodyfat

Format

A data frame with 298 observations and 9 variables:

Author(s)

Josmar Mazucheli jmazucheli@gmail.com

Bruna Alves pg402900@uem.br

References

Mazucheli, J., Alves, B., Korkmaz, M. Ç., and Leiva, V. (2022). Vasicek quantile and mean regression models for bounded data: New formulation, mathematical derivations, and numerical applications. Mathematics, 10, 1389.

Mazucheli, J., Leiva, V., Alves, B., and Menezes, A. F. B. (2021). A new quantile regression for modeling bounded data under a unit Birnbaum-Saunders distribution with applications in medicine and politics. Symmetry, 13(4), 1–21.

Petterle, R. R., Bonat, W. H., Scarpin, C. T., Jonasson, T., and Borba, V. Z. C. (2020). Multivariate quasi-beta regression models for continuous bounded data. The International Journal of Biostatistics, 17(1), 39–53.

Examples

data(bodyfat, package = "vasicekreg")

bodyfat$BMI <- bodyfat$BMI / 100
bodyfat$SEX <- as.factor(bodyfat$SEX)
bodyfat$IPAQ <- as.factor(bodyfat$IPAQ)

library(gamlss)

## Mean regression model
fitmean <- gamlss(
  ARMS ~ AGE + BMI + SEX + IPAQ,
  data = bodyfat,
  family = VASIM(mu.link = "logit", sigma.link = "logit")
)

## Not run: 
## Quantile regression models for different tau levels
fittaus <- lapply(c(0.10, 0.25, 0.50, 0.75, 0.90), function(Tau) {
  tau <<- Tau
  gamlss(
    ARMS ~ AGE + BMI + SEX + IPAQ,
    data = bodyfat,
    family = VASIQ(mu.link = "logit", sigma.link = "logit")
  )
})

sapply(fittaus, summary)

## End(Not run)