假设给你一个CI基于正态分布。有什么简单的方法可以找到和? 如果它来自伽马分布怎么办?我们可以在 R 中做到这一点吗?
如何在给定置信区间和正态分布或伽马分布的情况下计算 R 的均值和标准差?
请阅读答案末尾的勘误表。
首先请注意,没有足够的信息来解决这个问题。在这两种情况下,样本量缺失。在高斯分布的情况下,假设你知道,您可以按照@Michael Chernick 的说明轻松完成。在 R 中会给出这样的东西(用为了这个例子)。
n <- 43
ci <- c(1,6)
# Take the middle of the CI to get x_bar (3.5).
x_bar <- mean(ci)
# Use 1 = x_bar - 1.96 * sd/sqrt(n)
S2 <- n^2 * (x_bar - ci[1])/1.96
对于 Gamma 分布,情况有点复杂,因为它不是对称的。所以平均值不在 CI 的中心。
例如,假设您从 Gamma 总体中抽样在哪里是未知的。样本均值是变量分布为除以, 所以它是一个分布为的变量 . 假设我们观察到一个平均值对于样本量. 正如我们可以检查的那样,有几个 CI 包含此值。
> qgamma(.975, shape=1.7*5, scale=1/5)
[1] 3.019101
> qgamma(.975, shape=1.7*5, scale=1/5, lower.tail=F)
[1] 0.7564186
95% CI是, 中间是, 不是. 简而言之,找到和产生 95% CI 是可能的,因为解决方案是独一无二的,但它是一个 hack。
幸运的是,作为增加,分布变得越来越高斯和对称,因此 CI 将围绕均值对称。a 的均值和方差是和,因此您可以使用高斯情况的结果并求解这个非常简单的方程得到和.
勘误:在@whuber 的评论之后,我意识到建议的方法来获得置信区间不好。
上面给出的示例旨在证明使用 Gamma 变量获取 CI 比使用 Gaussian 变量更乏味。我的错误更好地证明了这一点。在@whuber 的提示下,我将表明我提出的 CI 不正确。
set.seed(123)
# Simulate 100,000 means of 5 Gaussian(0,1) variables (positive control).
means <- rnorm(100000, sd=1/sqrt(5))
upper <- means + qnorm(.975)/sqrt(5)
lower <- means - qnorm(.975)/sqrt(5)
mean((upper > 0) & (lower < 0))
[1] 0.95007 # OK.
# Simulate 100,000 means of 5 Gamma(1,1) variables.
means <- rgamma(100000, shape=5, scale=1/5)
upper <- qgamma(.975, shape=5*means, scale=1/5)
lower <- qgamma(.975, shape=5*means, scale=1/5, lower.tail=FALSE)
mean((upper > 1) & (lower < 1))
[1] 0.94666 # Almost, but not quite.
如果您指的是真实参数,那么答案当然是否定的。但是,如果您的意思是要从置信区间中恢复样本估计值,那么对于正态分布的答案是肯定的,如果样本量也给出了。
如果置信区间是, 然后和. 所以 接着或者.
对于 gamma 分布,本文展示了获取比率的近似和准确置信区间的各种方法。从这些置信区间获取参数估计可能很复杂。
您可以围绕任何可以估计的东西构建置信区间,无论是平均值、标准差,甚至是任何给定概率分布的最大值。
假设您有一个围绕从实验估计的平均值的 CI,其中有限样本大小取自独立的、同分布的随机正态变量,那么您知道确切的置信区间是由样本均值加上或减去标准误差的 1.96 倍给出的,标准误差是按样本大小的平方根缩放的样本标准偏差。. 您对这些参数的估计,通常标记为和是“总体均值”的“最佳猜测”和“标准差”.
无论独立样本的分布或均值的相应抽样分布如何,这些估计器也会估计相同的值。但是请注意,置信区间是渐近的,这些估计不一定是最好的。
如果给出的是正态分布的分位数(尽管与置信区间不同),那么问题的解决方案会减少以从分位数中找到分布参数。
对于我们想要找到的正态分布和使得随机变量满足:
随机变量具有相同的分布在哪里是标准正态随机变量和 cdf.
这意味着:
approx_sd <- function(x1, x2){
(x2-x1) / (qnorm(0.95) - qnorm(0.05) )
}
approx_sd(20, 40)
approx_mean <- function(x1, x2){
(x1*qnorm(0.95) - x2*qnorm(0.05)) / (qnorm(0.95) - qnorm(0.05) )
}
approx_mean(20, 40)
对于 gamma,解决方案更复杂,因为逆 CDF 没有封闭形式。但是,有一些工具和软件可以自动处理这个复杂的问题,例如 ParameterSolver 可从以下存储库下载https://biostatistics.mdanderson.org/SoftwareDownload/
尽管您的问题来自频率论置信区间,当然不是分位数,但文本可能表明读者可以找到这个问题,寻找分位数参数化分布,这是一个积极研究的主题。