두 평균의 비율에 대한 신뢰 구간에 대한 한계를 도출하려고합니다 .
가정 해보자 X 1 ~ N ( θ 1 , σ 2 ) 및 X 2 ~ N ( θ 2 , σ 2 )
독립적 인, 평균 비율 Γ = θ 1 / θ 2 . 나는 해결하려고 노력했다 :
Pr ( − z ( α / 2
하지만 방정식 많은 경우 (NO 루트)에 대해 해결 될 수 없었다. 내가 뭔가 잘못하고 있습니까? 더 나은 접근 방법이 있습니까? 감사
두 평균의 비율에 대한 신뢰 구간에 대한 한계를 도출하려고합니다 .
가정 해보자 X 1 ~ N ( θ 1 , σ 2 ) 및 X 2 ~ N ( θ 2 , σ 2 )
독립적 인, 평균 비율 Γ = θ 1 / θ 2 . 나는 해결하려고 노력했다 :
Pr ( − z ( α / 2
하지만 방정식 많은 경우 (NO 루트)에 대해 해결 될 수 없었다. 내가 뭔가 잘못하고 있습니까? 더 나은 접근 방법이 있습니까? 감사
답변:
Fieller의 방법은 원하는 것을 수행합니다. 두 가지 방법의 몫에 대한 신뢰 구간을 계산합니다. 둘 다 가우시안 분포에서 샘플링 된 것으로 가정합니다.
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
또한 Fieller의 신뢰 구간을 사용하지 않고 계산하려면 mratios
(일반적으로 간단한 lm 맞춤을 원하지 않지만 glmer 또는 glmer.nb fit FiellerRatioCI
과 같이) 모델의 모델 출력과 함께 다음 함수를 사용할 수 있습니다. 분자 매개 변수의 이름을 지정하고, denomiator 매개 변수의 이름을 지정하십시오. 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