高校数学の質問スレ(医者・東大卒専用) Part438 (991レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

225: 2024/09/21(土)07:06 ID:cdm6DP8+(1)調 AAS
library(binom)
ci=binom.confint(324-300,324)
lu=unlist(ci[11,5:6])
LearnBayes::beta.select(list(p=0.025,x=lu[1]),list(p=0.975,x=lu[2]))
# 信頼区間からβ分布の形状係数を算出し代表値を返す
ci2ab=\(l,u,verbose=FALSE,cl=0.95){ # CI : [l,u], cl : confidence level
if(l==u) return(NA)
options(warn = -1)
HDI=\(InvCDF=qbeta,cred=0.95,...){
opt=optimize(\(p) InvCDF(p+cred,...) - InvCDF(p,...),c(0,1-cred))
lwr=InvCDF(opt$min,...)
upr=lwr+opt$obj
c(lwr,upr)
}
f=\(ab){
LU=HDI(qbeta,cred=cl,shape1=ab[1],shape2=ab[2])
(LU[1]-l)^2 + (LU[2]-u)^2
}
opt=optim(runif(2,1,100),f)
opt=optim(opt$par,f)
par=opt$par
lu=HDI(qbeta,cred=cl,shape1=par[1],shape2=par[2])
if(verbose){
mean=par[1]/sum(par)
median=qbeta(0.50,par[1],par[2])
mode=(par[1]-1)/(sum(par)-2)
cat('α =',round(par[1],2),' β =',round(par[2],2),'\n')
cat('mean =',round(mean,3),' median =',round(median,3))
if(par[1]>1 & par[2]>1) cat(' mode =',round(mode,3))
cat('\nlower =',round(lu[1],3),' upper =',round(lu[2],3),'\n') curve(dbeta(x,par[1],par[2]),type='h',col=2,n=250,bty='l',ann=FALSE,axes=FALSE)
axis(1)
}
options(warn = 0)
invisible(par)
}
ab=ci2ab(lu[1],lu[2])
k=1e5
p=rbeta(k,ab[1],ab[2])
# 検査陽性の事後確率
postp=\(p,s,t) p*s/ (1-t+p*(s+t-1)) # p:事前確率 s:感度 t:特異度
# 検査陰性の事後確率
postn=\(p,s,t) p*(s-1)/(-t+p*(s+t-1)) # p:事前確率 s:感度 t:特異度

# 尿素呼気試験(感度90-100% 特異度80-99%) 便中ピロリ菌抗原 (感度90-98% 特異度87-100%)
abs=ci2ab(0.90,1.00)
abt=ci2ab(0.80,0.99)
s=rbeta(k,abs[1],abs[2])
t=rbeta(k,abt[1],abt[2])
post1=postn(p,s,t)

abs=ci2ab(0.90,0.98)
abt=ci2ab(0.87,1.00)
s=rbeta(k,abs[1],abs[2])
t=rbeta(k,abt[1],abt[2])
post2=postn(post1,s,t)

1/mean(post2)
1/median(post2)
hist(post2,freq=FALSE,breaks='scott',ann=F,axes=F) ; axis(1)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.905s*