随机模拟
覆盖率:置信区间实际包含真实参数的概率
部分函数如下:
confp.sim1 <- function(n=30, p=0.3, gam=0.95, M=100){
lam <- qnorm((1+gam)/2) #分位数
hatp <- rbinom(M, n, p) / n #M个p的估计值
rad1 <- lam * sqrt(hatp*(1-hatp)) / sqrt(n) #λ*根号下p(1-p)
tildep <- 0.5*lam^2 / (n + lam^2) + n*hatp / (n + lam^2)
#上面是Wilson下p的估计
rad2 <- (lam / sqrt(n) * sqrt( hatp * (1 - hatp) + lam^2/(4*n))/(1 + lam^2/n))
cov1 <- mean(abs(p - hatp) <= rad1)# 判断p在区间里面的概率
ncov1 <- M*cov1
cov2 <- mean(abs(p - tildep) <= rad2)
ncov2 <- M*cov2
len1 <- 2*mean(rad1)
sd1 <- 2*sd(rad1)
len2 <- 2*mean(rad2)
sd2 <- 2*sd(rad2)
cov1
cov2
}