| maxwellQlink {VGAMextra} | R Documentation |
Link functions for the quantiles of several 1–parameter continuous distributions
Description
Computes the maxwellQlink transformation, its inverse and the
first two derivatives.
Usage
maxwellQlink(theta, p = stop("Argument 'p' must be specified."),
bvalue = NULL, inverse = FALSE,
deriv = 0, short = TRUE, tag = FALSE)
Arguments
theta |
Numeric or character. See below for further details. |
p |
Numeric. A single value between 0 and 1.
It is the |
bvalue, inverse, deriv, short, tag |
See |
Details
In the VGLM/VGAM quantile regression context, this link function
can be used to model any p–quantile of the
Maxwell distribition. It is the maxwellQlink transformation
given by
\sqrt{ 2~\textrm{\texttt{qgamma(p, 1.5) / a.}}}
Here, a is positive parameter as in
maxwell
whereas qgamma is the quantile
function of the gamma distribution.
Numerical values of a or p out of range will
result in Inf, -Inf, NA or NaN
correspondingly.
In particular, arguments inverse and deriv are
disregarded if theta is character.
Also, if inverse = TRUE and deriv = 0, then argument
theta becomes \eta. See Links
for further details about this.
Value
For deriv = 0, the maxwellQlink transformation of
theta, when inverse = FALSE. If inverse = TRUE,
then the inverse given by 2*qgamma(p, 1.5) / theta^2 is returned.
For deriv = 1, this function returns the derivative
d eta / d theta,
if inverse = FALSE. Else, the reciprocal
d theta / d eta as a function of theta.
If deriv = 2, then the second order derivatives in terms of
theta are accordingly returned.
Note
Numerical instability may occur for values theta too close
to zero. Use argument bvalue to replace them before
computing the link.
Author(s)
V. Miranda and Thomas W. Yee.
See Also
Examples
## E1. maxwellQlink() and its inverse ##
p <- 0.25 ## Modeling the first quartile
my.a <- seq(0, 5, by = 0.1)[-1]
max(my.a - maxwellQlink(maxwellQlink(my.a, p = p), p = p, inverse =TRUE)) ## Zero
## E2. The first two values are negative, NaN is returned ##
maxwellQlink(theta = c(-0.15, -0.10, 0.25, 0.35) , p = p, inverse = FALSE)
maxwellQlink(theta = c(-0.15, -0.10, 0.25, 0.35) , p = p, inverse = TRUE)
## E3. Plot of the maxwellQlink() and its inverse ##
## Note, inverse = TRUE implies that argument 'theta' becomes 'eta'. ##
#--- THE LINK
plot(maxwellQlink(theta = my.a, p = p) ~ my.a,
type = "l", col = "blue", lty = "dotted", lwd = 3,
xlim = c(-0.1, 10), ylim = c(-0.1, 5), las = 1,
main = c("Blue is maxwellQlink(), green is the inverse"),
ylab = "eta = maxwellQlink", xlab = "theta")
abline(h = 0, v = 0, lwd = 2)
#--- THE INVERSE
lines(my.a, maxwellQlink(theta = my.a, p = p,inv = TRUE),
col = "green", lwd = 2, lty = "dashed")
lines(my.a, my.a) # Tracing the identity function for double--check