如何计算两个法线均值之比的置信区间


26

我想为两个均值之比得出置信区间的限制。 假设和 是独立的,平均比。我试图解决: 但在许多情况下(无根)无法求解该方程式。难道我做错了什么?有没有更好的方法?谢谢X 1Ñ θ 1σ 2X 2Ñ θ 2σ 2Γ = θ 1 / θ 2- Ž α / 2 X 1 - Γ X 2 / σ 100(1α)%
X1N(θ1,σ2)X2N(θ2,σ2)Γ=θ1/θ2

Pr(z(α/2))X1ΓX2/σ1+γ2z(α/2))=1α

1
问题是来自两个正态分布的两个数之比遵循柯西分布,因此方差不确定。

6
@mbq-Cauchy分布对于置信区间没有问题,因为CDF是反正切函数。不需要定义差异以使配置项起作用。并且两个平均值为零的正常RV的比率为柯西,但不一定是两个平均值为非零的正常RV的比率。
概率

@probabilityislogic当然,我必须在周日上午停止尝试思考。

Answers:


31

Fieller的方法可以满足您的要求-计算两个均值的商的置信区间,这两个均假设是从高斯分布中采样的。


这是很好的参考资料,我也喜欢您实际上为此制作了一个计算器(+1)。但是,正如预期的那样,您在计算器中清楚地指出,当分母的置信区间包括零时,就不可能计算商的CI。我认为尝试求解二次方程式时会发生相同的情况。假设方差为1,mu1 = 0且mu2 = 1,N = 10000。这是无法解决的。
francogrex 2011年

2
感谢在线计算器Harvey,我是一名典型的生物学家,统计学背景不足,您的计算器正是我所需要的。
Timtico 2012年

很棒的计算器-正是我想要的。谢谢
亚历山大

@ harvey-motulsky附录的链接不再起作用。我想知道这个附录的材料是否包含在第三版《直观生物统计学》中?
加百利南部

@GabrielSouthern感谢您指出链接腐烂。固定。
哈维·莫图尔斯基


1

另外,如果您不想使用不计算Fieller的置信区间mratios(通常是因为您不希望使用简单的lm拟合,而是希望使用glmer或glmer.nb拟合),则可以使用以下FiellerRatioCI函数,对模型的输出进行建模, aname分子参数的名称,bname分子参数的名称。您也可以直接使用FiellerRatioCI_basic函数,给出a,b以及a和b之间的协方差矩阵。

请注意,此处的alpha为0.05,并在代码中“硬编码”为1.96s。您可以将其替换为您喜欢的任何学生级别。

FiellerRatioCI <- function (x, ...) { # generic Biomass Equilibrium Level
    UseMethod("FiellerRatioCI", x)
}
FiellerRatioCI_basic <- function(a,b,V,alpha=0.05){
    theta <- a/b
    v11 <- V[1,1]
    v12 <- V[1,2]
    v22 <- V[2,2]

    z <- qnorm(1-alpha/2)
    g <- z*v22/b^2
    C <- sqrt(v11 - 2*theta*v12 + theta^2 * v22 - g*(v11-v12^2/v22))
    minS <- (1/(1-g))*(theta- g*v12/v22 - z/b * C)
    maxS <- (1/(1-g))*(theta- g*v12/v22 + z/b * C)
    return(c(ratio=theta,min=minS,max=maxS))
}
FiellerRatioCI.glmerMod <- function(model,aname,bname){
    V <- vcov(model)
    a<-as.numeric(unique(coef(model)$culture[aname]))
    b<-as.numeric(unique(coef(model)$culture[bname]))
    return(FiellerRatioCI_basic(a,b,V[c(aname,bname),c(aname,bname)]))
}
FiellerRatioCI.glm <- function(model,aname,bname){
    V <- vcov(model)
    a <- coef(model)[aname]
    b <- coef(model)[bname]
    return(FiellerRatioCI_basic(a,b,V[c(aname,bname),c(aname,bname)]))
}

示例(基于标准的glm基本示例):

 counts <- c(18,17,15,20,10,20,25,13,12)
 outcome <- gl(3,1,9)
 treatment <- gl(3,3)
 glm.D93 <- glm(counts ~ outcome + treatment, family = poisson())

 FiellerRatioCI(glm.D93,"outcome2","outcome3")
ratio.outcome2            min            max 
      1.550427      -2.226870      17.880574
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.