Chapter 2.

Inferences for a Binomial distribution.

Assume that we observe the number of successes x in n independent trials having the same probability of success p. x has a binomial distribution with parameters n and p. n in known. We want to make inferences about p.

For example, suppose that we observe x=115 and n=300, and we want to estimate p. Splus finds the confidence interval for p using the command prop.test():

>  prop.test(115,300,conf.level=.95)$conf.int
[1] 0.3285190 0.4411865
attr(, "conf.level"):
[1] 0.95
>  prop.test(115,300,conf.level=.95)

	1-sample proportions test with continuity correction

data:  115 out of 300, null probability 0.5 
X-square = 15.87, df = 1, p-value = 0.0001 
alternative hypothesis: true P(success) in Group 1 is not equal to 0.5 
95 percent confidence interval:
 0.3285190 0.4411865 
sample estimates:
 prop'n in Group 1 
         0.3833333
The function prop.test() uses the normal approximation to the binomial distribution with continuity correction. We obtain that the confidence interval for p is (0.3285190, 0.4411865).

However, other methods are possible. The following program finds the Clopper-Pearson confidence interval for a proportion p:

**********2a***************
x_115
n_300
alpha_.95
p_x/n
dfr1_2*(n+1-x)
dfr2_2*x
q1_qf(.975,df1=dfr1,df2=dfr2)
c2_(x/(x+((n+1-x)*q1)))
dfr1_2*(x+1)
dfr2_2*(n-x)
q2_qf(.975,df1=dfr1,df2=dfr2)
c2[2]_((x+1)*q2)/(n-x+((x+1)*q2))     
*************************
> source("2a")     
> conf
[1] 0.3280441 0.4409513
**************
We obtain that the confidence interval for p is (0.3280441,0.4409513).

We can do a binomial test using the command:

binom.test(x, n, p=0.5, alternative="two.sided")

This commands test hypothesis about the parameter p in a Binomial(n,p) model given x, the number of successes out of n trials. The argument alternative has 3 options: "two.sided" (not equal to p), "less" (less than p) or "greater" (greater than p).

For example, if we do:

> binom.test(x,n,p=0.35, alternative="two.sided")

        Exact binomial test

data:  x out of n
number of successes = 115, n = 300, p-value = 0.2501
alternative hypothesis: true p is not equal to 0.35
We get that the p-value of the test is 0.2501. So, we conclude that the null hypothesis is true at the level of significance alpha=0.05.

Splus supplies the command binomial.sample.size() to find the sample size needed to attained a determined significance level and power.

>n1_binomial.sample.size(p=.3,p.alt=.4,power=.8,alpha=.05,alternative="greater")
> n1
  p.null p.alt delta alpha power  n1 
1    0.3   0.4   0.1  0.05   0.8 156
However, better estimations are possible.

Comments to: Miguel A. Arcones