Learn R Programming

fitODBOD (version 1.5.3)

dCorrBin: Correlated Binomial Distribution

Description

These functions provide the ability for generating probability function values and cumulative probability function values for the Correlated Binomial Distribution.

Usage

dCorrBin(x,n,p,cov)

Value

The output of dCorrBin gives a list format consisting

pdf probability function values in vector form.

mean mean of Correlated Binomial Distribution.

var variance of Correlated Binomial Distribution.

corr correlation of Correlated Binomial Distribution.

mincorr minimum correlation value possible.

maxcorr maximum correlation value possible.

Arguments

x

vector of binomial random variables.

n

single value for no of binomial trials.

p

single value for probability of success.

cov

single value for covariance.

Details

The probability function and cumulative function can be constructed and are denoted below

The cumulative probability function is the summation of probability function values.

$$P_{CorrBin}(x) = {n \choose x}(p^x)(1-p)^{n-x}(1+(\frac{cov}{2p^2(1-p)^2})((x-np)^2+x(2p-1)-np^2)) $$ $$x = 0,1,2,3,...n$$ $$n = 1,2,3,...$$ $$0 < p < 1$$ $$-\infty < cov < +\infty $$

The Correlation is in between $$\frac{-2}{n(n-1)} min(\frac{p}{1-p},\frac{1-p}{p}) \le correlation \le \frac{2p(1-p)}{(n-1)p(1-p)+0.25-fo} $$ where \(fo=min [(x-(n-1)p-0.5)^2] \)

The mean and the variance are denoted as $$E_{CorrBin}[x]= np$$ $$Var_{CorrBin}[x]= n(p(1-p)+(n-1)cov)$$ $$Corr_{CorrBin}[x]=\frac{cov}{p(1-p)}$$

NOTE : If input parameters are not in given domain conditions necessary error messages will be provided to go further.

References

johnson2005univariatefitODBOD kupper1978usefitODBOD paul1985threefitODBOD morel2012overdispersionfitODBOD

Examples

Run this code
#plotting the random variables and probability values
col <- rainbow(5)
a <- c(0.58,0.59,0.6,0.61,0.62)
b <- c(0.022,0.023,0.024,0.025,0.026)
plot(0,0,main="Correlated binomial probability function graph",xlab="Binomial random variable",
ylab="Probability function values",xlim = c(0,10),ylim = c(0,0.5))
for (i in 1:5)
{
lines(0:10,dCorrBin(0:10,10,a[i],b[i])$pdf,col = col[i],lwd=2.85)
points(0:10,dCorrBin(0:10,10,a[i],b[i])$pdf,col = col[i],pch=16)
}

dCorrBin(0:10,10,0.58,0.022)$pdf      #extracting the pdf values
dCorrBin(0:10,10,0.58,0.022)$mean     #extracting the mean
dCorrBin(0:10,10,0.58,0.022)$var      #extracting the variance
dCorrBin(0:10,10,0.58,0.022)$corr     #extracting the correlation
dCorrBin(0:10,10,0.58,0.022)$mincorr  #extracting the minimum correlation value
dCorrBin(0:10,10,0.58,0.022)$maxcorr  #extracting the maximum correlation value

#plotting the random variables and cumulative probability values
col <- rainbow(5)
a <- c(0.58,0.59,0.6,0.61,0.62)
b <- c(0.022,0.023,0.024,0.025,0.026)
plot(0,0,main="Correlated binomial probability function graph",xlab="Binomial random variable",
ylab="Probability function values",xlim = c(0,10),ylim = c(0,1))
for (i in 1:5)
{
lines(0:10,pCorrBin(0:10,10,a[i],b[i]),col = col[i],lwd=2.85)
points(0:10,pCorrBin(0:10,10,a[i],b[i]),col = col[i],pch=16)
}

pCorrBin(0:10,10,0.58,0.022)      #acquiring the cumulative probability values

Run the code above in your browser using DataLab