logloglink: Log-log and Log-log-log Link Functions

View source: R/links.q

logloglinkR Documentation

Description

Computes the two transformations, including their inverse and the first two derivatives.

Usage

logloglink(theta, bvalue = NULL, inverse = FALSE, deriv = 0,
           short = TRUE, tag = FALSE)
loglogloglink(theta, bvalue = NULL, inverse = FALSE, deriv = 0,
              short = TRUE, tag = FALSE)

Arguments

theta

Numeric or character. See below for further details.

bvalue

Values of theta which are less than or equal to 1 or e can be replaced by bvalue before computing the link function value. The component name bvalue stands for “boundary value”. See Links for more information.

inverse, deriv, short, tag

Details at Links.

Details

The log-log link function is commonly used for parameters that are greater than unity. Similarly, the log-log-log link function is applicable for parameters that are greater than e. Numerical values of theta close to 1 or e or out of range result in Inf, -Inf, NA or NaN. One possible application of loglogloglink() is to the k parameter (also called size) of negbinomial to Poisson-like data but with only a small amount of overdispersion; then k is a large number relative to munb. In such situations a loglink or loglog link may not be sufficient to draw the estimate toward the interior of the parameter space. Using a more stronger link function can help mitigate the Hauck-Donner effect hdeff.

Value

For logloglink(): for deriv = 0, the log of log(theta), i.e., log(log(theta)) when inverse = FALSE, and if inverse = TRUE then exp(exp(theta)).

For loglogloglink(): for deriv = 0, the log of log(log(theta)), i.e., log(log(log(theta))) when inverse = FALSE, and if inverse = TRUE then exp(exp(exp(theta))).

For deriv = 1, then the function returns d theta / d eta as a function of theta if inverse = FALSE, else if inverse = TRUE then it returns the reciprocal.

Here, all logarithms are natural logarithms, i.e., to base e.

Note

Numerical instability may occur when theta is close to 1 or e unless bvalue is used.

References

McCullagh, P. and Nelder, J. A. (1989). Generalized Linear Models, 2nd ed. London: Chapman & Hall.

See Also

Links, loglink, logofflink.

Examples

x <- seq(0.8, 1.5, by = 0.1)
logloglink(x)  # Has NAs
logloglink(x, bvalue = 1.0 + .Machine$double.eps)  # Has no NAs

x <- seq(1.01, 10, len = 100)
logloglink(x)
max(abs(logloglink(logloglink(x), inverse = TRUE) - x))  # 0?

VGAM documentation built on Sept. 18, 2024, 9:09 a.m.