NVASIQ: N-Vasicek distribution (normal kernel) with quantile...

View source: R/dpqr-NvasicekQ.R

NVASIQR Documentation

N-Vasicek distribution (normal kernel) with quantile parameterization

Description

The function NVASIQ() defines the normal-kernel Vasicek distribution as a gamlss.family object. In this parameterization, \mu corresponds to the fixed \tau-th quantile and \sigma is a shape parameter. For GAMLSS fitting, tau must be defined as a scalar variable in the global environment before NVASIQ() is evaluated. The functions dNVASIQ, pNVASIQ, qNVASIQ, and rNVASIQ define the density, distribution function, quantile function, and random generation for the Vasicek distribution, respectively.

Usage

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

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

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

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

NVASIQ(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

Quantile level \tau used in the d, p, q, and r functions. In the NVASIQ() GAMLSS family, it is not a function argument and must be defined globally.

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

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

Note

For NVASIQ(), \mu corresponds to the \tau-th quantile and \sigma is a shape parameter. The global variable tau must remain set to the quantile level associated with a fitted model when residuals or other post-fit quantities are computed.

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

NVASIM

Examples

set.seed(123)
x <- rNVASIQ(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, dNVASIQ(x = S, mu = 0.50, sigma = 0.69, tau = 0.50), col = 2)

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

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

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

tau <- 0.5
fit <- gamlss(y ~ 1, data = data,
              family = NVASIQ(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 <- rNVASIQ(n, mu, sigma, tau = 0.5)
data <- data.frame(y, x)

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

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

sapply(fittaus, summary)

vasicekreg documentation built on Aug. 20, 2026, 9:08 a.m.