By Wingfeet
(This article was originally published at Wiekvoet, and syndicated at StatsBlogs.)
Since I read documents with Clopper-Pearson a number of times the last weeks, I thought it a good idea to play around with confidence intervals for proportions a bit; to examine how intervals differ between various approaches. From a frequentist side Clopper-Pearson, which is described as the frequentist’s gold standard and secondly the easy way normal approximation. From the Bayesian side, binomial with beta Beta prior. Obviously, the intervals have completely different interpretation in the frequentist and Bayesian framework, but that is a different discussion. There will be no data in this analysis, I am just making intervals based on possible results
Code
There are many ways to set this up. I wanted some plots. My first approach; given an observed proportion of ‘correct’, how does the total of trials change the intervals? The second approach; given that a certain number of trials is done, how do the intervals change as the number correct changes?
Since I want to repeat many of these calculations, I first made some supporting functions. This is because I am trying to write more clear code, where as much as possible code is not repeated but rather delegated to some sort of function. That may not result in the shortest or fastest code, but at this point neither is required.
Intervals
The first functions create the intervals from n (observed) and N (total). Clopper-Pearson is extracted from binom.test(). Normal approximation is based on an internet example. Beta-Binomial has three functions, one for the actual work, two to set up the desired priors and adapt the naming. A final function calls all these.
clopper.pearson
limits
names(limits)
limits
}
binom.norm.app
# based on http://www.r-tutor.com/elementary-statistics/interval-estimation/interval-estimate-population-proportion
phat
shat
limit
zlim …read more
Source:: statsblogs.com