gamma1Qlink | R Documentation |
Computes the gamma1Qlink
transformation, its inverse and the
first two derivatives.
gamma1Qlink(theta, p = stop("Argument 'p' must be specified."),
bvalue = NULL, inverse = FALSE,
deriv = 0, short = TRUE, tag = FALSE)
theta |
Numeric or character. It is |
p |
A numeric vector of |
bvalue, inverse, deriv, short, tag |
See |
This link function has been specifically designed to model any
p
–quantile of the 1–parameter gamma distribution,
gamma1
, in the VGLM/VGAM context.
It is defined as
\eta = \log {\tt{qgamma}}({\tt{p}}, {\tt{shape =}} s),
where s
is a positive shape parameter as in
gamma1
, whilst
{\tt{qgamma()}}
is the quantile function
qgamma
.
The inverse of the gamma1Qlink
cannot be expressed in closed
form. Instead, the inverse image, s_{\eta}
,
of \eta
is numerically approximated by
newtonRaphson.basic
.
Numerical values of s
or p
out of range will
result in Inf
, -Inf
, NA
or NaN
correspondingly.
Arguments inverse
and deriv
are dismissed
if theta
is character.
For deriv = 0
, the gamma1Qlink
transformation of
theta
, when inverse = FALSE
.
If inverse = TRUE
, then
theta
becomes \eta
, and therefore,
the approximate inverse image of \eta
is returned.
For deriv = 1
, the partial derivative
d
eta
/ d
theta
is returned,
if inverse = FALSE
. If inverse = TRUE
,
then the reciprocal
d
theta
/ d
eta
as a function of theta
.
If deriv = 2
, then the second order derivatives as a function
of theta
.
Numerical instability may occur for values theta
too large, or
too close to 0.0. Use argument bvalue
to replace them before
computing the link.
V. Miranda and Thomas W. Yee.
gamma1
,
qgamma
,
Links
.
## E1. gamma1QLink() and values causing NaNs or out of range ##
p <- 0.75 # The third quartile is of interest.
my.s <- seq(0, 5, by = 0.1)[-1]
max(my.s - gamma1Qlink(gamma1Qlink(my.s, p = p), p = p, inverse =TRUE)) ## Zero
## E2. Special values of theta ##
gamma1Qlink(theta = c(-0.15, -0.10, 0, 1:10) , p = p, inverse = FALSE) ## NaNs
gamma1Qlink(theta = c(-5, -3, 0, 1:10) , p = p, inverse = TRUE) ## Out of range
## E3. Plot of gamma1QLink() and its inverse. ##
# gamma1Qlink()
plot(gamma1Qlink(theta = my.s, p = p) ~ my.s,
type = "l", col = "blue", lty = "dotted", lwd = 3,
xlim = c(-0.1, 5), ylim = c(-5, 15), las = 1,
main = c("Blue is gamma1Qlink(), green is the inverse"),
ylab = "gamma1Qlink transformation", xlab = "theta")
abline(h = 0, v = 0, lwd = 2)
# The inverse
lines(my.s, gamma1Qlink(theta = my.s, p = p, inverse = TRUE),
col = "green", lwd = 2, lty = "dashed")
# The identity function, for double-checking.
lines(my.s, my.s, lty = "dotted")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.