Using a three step algorithm to generate overdispersed binomial outcome data. When the number of frequencies, binomial random variable, probability of success and overdispersion are given.
GenerateBOD(N,n,pi,rho)
Arguments
N: single value for number of total frequencies
n: single value for binomial random variable
pi: single value for probability of success
rho: single value for overdispersion parameter
Returns
The output of GenerateBOD gives a vector of overdispersed binomial random variables
Details
The generated binomial random variables are overdispersed based on rho for the probability of success pi.
Step 1: Solve the following equation for a given n,pi,rho,
phi(z(pi),z(pi),delta)=pi(1−pi)rho+pi2,
For delta where phi(z(pi),z(pi),delta) is the cumulative distribution function of the standard bivariate normal random variable with correlation coefficient delta, and z(pi) denotes the pith quantile of the standard normal distribution.
Step 2: Generate n-dimensional multivariate normal random variables, Zi=(Zi1,Zi2,ldots,Zin)T
with mean 0 and constant correlation matrix Sigmai for i=1,2,…,N, where the elements of (Sigmai)lm are delta for l=m.
Step 3: Now for each j=1,2,…,n define Xij=1; if Zij<z(π), or Xij=0; otherwise. Then, it can be showed that the random variable Yi=∑j=1nXij
is overdispersed relative to the Binomial distribution.
NOTE : If input parameters are not in given domain conditions necessary error messages will be provided to go further.
Examples
N <-500# Number of observationsn <-10# Dimension of multivariate normal random variablespi <-0.5# Probability thresholdrho <-0.1# Dispersion parameter# Generate overdispersed binomial variablesNew_overdispersed_data <- GenerateBOD(N, n, pi, rho)table(New_overdispersed_data)