你问了一个非常有趣的问题。正如您所说,关键问题是和的理论分布都是未知的。然而,如果它是已知的,就有可能推导出比率的方差,从而找到标准误差的样本估计值。XY
暂时假设两个随机变量都遵循已知分布。正如您所指出的,正态分布是一种可能性,因此根据中心极限理论,该比率是柯西分布的。我还认为解决任务的响应时间有时是由指数分布建模的。因此,也可以假设 rv和呈指数分布,并且它们的和是次指数的。XY
更一般地,和的比率是比率分布的。不幸的是,比率分布的一个已知问题是它们通常既没有现有的期望(均值)也没有方差。因此,均值的 se 往往不存在。柯西分布和两个指数变量的比率也是如此,其他比率分布也是如此。sum(X)sum(Y)
幸运的是,还有一些分布比率具有明确的均值和方差。在下文中,我将假设该比率的总体均值存在,并基于此假设构建一个示例。
在这种情况下,您仍然不知道您的 rv 在实践中的分布。获得平均值的一种选择是通过非参数引导,我将通过示例进行演示。
假设和分别遵循自由度为 1 和 5 的缩放卡方分布。那么比率是具有 1*n 和 5*n 自由度的 F 分布,其中 n 是求和 rv 的数量。在实践中,n 是样本大小。XYsum(X)/sum(Y)
n=10^3
df1=1
df2=5
X<-rchisq(n,df=df1)/(df1) #Scaled Chi-square distribution with df=df1
Y<-rchisq(n,df=df2)/(df2) #Scaled Chi-square distribution with df=df2
ratio<-sum(X)/sum(Y) # F-distributed with df1*n and df2*n degrees of freedom
您可以验证 F 分布的平均值是否已知。
ratio #sample mean of ratio
df2*n/(df2*n-2) #theoretical mean of ratio (mean of F-distribution with df1 and df2)
现在假设我们有一个来自同一分布n=10
n=10
df1=1
df2=5
X<-rchisq(n,df=df1)/(df1) #Scaled Chi-square distribution with df=df1
Y<-rchisq(n,df=df2)/(df2) #Scaled Chi-square distribution with df=df2
ratio_sample<-sum(X)/sum(Y) # F-distributed
df2*n/(df2*n-2) #theoretical mean of ratio (mean of F-distribution with df1 and df2)
引导程序从数据中替换样本。我将分别抽取 10,000 个大小为 10 的样本。我估计了自举分布的平均比率、方差和标准差。后者提供se。
boot=10^4
data<-data.frame(X,Y)
bootsamples<-numeric()
for(i in 1:boot){
temp <- data[sample(n,n,replace=T),]
bootsamples[i]<-sum(temp$X)/sum(temp$Y)
}
ratio_var<-var(bootsamples)
ratio_se<-sqrt(ratio_var)
ratio_mean<-mean(bootsamples)
总结结果,我们可以考虑基于正态理论的经典置信区间,但由于样本量小,这不是立即可取的。
c(ratio_mean-1.965*ratio_se,ratio_mean+1.965*ratio_se) #Classical 95% CI based on asymptotics
或者,您可以考虑比率的自举分布的 2.5 和 97.5 百分位数。
quantile(bootsamples,probs=c(.025,.975)) #Bootstrapped 95% CI
您可以再次验证自举置信区间是否覆盖了真实均值。
df2*n/(df2*n-2) #True mean
再次,我应该强调,只有在比率的期望及其方差存在的情况下,bootstrap 才会起作用,而这对于比率来说是不确定的。在这种情况下,您的比率的 se也不存在,问题也无法解决。avg