R: Simplex Distribution Family Function

simplex {VGAM} | R Documentation

## Simplex Distribution Family Function

### Description

The two parameters of the univariate standard simplex distribution are estimated by full maximum likelihood estimation.

### Usage

    simplex(lmu = "logitlink", lsigma = "loglink", imu = NULL, isigma = NULL,
            imethod = 1, ishrinkage = 0.95, zero = "sigma")

### Arguments

`lmu, lsigma` | Link function for `mu` and `sigma`. See `Links` for more choices.
`imu, isigma` | Optional initial values for `mu` and `sigma`. A `NULL` means a value is obtained internally.
`imethod, ishrinkage, zero` | See `CommonVGAMffArguments` for information.

### Details

The probability density function can be written

f(y; mu, sigma) = [2* pi * sigma^2 * (y*(1-y))^3]^(-0.5) * exp[-0.5 * (y-mu)^2 / (sigma^2 * y * (1-y) * mu^2 * (1-mu)^2)]

for 0 < y < 1, 0 < mu < 1, and sigma > 0. The mean of Y is mu (called `mu`, and returned as the fitted values).

The second parameter, `sigma`, of this standard simplex distribution is known as the dispersion parameter. The unit variance function is V(mu) = mu^3 (1-mu)^3. Fisher scoring is applied to both parameters.

### Value

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

### Note

This distribution is potentially useful for dispersion modelling. Numerical problems may occur when `mu` is very close to 0 or 1.

### Author(s)

T. W. Yee

### References

Jorgensen, B. (1997). The Theory of Dispersion Models. London: Chapman & Hall

Song, P. X.-K. (2007). Correlated Data Analysis: Modeling, Analytics, and Applications. Springer.

### See Also

`dsimplex`, `dirichlet`, `rig`, `binomialff`.

### Examples

    sdata <- data.frame(x2 = runif(nn <- 1000))
    sdata <- transform(sdata, eta1 = 1 + 2 * x2,
                              eta2 = 1 - 2 * x2)
    sdata <- transform(sdata, y = rsimplex(nn, mu = logitlink(eta1, inverse = TRUE),
                                           dispersion = exp(eta2)))
    (fit <- vglm(y ~ x2, simplex(zero = NULL), data = sdata, trace = TRUE))
    coef(fit, matrix = TRUE)
    summary(fit)

[Package VGAM version 1.1-3 Index]