| VASIQ | R Documentation |
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.
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")
x, q |
Vector of quantiles in the interval |
mu |
Vector of |
sigma |
Vector of shape parameter values. |
tau |
Fixed quantile level |
log, log.p |
Logical; if |
lower.tail |
Logical; if |
p |
Vector of probabilities. |
n |
Number of observations. If |
mu.link |
Link function for the |
sigma.link |
Link function for the |
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.
VASIQ() returns a gamlss.family object that can be used
to fit a Vasicek distribution using the gamlss
function.
For VASIQ(), \mu corresponds to the \tau-th quantile
and \sigma is a shape parameter. Parameter estimation is
performed using the gamlss function.
Josmar Mazucheli jmazucheli@gmail.com
Bruna Alves pg402900@uem.br
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.
VASIM
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.