オッズ比の信頼区間
オッズ比、見込み比(odds ratio)または交差積比(cross-product)
前提
比は分母が小さくなると、数値が大きくなりすぎて正規近似の精度が悪くなります.比の対数であれば高い精度で正規近似することが可能になります. したがって、比の対数を考えていくことになります.
xm <- matrix(c("a","b","c","d"), nrow=2, byrow=T) name <- list("暴露"=c("あり(A)","なし(B)"),"疾病"=c("あり","なし")) dimnames(xm)<-name xm 疾病 暴露 あり なし あり(A) "a" "b" なし(B) "c" "d"
オッズ比=
暴露なし(A群)が、暴露あり(B群)より疾病に罹患する可能性が大きいか、小さいかを表す尺度.
p'A, p'B が小さい場合には、リスク比と同じ値になります.
オッズ比の信頼区間
比の対数を考えていきます.
標本のオッズ比=標本オッズ比( )
母集団のオッズ比を母オッズ比()とします.
標本オッズ比の対数 、 母リスク比の対数
正規近似で信頼区間を求めていくためには、以下の式が必要になります.
したがって、以下の式が95%信頼区間を求める式になります
以下、 とします
より
デルタ法(delta method)によって近似的に求めたもの(参考webより)
#Rで95%信頼区間を求めてみます rr <- a*(c+d)/(a+b)/c # = (a/(a+b))/(c/(c+d)) exp(log(rr)+c(1, -1)*qnorm ( c(0.025,0.975) )*sqrt(b/a/(a+b)+d/c/(c+d))) 例) クロス表イメージ (x <- matrix(c(3, 5, 6, 8 ),2,byrow=T)) [,1] [,2] [1,] 3 5 [2,] 6 8 a<-3; b<-5; c<-6; d<-8 #参考webより ( or <- a*d/(b*c) ) #オッズ比 [1] 0.8 or*exp(qnorm ( c(0.025, 0.975) )*sqrt( 1/a + 1/b + 1/c + 1/d) ) [1] 0.1348801 4.7449559 #Rの関数を使えば瞬間で色々出力してくれます(やっぱり凄い) install.packages("Epi") library(Epi) twoby2(x) 2 by 2 table analysis: ------------------------------------------------------ Outcome : Col 1 Comparing : Row 1 vs. Row 2 Col 1 Col 2 P(Col 1) 95% conf. interval Row 1 3 5 0.3750 0.1254 0.7152 Row 2 6 8 0.4286 0.2065 0.6837 95% conf. interval Relative Risk: 0.8750 0.2972 2.5763 #リスク比と95%信頼区間 Sample Odds Ratio: 0.8000 0.1349 4.7450 #オッズ比と95%信頼区間 Conditional MLE Odds Ratio: 0.8081 0.0884 6.3780 #Fisherの正確検定によるオッズ比と95%信頼区間 Probability difference: -0.0536 -0.3956 0.3312 Exact P-value: 1 #Fisherの正確検定によるp値 Asymptotic P-value: 0.8059 #正規近似によるp値 ------------------------------------------------------
参考web1 統計学入門−第3章
参考web2 R による統計処理
参考文献)柳川 堯 ; 観察データの多変量解析―疫学データの因果分析,近代科学社 ,2016