IQR 的无分布置信区间

机器算法验证 置信区间 非参数 四分位数
2022-04-19 09:53:51

我正在寻找一种方法来计算数值变量的四分位距 IQR 的置信区间。当然,它们可以通过引导程序找到,但我明确地在寻找一种不同的、仍然无分发的方式。由于 IQR 是分位数差异,因此该参考可能会朝着正确的方向发展。

伪算法(或 R/Python 代码)会是什么样子?

这是R中的“便宜”引导方式:

library(boot)
set.seed(1)
x <- rnorm(100)
S <- boot(x, function(x, ix) IQR(x[ix]), R = 10000)
boot.ci(S, type = "bca")

# BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
# Based on 10000 bootstrap replicates
# 
# CALL : 
#   boot.ci(boot.out = S, type = "bca")
# 
# Intervals : 
#   Level       BCa          
# 95%   ( 0.958,  1.448 )  
# Calculations and Intervals on Original Scale

是否有类似@whuber 在他的回答中使用的二项式方法?如何获得百分位数的置信区间?

1个回答

两个观察结果,可能会产生可接受的结果。

[编辑] 为了回答有关理论公式的问题,我从单个样本分位数开始,请参阅此处的演示文稿,它假设了解概率密度函数 (pdf)。此外,这项工作也为四分位距的期望值和方差的几个分布提供了精确的理论结果。

接下来,由于通常不知道 pdf,因此在实践中估计样本分位数的方差有几种可能的路径(例如,请参见此处的讨论,根据 2005 年的工作:' VARIANCE ESTIMATION FOR SAMPLE QUANTILES USING THE m Out OF n引导')。选一个。

其次,由于四分位距是从观察到的经验分布两侧同时抽取的样本计算的,我认为在分布的一侧随机具有更高(或更低)的观察值会相应地产生更低(或更高)的计数对面。换句话说,IQR 中各个分位数之间的抽样误差可能是负相关的。

所以保守地说,构成IQR的各个分位数之间的差异的方差最多是它们各自方差的总和(因为协方差项预计为负)。

现在,根据复合方差的平方根继续构造(并测试)IQR 的区间。