betaprime {VGAM} | R Documentation |
Estimation of the two shape parameters of the beta-prime distribution by maximum likelihood estimation.
betaprime(link = "loge", earg=list(), i1 = 2, i2 = NULL, zero = NULL)
link |
Parameter link function applied to the two (positive) shape parameters.
See |
earg |
List. Extra argument for each of the links.
See |
i1, i2 |
Initial values for the first and second shape parameters.
A |
zero |
An integer-valued vector specifying which linear/additive predictors
are modelled as intercepts only. The value must be from the set
{1,2} corresponding respectively to |
The beta-prime distribution is given by
f(y) = y^(shape1-1) * (1+y)^(-shape1-shape2) / B(shape1,shape2)
for y > 0. The shape parameters are positive, and here, B is the beta function. The mean of Y is shape1 / (shape2-1) provided shape2>1.
If Y has a Beta(shape1,shape2) distribution then Y/(1-Y) and (1-Y)/Y have a Betaprime(shape1,shape2) and Betaprime(shape2,shape1) distribution respectively. Also, if Y1 has a gamma(shape1) distribution and Y2 has a gamma(shape2) distribution then Y1/Y2 has a Betaprime(shape1,shape2) distribution.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
rrvglm
and vgam
.
The response must have positive values only.
The beta-prime distribution is also known as the beta distribution of the second kind or the inverted beta distribution.
Thomas W. Yee
Johnson, N. L. and Kotz, S. and Balakrishnan, N. (1995) Chapter 25 of: Continuous Univariate Distributions, 2nd edition, Volume 2, New York: Wiley.
Documentation accompanying the VGAM package at http://www.stat.auckland.ac.nz/~yee contains further information and examples.
nn = 1000 betadat = data.frame(shape1 = exp(1), shape2 = exp(3)) betadat = transform(betadat, yb = rbeta(nn, shape1, shape2)) betadat = transform(betadat, y1 = (1-yb)/yb, y2 = yb/(1-yb), y3 = rgamma(nn, exp(3)) / rgamma(nn, exp(2))) fit1 = vglm(y1 ~ 1, betaprime, betadat, trace=TRUE) coef(fit1, matrix=TRUE) fit2 = vglm(y2 ~ 1, betaprime, betadat, trace=TRUE) coef(fit2, matrix=TRUE) fit3 = vglm(y3 ~ 1, betaprime, betadat, trace=TRUE) coef(fit3, matrix=TRUE) # Compare the fitted values with(betadat, mean(y3)) head(fitted(fit3)) Coef(fit3) # Useful for intercept-only models