VGAM (version 1.0-4)

simplex: Simplex Distribution Family Function


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


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


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.


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


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.


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.


Run this code
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 = logit(eta1, inverse = TRUE),
                                       dispersion = exp(eta2)))
(fit <- vglm(y ~ x2, simplex(zero = NULL), data = sdata, trace = TRUE))
coef(fit, matrix = TRUE)
# }

Run the code above in your browser using DataCamp Workspace