Learn R Programming

VGAM (version 1.0-4)

gammahyperbola: Gamma Hyperbola Bivariate Distribution

Description

Estimate the parameter of a gamma hyperbola bivariate distribution by maximum likelihood estimation.

Usage

gammahyperbola(ltheta = "loge", itheta = NULL, expected = FALSE)

Arguments

ltheta

Link function applied to the (positive) parameter \(\theta\). See Links for more choices.

itheta

Initial value for the parameter. The default is to estimate it internally.

expected

Logical. FALSE means the Newton-Raphson (using the observed information matrix) algorithm, otherwise the expected information matrix is used (Fisher scoring algorithm).

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm and vgam.

Details

The joint probability density function is given by $$f(y_1,y_2) = \exp( -e^{-\theta} y_1 / \theta - \theta y_2 )$$ for \(\theta > 0\), \(y_1 > 0\), \(y_2 > 1\). The random variables \(Y_1\) and \(Y_2\) are independent. The marginal distribution of \(Y_1\) is an exponential distribution with rate parameter \(\exp(-\theta)/\theta\). The marginal distribution of \(Y_2\) is an exponential distribution that has been shifted to the right by 1 and with rate parameter \(\theta\). The fitted values are stored in a two-column matrix with the marginal means, which are \(\theta \exp(\theta)\) and \(1 + 1/\theta\).

The default algorithm is Newton-Raphson because Fisher scoring tends to be much slower for this distribution.

References

Reid, N. (2003) Asymptotics and the theory of inference. Annals of Statistics, 31, 1695--1731.

See Also

exponential.

Examples

Run this code
# NOT RUN {
gdata <- data.frame(x2 = runif(nn <- 1000))
gdata <- transform(gdata, theta = exp(-2 + x2))
gdata <- transform(gdata, y1 = rexp(nn, rate = exp(-theta)/theta),
                          y2 = rexp(nn, rate = theta) + 1)
fit <- vglm(cbind(y1, y2) ~ x2, gammahyperbola(expected = TRUE), data = gdata)
coef(fit, matrix = TRUE)
Coef(fit)
head(fitted(fit))
summary(fit)
# }

Run the code above in your browser using DataLab