# dist.Multivariate.Polya: Multivariate Polya Distribution In LaplacesDemon: Complete Environment for Bayesian Inference

## Description

These functions provide the density and random number generation for the multivariate Polya distribution.

## Usage

 ```1 2``` ```dmvpolya(x, alpha, log=FALSE) rmvpolya(n, alpha) ```

## Arguments

 `x` This is data or parameters in the form of a vector of length k. `n` This is the number of random draws to take from the distribution. `alpha` This is shape vector alpha with length k. `log` Logical. If `log=TRUE`, then the logarithm of the density is returned.

## Details

• Application: Discrete Multivariate

• Density:

p(theta) = (N! / prod(N[k]!)) * ((sum alpha[k] - 1)! / (sum theta[k] + sum alpha[k] - 1)!) * prod((theta + alpha - 1)! / (alpha - 1)!)

• Inventor: George Polya (1887-1985)

• Notation 1: theta ~ MPO(alpha)

• Notation 3: p(theta) = MPO(theta | alpha)

• Parameter 1: shape parameter vector alpha

• Mean: E(theta) =

• Variance: var(theta) =

• Mode: mode(theta) =

The multivariate Polya distribution is named after George Polya (1887-1985). It is also called the Dirichlet compound multinomial distribution or the Dirichlet-multinomial distribution. The multivariate Polya distribution is a compound probability distribution, where a probability vector p is drawn from a Dirichlet distribution with parameter vector alpha, and a set of N discrete samples is drawn from the categorical distribution with probability vector p and having K discrete categories. The compounding corresponds to a Polya urn scheme. In document classification, for example, the distribution is used to represent probabilities over word counts for different document types. The multivariate Polya distribution is a multivariate extension of the univariate Beta-binomial distribution.

## Value

`dmvpolya` gives the density and `rmvpolya` generates random deviates.

## Author(s)

Statisticat, LLC [email protected]

`dcat`, `ddirichlet`, and `dmultinom`.
 ```1 2 3``` ```library(LaplacesDemon) dmvpolya(x=1:3, alpha=1:3, log=TRUE) x <- rmvpolya(1000, c(0.1,0.3,0.6)) ```