R代码检查引导ChiSq中位数估计

问题描述 投票:1回答:1

我有一个功课问题是编写一个函数来引导它找到df = 2 Chisq分布中值的95%CI。我的函数似乎有效,但是从wiki我得到中位数的公式为k(1 - 2 / 9k)^ 3,对于k = 2,得到.343。我的函数的CI估计为(1.28,1.51)大分布,样本大小和模拟次数(100000)。所以理论上的答案不是那个区间的任何地方。有人能告诉我我的代码在哪里失败了吗?

ChisqMedian_CI <- function(chiN, nsim, sampleN){
y <- rchisq(n=chiN, df=2)
medy_resample <- NULL
for (i in 1:nsim) {
  y_resample <- sample(y, replace=TRUE, size=sampleN)
  medy_resample[i] <- median(y_resample)
}
  LB <- quantile(medy_resample, probs=c(0.025))
  UB <- quantile(medy_resample, probs=c(0.975))
  return(c(LB, UB))
}
r median montecarlo confidence-interval chi-squared
1个回答
0
投票

这里有两个问题:

  1. 卡方分布随机变量的中值约为k *(1-2 /(9k))^ 3。对于k = 2,这约为1.4。这与您的结果一致。
  2. 对于(标准)引导程序,引导程序样本始终与原始样本一样大。所以chiN没有必要,将被设置为sampleN
© www.soinside.com 2019 - 2024. All rights reserved.