dirichlet {VGAM}R Documentation

Fitting a Dirichlet Distribution

Description

Fits a Dirichlet distribution to a matrix of compositions.

Usage

dirichlet(link = "loglink", parallel = FALSE, zero = NULL,
          imethod = 1)

Arguments

link

Link function applied to each of the MM (positive) shape parameters αj\alpha_j. See Links for more choices. The default gives ηj=log(αj)\eta_j=\log(\alpha_j).

parallel, zero, imethod

See CommonVGAMffArguments for more information.

Details

In this help file the response is assumed to be a MM-column matrix with positive values and whose rows each sum to unity. Such data can be thought of as compositional data. There are MM linear/additive predictors ηj\eta_j.

The Dirichlet distribution is commonly used to model compositional data, including applications in genetics. Suppose (Y1,,YM)T(Y_1,\ldots,Y_{M})^T is the response. Then it has a Dirichlet distribution if (Y1,,YM1)T(Y_1,\ldots,Y_{M-1})^T has density

Γ(α+)j=1MΓ(αj)j=1Myjαj1\frac{\Gamma(\alpha_{+})} {\prod_{j=1}^{M} \Gamma(\alpha_{j})} \prod_{j=1}^{M} y_j^{\alpha_{j} -1}

where α+=α1++αM\alpha_+=\alpha_1+\cdots+ \alpha_M, αj>0\alpha_j > 0, and the density is defined on the unit simplex

ΔM={(y1,,yM)T:y1>0,,yM>0,j=1Myj=1}.\Delta_{M} = \left\{ (y_1,\ldots,y_{M})^T : y_1 > 0, \ldots, y_{M} > 0, \sum_{j=1}^{M} y_j = 1 \right\}.

One has E(Yj)=αj/α+E(Y_j) = \alpha_j / \alpha_{+}, which are returned as the fitted values. For this distribution Fisher scoring corresponds to Newton-Raphson.

The Dirichlet distribution can be motivated by considering the random variables (G1,,GM)T(G_1,\ldots,G_{M})^T which are each independent and identically distributed as a gamma distribution with density f(gj)=gjαj1egj/Γ(αj)f(g_j)=g_j^{\alpha_j - 1} e^{-g_j} / \Gamma(\alpha_j). Then the Dirichlet distribution arises when Yj=Gj/(G1++GM)Y_j=G_j / (G_1 + \cdots + G_M).

Value

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

When fitted, the fitted.values slot of the object contains the MM-column matrix of means.

Note

The response should be a matrix of positive values whose rows each sum to unity. Similar to this is count data, where probably a multinomial logit model (multinomial) may be appropriate. Another similar distribution to the Dirichlet is the Dirichlet-multinomial (see dirmultinomial).

Author(s)

Thomas W. Yee

References

Lange, K. (2002). Mathematical and Statistical Methods for Genetic Analysis, 2nd ed. New York: Springer-Verlag.

Forbes, C., Evans, M., Hastings, N. and Peacock, B. (2011). Statistical Distributions, Hoboken, NJ, USA: John Wiley and Sons, Fourth edition.

See Also

rdiric, dirmultinomial, multinomial, simplex.

Examples

ddata <- data.frame(rdiric(1000,
                    shape = exp(c(y1 = -1, y2 = 1, y3 = 0))))
fit <- vglm(cbind(y1, y2, y3)  ~ 1, dirichlet,
            data = ddata, trace = TRUE, crit = "coef")
Coef(fit)
coef(fit, matrix = TRUE)
head(fitted(fit))

[Package VGAM version 1.1-11 Index]