中位数的置信区间

机器算法验证 r 置信区间 中位数
2022-01-18 13:50:33

我必须在中位数和其他百分位数上找到 95% 的 CI。我不知道如何处理这个问题。我主要使用 R 作为编程工具。

4个回答

这是经典 R 数据集的插图:

> x       = faithful$waiting
> bootmed = apply(matrix(sample(x, rep=TRUE, 10^4*length(x)), nrow=10^4), 1, median)
> quantile(bootmed, c(.025, 0.975))
2.5% 97.5% 
 73.5    77 

这给出了中位数的 (73.5, 77) 置信区间。

注意:更正的版本,感谢约翰。我,这导致了混乱!)103nrow

另一种方法是基于二项分布的分位数。
例如:

> x=faithful$waiting
> sort(x)[qbinom(c(.025,.975), length(x), 0.5)]
[1] 73 77

查看引导重采样。在 R 帮助中搜索引导功能。根据您的重采样数据,您可以估计几乎任何东西的置信区间。

还有其他方法:一种是基于 Wilcoxon 秩和检验,对一个样本进行连续性校正。在 R 中,这可以提供为:

wilcox.test(x,conf.level=0.95,alternative="two.sided",correct=TRUE)

还有这里讨论的中位数的 David Olive 的 CI:

中位数 CI