Learn R Programming

VGAMextra (version 0.0-1)

geometricffMeanlink: Link functions for the mean of 1--parameter discrete distributions: The Geometric Distribution.

Description

Computes the geometricffMeanlink transformation, including its inverse and the first two derivatives.

Usage

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

Arguments

theta

Numeric or character. See below for further details.

bvalue, inverse, deriv, short, tag

Details at Links

Value

For deriv = 0, the geometricffMeanlink transformation of theta when inverse = FALSE. When inverse = TRUE then theta becomes \(\eta\), and exp(-theta) / (exp(-theta) - 1) is returned.

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

For deriv = 2 the second order derivatives are correspondingly returned.

Warning

Numerical instability may occur if covariates are used leading to values of \(p\) out of range. Try to overcome this by using argument bvalue.

Details

This is a natural link function to model the mean of the (discret) geometric distribution, geometric, defined as the logarithmm of its mean, i.e., $$ \eta = -\log \frac{p}{1 - p} = -{\tt{logit}}(p).$$

Here, \(p\) is the probability of succes, as in geometric.

While this link function can be used to model any parameter lying in \((0, 1)\), it is particularly useful for event-rate geometric data where the mean can be written in terms of some rate of events, say \(\lambda = \lambda(\mathbf{x})\), as $$\mu = \lambda(\mathbf{x}) t,$$ and the time \(t\) (as \(\log t\)) can be easily incorporated in the analysis as an offset.

Under this link function the domain set for \(p\) is \((0, 1)\). Hence, values of \(\rho\) too close to the extremes, or out of range will result in Inf, -Inf, NA or NaN. Use argument bvalue to adequately replace them before computing the link function.

If theta is a character, arguments inverse and deriv are disregarded.

See Also

geometric, Links, logit, logffMeanlink.

Examples

Run this code
# NOT RUN {
### Example 1  ###
my.probs <- ppoints(100)
geol.inv <-
    geometricffMeanlink(theta = geometricffMeanlink(theta = my.probs), # the inverse
                                inverse = TRUE) - my.probs
summary(geol.inv)     ## zero

###  Example 2. Special values of 'prob'  ###
my.probs <- c(-Inf, -2, -1, 0, 0.25, 0.75, 1.0, 5, Inf, NaN, NA) 
rbind(probs = my.probs, 
      geoffMlink = geometricffMeanlink(theta = my.probs),
      inv.geoffl = geometricffMeanlink(theta = my.probs, inverse = TRUE))


###  Example 3 Some probability link functions  ###
# }
# NOT RUN {
<!-- % -->
# }
# NOT RUN {
my.probs <- ppoints(100)

par(lwd = 2)
plot(my.probs, logit(my.probs), xlim = c(-0.1, 1.1), ylim = c(-5, 8),
     type = "l", col = "limegreen", 
     ylab = "transformation", las = 1, main = "Some probability link functions")
lines(my.probs, geometricffMeanlink(my.probs), col = "gray50")
lines(my.probs, logffMeanlink(my.probs), col = "blue")
lines(my.probs, probit(my.probs), col = "purple")
lines(my.probs, cloglog(my.probs), col = "chocolate")
lines(my.probs, cauchit(my.probs), col = "tan")
abline(v = c(0.5, 1), lty = "dashed")
abline(v = 0, h = 0, lty = "dashed")
legend(0.1, 8, 
      c("geometricffMeanlink", "logffMeanlink","logit", "probit", "cloglog", "cauchit"), 
      col = c("gray50", "blue", "limegreen", "purple", "chocolate", "tan"), lwd = 1, cex = 0.5)
par(lwd = 1) 
 
# }

Run the code above in your browser using DataLab