The RANDMULTINOMIAL function is part of the IMLMLIB library. The RANDMULTINOMIAL function generates a random sample from a multinomial distribution, which is a multivariate generalization of the binomial distribution.
The input parameters are as follows:
is the number of observations to sample.
is the number of trials. , for .
is a vector of probabilities with and .
For each trial, is the probability of event , where the are mutually exclusive and .
The RANDMULTINOMIAL function returns an matrix that contains observations of random draws from the multinomial distribution. Each row of the resulting matrix is an integer vector with . That is, for each row, indicates how many times event occurred in trials.
If follows a multinomial distribution with trials and probabilities , then
the probability density function for is
the expected value of is .
the variance of is .
the covariance of with is .
if then is constant.
if then is Binomial and is Binomial.
The following example generates 1,000 samples from a multinomial distribution with three mutually exclusive events. For each
sample, 10 events are generated. Each row of the returned matrix x
represents the number of times each event is observed. The example also computes the sample mean and covariance and compares
them with the expected values.
call randseed(1); prob = {0.3,0.6,0.1}; NumTrials = 10; N = 1000; x = RandMultinomial(N,NumTrials,prob); /* population mean and covariance */ Mean = NumTrials * prob`; Cov = -NumTrials*prob*prob`; /* replace diagonal elements of Cov with Variance */ Variance = NumTrials*prob#(1-prob); do i = 1 to nrow(prob); Cov[i,i] = Variance[i]; end; SampleMean = mean(x); SampleCov = cov(x); print SampleMean Mean, SampleCov Cov;
Figure 24.300: Estimated Mean and Covariance Matrix
SampleMean | Mean | ||||
---|---|---|---|---|---|
2.891 | 6.059 | 1.05 | 3 | 6 | 1 |
SampleCov | Cov | ||||
---|---|---|---|---|---|
2.0051241 | -1.69126 | -0.313864 | 2.1 | -1.8 | -0.3 |
-1.69126 | 2.3198388 | -0.628579 | -1.8 | 2.4 | -0.6 |
-0.313864 | -0.628579 | 0.9424424 | -0.3 | -0.6 | 0.9 |
For further details about sampling from the multinomial distribution, see Gentle (2003), or Fishman (1996).