背景: 我有一个样本,我想用重尾分布对其进行建模。我有一些极端值,因此观察值的分布相对较大。我的想法是用广义的帕累托分布对此进行建模,所以我已经这样做了。现在,我的经验数据(大约 100 个数据点)的 0.975 分位数低于我拟合数据的广义帕累托分布的 0.975 分位数。现在,我想,有没有办法检查这种差异是否值得担心?
我们知道分位数的渐近分布如下:
因此,我认为通过尝试绘制广义帕累托分布的 0.975 分位数周围的 95% 置信带来满足我的好奇心是一个好主意,其参数与我从拟合数据中得到的参数相同。
如您所见,我们在这里使用一些极端值。而且由于传播如此之大,密度函数的值非常小,使得置信带达到使用上述渐近正态性公式的方差:
所以,这没有任何意义。我有一个只有正结果的分布,置信区间包括负值。所以这里发生了一些事情。如果我计算 0.5 分位数周围的波段,波段并没有那么大,但仍然很大。
我继续看看这如何与另一个发行版一起使用,即分配。模拟来自 a 的观察分布,并检查分位数是否在置信区间内。我这样做了 10000 次,以查看置信区间内模拟观测值的 0.975/0.5 分位数的比例。
################################################
# Test at the 0.975 quantile
################################################
#normal(1,1)
#find 0.975 quantile
q_norm<-qnorm(0.975, mean=1, sd=1)
#find density value at 97.5 quantile:
f_norm<-dnorm(q_norm, mean=1, sd=1)
#confidence bands absolute value:
band=1.96*sqrt((0.975*0.025)/(100*(f_norm)^2))
u=q_norm+band
l=q_norm-band
hit<-1:10000
for(i in 1:10000){
d<-rnorm(n=100, mean=1, sd=1)
dq<-quantile(d, probs=0.975)
if(dq[[1]]>=l & dq[[1]]<=u) {hit[i]=1} else {hit[i]=0}
}
sum(hit)/10000
#################################################################3
# Test at the 0.5 quantile
#################################################################
#using lower quantile:
#normal(1,1)
#find 0.7 quantile
q_norm<-qnorm(0.7, mean=1, sd=1)
#find density value at 0.7 quantile:
f_norm<-dnorm(q_norm, mean=1, sd=1)
#confidence bands absolute value:
band=1.96*sqrt((0.7*0.3)/(100*(f_norm)^2))
u=q_norm+band
l=q_norm-band
hit<-1:10000
for(i in 1:10000){
d<-rnorm(n=100, mean=1, sd=1)
dq<-quantile(d, probs=0.7)
if(dq[[1]]>=l & dq[[1]]<=u) {hit[i]=1} else {hit[i]=0}
}
sum(hit)/10000
编辑:我修复了代码,两个分位数在n=100和. 如果我将标准偏差提高到,那么乐队内的热门歌曲很少。所以问题仍然存在。
EDIT2:正如一位乐于助人的绅士在评论中指出的那样,我撤回了我在上面第一个 EDIT 中所声称的内容。实际上,这些 CI 看起来适合正态分布。
如果要检查某个观察到的分位数在给定某个候选分布的情况下是否可能存在,那么顺序统计量的这种渐近正态性是否只是一种非常糟糕的度量?
直观地说,在我看来,分布的方差(人们认为它创建了数据,或者在我的 R 示例中,我们知道创建了数据)和观察次数之间存在关系。如果您有 1000 个观测值和巨大的方差,那么这些波段很糟糕。如果一个人有 1000 个观测值和一个小的方差,那么这些波段可能是有意义的。
有人愿意帮我解决这个问题吗?