The Binomial test evaluate the probability
Pbin of seeing
k or more extreme number of positive
cases in a sample of
n cases, if the reference proportion is
Pref.
Please note : Binomial probability assumes that the observation is
one off. In most quality assurance programs repeated observations are made,
and the probability estimates must take into account variations from
repeated measurements, and different statistics should be used.
Three parameters are involved :
- Reference proportion (Pref) : also known as expected proportion or probability,
is the expected, theoretical, or reference proportion of cases that are
positive in the indexed outcome (deaths, cures, winners, losers, complications, etc).
This is usually expressed as a number between 0 and 1, so that 0.25
represents 25%. The abbreviation Pref is used in these programs.
- Sample size (n) : is the number of cases observed in the current study, and this
is abbreviated to n.
- Numbers positives (k) : is the number of cases found to be positive in the sample observed
in the current study, and this is abbreviated to k.
The test result is the Binomial Probability, abbreviated to Pbin. Two such
values are calculated, although usually one is required in a particular study.
- Pbin<=k is the probability of observing k or less number of positive cases
amongst a sample of n cases, if the true proportion is Pref
- Pbin>=k is the probability of observing k or more number of positive cases
amongst a sample of n cases, if the true proportion is Pref
Calculations use the Binomial Coefficient, which required calculation of Factorial numbers.
The duration of calculations therefore increases exponentially with large numbers, and sample
size in excess of 1000 may exceed the time limits allowed by the server and crash the program.
Should this happens, an alternative algorithm using the approximate Normal transformation of
the proportion, using the following algorithm.
- mean (μ) = Pref * n
- Standard Deviation (sd) = sqrt(n * Pref * (1 - Pref))
- y = k
- if k<μ then y = k + 0.5
- if k>μ then y = k - 0.5
- z = (y-μ)/sd
- Pbin = probability of z, calculated in the Probability of z Program Page
Reference : Nonparametric Statistics for the Behavioral Sciences. (2nd. Ed. 1998)
S. Siegal & N. J. Castellan Jr. McGraw-Hill New York. ISBN 0-07-057357-3 p. 38
Example 1
A gambler arriving at a casino requests that he be allowed to use his own dice,
as it gives him confidence. He insisted that the dice was properly made, and
contains no bias. The casino authority agreed to this, providing they could satisfy
themselves that this was an unbiased dice after 1000 throws of the dice.
As the dice has 6 sides, the chance of having any single value is 1/6=0.17 (Pref = 0.17 or 17%) if the
dice is unbiased. When the dice was thrown 1000 times (n=1000), the value 6 was
seen 200 times (k=200), in other words the number 6 was obtained in 20% of the time. Binomial test shows that the probability
of obtaining k=200 or more times for any number (number 6 in this case) in n=1000 throws, when the expected proportion
Pref=0.17, is Pbin = 0.03. Although this result is marginal, it was considered
statistically significant using the standard of p<0.05. The casino therefore concluded that the
dice was possibly biased, and disallowed its use.
Example 2
A dangerous operation on the heart is expected to have a mortality rate of 14%
(Pref=0.14). A new surgeon was appointed, and amongst his first 8 (n=8)
operations 5 patients died (k=5). In other words, his death rate in the first
8 operations was 62.5%.
When the issue was raised by the anaesthetists, the
surgeon replied that this should not be unexpected as the operation was known
to be dangerous and associated with a high mortality rate, and the number of cases
was too few for any conclusions to be drawn in any case.
The governance committee was not satisfied with this answer and sought
statistical clarification. The Binomial test produce a probability of
Pbin = 0.0021 in observing k>=5 deaths in n=8 cases, when the expected deaths rate
was 14% (Pref=0.14). A conclusion that the mortality rate was significantly higher
than that expected could therefore be drawn, and further investigations
warranted.
The R code for the Binomial Test is copied from the reference web page
https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/binom.test, the basic formular is
binom.test(x, n, p=0.5, alternative = c("two.sided", "less", "greater"), conf.level = 0.95)
Please note that
- x is the number of positives observed
- n is the sample size
- p is the reference or expected proportion of positives. If not stated, the default value is 0.5
- Alternatives are to detect the probability of x in n not being p. If not stated the default is two.sided
- confidence interval is the confidence interval of calculated probability x/n. If not stated, the default is 95% confidence interval (0.95)
Acepting the default 95% confidence interval, the three ways the formular can be used are as follows.
The data for demonstration is the first row in the Javascript program where the regerence proportion is 60% (0.6), and 55 positives found in 100 observations (x = 55, n = 100)
p = 0.6
n = 100
x = 55
The first option is to test the null hypothesis probability that 55 in 100 is significantly less than 60%
binom.test(x, n, p,alternative = "less")
The results are as follows
number of successes = 55, number of trials = 100, p-value = 0.1789
alternative hypothesis: true probability of success is less than 0.6
95 percent confidence interval: 0.0000000 0.6348377
sample estimates: probability of success 0.55
In the firrst line
p-value = 0.1789 means the probability of the null hypothesis that 55 in 100 is not less than 60% (0.6) is 0.1789
The second and third line indicates that 55 positives in 100 reprsents a 95% confidence of being less than 60& to be 0 to 0.6348
The last line merely reiterates 55/100 = 0.55
The second option is to test the null hypothesis probability that 55 in 100 is significantly greater than 60%
binom.test(x, n, p,alternative = "greater")
The results are as follows
number of successes = 55, number of trials = 100, p-value = 0.8689
alternative hypothesis: true probability of success is greater than 0.6
95 percent confidence interval: 0.4628896 1.0000000
sample estimates: probability of success 0.55
In the firrst line
p-value = 0.8689 means the probability of the null hypothesis that 55 in 100 is not greater than 60% (0.6) is 0.8689
The second and third line indicates that 55 positives in 100 reprsents a 95% confidence of being greater than 60% to be 0.4629 to 1
The last line merely reiterates 55/100 = 0.55
The third option is to test the null hypothesis probability that 55 in 100 is significantly not 60%
binom.test(x, n, p,alternative = "two.sided")
The results are as follows
number of successes = 55, number of trials = 100, p-value = 0.3092
alternative hypothesis: true probability of success is not equal to 0.6
95 percent confidence interval: 0.4472802 0.6496798
sample estimates: probability of success 0.55
In the firrst line
p-value = 0.3096 means the probability of the null hypothesis that 55 in 100 is not 60% (0.6) is 0.3092
The second and third line indicates that 55 positives in 100 reprsents a 95% confidence of the true proportion is 0.4472 to 0.6497
The last line merely reiterates 55/100 = 0.55