私はのための限界を導出したい二つの手段の比の信頼区間を。
仮定、および
独立している、平均比。解決しようとしました:
だが、その方程式は多くの場合解くことができなかった(根がない)。私は何か間違っていますか?より良いアプローチはありますか?ありがとう
私はのための限界を導出したい二つの手段の比の信頼区間を。
仮定、および
独立している、平均比。解決しようとしました:
だが、その方程式は多くの場合解くことができなかった(根がない)。私は何か間違っていますか?より良いアプローチはありますか?ありがとう
回答:
Fiellerの方法は、必要なことを行います。2つの平均の商の信頼区間を計算します。両方の平均は、ガウス分布からサンプリングされると想定されています。
元の引用は:Fieller EC:インスリンの生物学的標準化。JR Statist Soc 1940、7:1-64への補足。
Wikipediaの記事は、要約の良い仕事をしていません。
ここに私の直観的な生物統計学の初版からの数学を要約しているページがあります
Rには、mratios
関数を含むパッケージがありますt.test.ratio
。
Gemechis Dilba Djira、Mario Hasler、Daniel Gerhard、Frank Schaarschmidt(2011)。mratios:一般的な線形モデルの係数の比の推論。Rパッケージバージョン1.3.15。 http://CRAN.R-project.org/package=mratios
http://www.r-project.org/user-2006/Slides/DilbaEtAl.pdfも参照してください
また、Fiellerの信頼区間を使用mratios
せずに計算する場合(通常、単純なlmフィットは必要ないが、glmerまたはglmer.nbフィットなど)、FiellerRatioCI
モデルの出力をモデル化して、次の関数を使用できます。 anameは分子パラメーターの名前、bnameはデノミエーターパラメーターの名前です。また、FiellerRatioCI_basic関数a、b、およびaとbの間の共分散行列を直接使用することもできます。
ここでのアルファは0.05であり、コードの1.96に「ハードコード」されていることに注意してください。任意の生徒のレベルに置き換えることができます。
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