View source: R/family.aunivariate.R

betaff | R Documentation |

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

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

`A, B` |
Lower and upper limits of the distribution.
The defaults correspond to the |

`lmu, lphi` |
Link function for the mean and precision parameters.
The values |

`imu, iphi` |
Optional initial value for the mean and precision parameters
respectively. A |

`gprobs.y, gphi, zero` |
See |

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.

An object of class `"vglmff"`

(see `vglmff-class`

).
The object is used by modelling functions
such as `vglm`

,
and `vgam`

.

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

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`

.

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)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.