Fitting a Dirichlet Distribution
Fits a Dirichlet distribution to a matrix of compositions.
dirichlet(link = "loglink", parallel = FALSE, zero = NULL, imethod = 1)
link |
Link function applied to each of the M (positive) shape
parameters alpha_j.
See |
parallel, zero, imethod |
See |
In this help file the response is assumed to be a M-column matrix with positive values and whose rows each sum to unity. Such data can be thought of as compositional data. There are M linear/additive predictors eta_j.
The Dirichlet distribution is commonly used to model compositional data, including applications in genetics. Suppose (Y_1,…,Y_M)^T is the response. Then it has a Dirichlet distribution if (Y_1,…,Y_{M-1})^T has density
(Gamma(alpha_+) / prod_{j=1}^M gamma(alpha_j)) prod_{j=1}^M y_j^(alpha_j -1)
where alpha_+= alpha_1 + … + alpha_M, alpha_j > 0, and the density is defined on the unit simplex
Delta_M = { (y_1,…,y_M)^T : y_1 > 0, …, y_M > 0, ∑_{j=1}^M y_j = 1 }.
One has 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 (G_1,…,G_M)^T which are each independent and identically distributed as a gamma distribution with density f(g_j)= g_j^(alpha_j - 1) e^(-g_j) / gamma(alpha_j). Then the Dirichlet distribution arises when Y_j = G_j / (G_1 + ... + G_M).
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
M-column matrix of means.
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
).
Thomas W. Yee
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.
ddata <- data.frame(rdiric(n = 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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.