ECDF 的置信区间

机器算法验证 置信区间 序数数据
2022-03-17 02:33:24

Dvoretzky–Kiefer–Wolfowitz 不等式如下:

Pr(sup|F^n(x)F(x)|>ϵ)2exp(2nϵ2) ,

它预测经验确定的分布函数与从中抽取经验样本的分布函数的接近程度。使用这个不等式,我们能够在 (ECDF) 周围绘制置信区间 (CI)。但是这些 CI 在 ECDF 的每个点周围的距离都是相等的。F^n(x)

我想知道,是否有另一种方法可以围绕 ECDF 构建 CI?

阅读有序统计,我们发现有序统计的渐近分布如下:

来自超链接的公式

现在,首先,带有这些符号的 -index 是什么意思?np

主要问题:我们是否能够使用此结果与 delta 方法(见下文)一起为 ECDF 提供 CI。我的意思是,ECDF 是有序统计的函数,对吧?但同时 ECDF 是一个非参数函数,那么这是一条死胡同吗?

我们知道E(F^n(x))=F(x)Var(F^n(x))=F(x)(1F(x))n

我希望我清楚我在这里得到了什么,并感谢任何帮助。

编辑

Delta 方法:如果你有一个随机变量序列满足Xn

在此处输入图像描述,

是有限的,则满足以下条件:θσ2

在此处输入图像描述,

对于满足存在的性质的任何函数 g,它是非零值的,并且是多项式有界的随机变量(引用维基百科)g(θ)

1个回答

我看不到使用 delta 方法的方法,但是...

阅读关于经验分布函数的收敛性,我们读到中心极限定理给了我们:

n(F^n(x)F(x))N(0,F(x)(1F(x)))

我们可以使用它来围绕每个创建不同的 CIF^n(x)

F^n(x)±1.96F^n(x)(1F^n(x))n,

自从E(F^n(x))=F(x),F^n(x)是我们最好的估计F(x).

使用以下 R 代码:

#confidenc ebands calculation:
sim_norm<-rnorm(100)
plot(sim_norm)
hist(sim_norm)
sim_norm_sort<-sort(sim_norm)
n = sum(!is.na(sim_norm_sort))
plot(sim_norm_sort, (1:n)/n, type = 's', ylim = c(0, 1), 
     xlab = 'sample', ylab = '', main = 'Empirical Cumluative Distribution')

# Dvoretzky–Kiefer–Wolfowitz inequality:
# P ( sup|F_n - F| > epsilon  ) leq 2*exp(-2n*epsilon^2)
# set alpha to 0.05 and alpha=2*exp(-2n*epsilon^2):
# --> epsilon_n = sqrt(-log(0.5*0.05)/(2*n))
#
#lower and upper bands:
L<-1:n
U<-1:n


  epsilon_i = sqrt(log(2/0.05)/(2*n))

  L=pmax(1:n/n-epsilon_i, 0)
  U=pmin(1:n/n+epsilon_i, 1)
  lines(sim_norm_sort, U, col="blue")
  lines(sim_norm_sort, L, col="blue")

#using clt:
U2=(1:n/n)+1.96*sqrt( (1:n/n)*(1-1:n/n)/n )
L2=(1:n/n)-1.96*sqrt( (1:n/n)*(1-1:n/n)/n )
lines(sim_norm_sort, L2, col="red")
lines(sim_norm_sort, U2, col="red")

我们得到:

蓝色 = KWD 波段,红色 = CLT 波段

我们看到红色带(来自 CLT 方法)为我们提供了更窄的置信带。

编辑:正如@Kjetil B Halvorsen 指出的那样——这两种类型的乐队是不同的类型。我让@Glen_b 准确解释了他的意思:

非常不同种类的置信区间。使用逐点置信带,即使是从中提取数据的分布,您也会期望在带外有许多点。与同时乐队,你不会。如果您有 95% 的逐点带,则平均 5% 的正确分布点将在带之外。对于同时带,有 5% 的机会,最大偏差的点在外面。

非常感谢两者!