# betaff: The Two-parameter Beta Distribution Family Function In VGAM: Vector Generalized Linear and Additive Models

 betaff R Documentation

## The Two-parameter Beta Distribution Family Function

### Description

Estimation of the mean and precision parameters of the beta distribution.

### Usage

```betaff(A = 0, B = 1, lmu = "logitlink", lphi = "loglink",
imu = NULL, iphi = NULL,
gprobs.y = ppoints(8), gphi  = exp(-3:5)/4, zero = NULL)
```

### Arguments

 `A, B` Lower and upper limits of the distribution. The defaults correspond to the standard beta distribution where the response lies between 0 and 1. `lmu, lphi` Link function for the mean and precision parameters. The values A and B are extracted from the `min` and `max` arguments of `extlogitlink`. Consequently, only `extlogitlink` is allowed. `imu, iphi` Optional initial value for the mean and precision parameters respectively. A `NULL` value means a value is obtained in the `initialize` slot. `gprobs.y, gphi, zero` See `CommonVGAMffArguments` for more information.

### Details

The two-parameter beta distribution can be written f(y) =

(y-A)^(mu1*phi-1)*(B-y)^((1-mu1)*phi-1)/[beta(mu1*phi,(1-mu1)*phi) * (B-A)^(phi-1)]

for A < y < B, and beta(.,.) is the beta function (see `beta`). The parameter mu1 satisfies mu1 = (mu - A) / (B-A) where mu is the mean of Y. That is, mu1 is the mean of of a standard beta distribution: E(Y) = A + (B-A)*mu1, and these are the fitted values of the object. Also, phi is positive and A < mu < B. Here, the limits A and B are known.

Another parameterization of the beta distribution involving the raw shape parameters is implemented in `betaR`.

For general A and B, the variance of Y is (B-A)^2 * mu1 * (1-mu1) / (1+phi). Then phi can be interpreted as a precision parameter in the sense that, for fixed mu, the larger the value of phi, the smaller the variance of Y. Also, mu1=shape1/(shape1+shape2) and phi = shape1+shape2. Fisher scoring is implemented.

### Value

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

### Note

The response must have values in the interval (A, B). The user currently needs to manually choose `lmu` to match the input of arguments `A` and `B`, e.g., with `extlogitlink`; see the example below.

Thomas W. Yee

### References

Ferrari, S. L. P. and Francisco C.-N. (2004). Beta regression for modelling rates and proportions. Journal of Applied Statistics, 31, 799–815.

`betaR`, `Beta`, `dzoabeta`, `genbetaII`, `betaII`, `betabinomialff`, `betageometric`, `betaprime`, `rbetageom`, `rbetanorm`, `kumar`, `extlogitlink`, `simulate.vlm`.

### Examples

```bdata <- data.frame(y = rbeta(nn <- 1000, shape1 = exp(0),
shape2 = exp(1)))
fit1 <- vglm(y ~ 1, betaff, data = bdata, trace = TRUE)
coef(fit1, matrix = TRUE)
Coef(fit1)  # Useful for intercept-only models

# General A and B, and with a covariate
bdata <- transform(bdata, x2 = runif(nn))
bdata <- transform(bdata, mu = logitlink(0.5 - x2, inverse = TRUE),
prec = exp(3.0 + x2))  # prec == phi
bdata <- transform(bdata, shape2 = prec * (1 - mu),
shape1 = mu * prec)
bdata <- transform(bdata,
y = rbeta(nn, shape1 = shape1, shape2 = shape2))
bdata <- transform(bdata, Y = 5 + 8 * y)  # From 5--13, not 0--1
fit <- vglm(Y ~ x2, data = bdata, trace = TRUE,
betaff(A = 5, B = 13, lmu = extlogitlink(min = 5, max = 13)))
coef(fit, matrix = TRUE)
```

VGAM documentation built on July 6, 2022, 5:05 p.m.