東大数学科卒の元官僚はこう分析してるが、お前らはどうなると思う?
http://www.zakzak.co.jp/soc/news/200220/dom2002200003-n2.html
中国国外感染者の中国国内との比率をみると、
1月20日の数字公表以降は、0・8〜2・6%で比較的安定している。
これは、新型肺炎の感染者のほとんどは中国国内、それも湖北省に集中しているからだ。
ちなみに中国国外での感染者数は、中国国内の1・1%だ(2月16日現在)。
本コラムで紹介したが、現時点では、最終的な中国国内の感染者数は20万人超と筆者は推計している。
となると、中国国外の感染者は数千人程度になるだろう。
中国国外のうち日本の比率は1割弱なので、日本の感染者数は数百人程度であろう。
その場合、死者も数人から10人程度になるだろう。
こうした推計をすると、今の感染者は氷山の一角だと思われるが、今後の増加ペースはどうなるだろうか。
新型コロナウイルスの検査は簡単に行えるので、今後、日本での感染者数は増えていくだろう。
ある時点ではそれがネズミ算的に増えるかのように思える局面もあるだろうが、
筆者の推計が正しければ、現時点ではせいぜい数百人が一つのメドだ。
数学 統計に詳しい人が語るコロナウイルス
■ このスレッドは過去ログ倉庫に格納されています
1132人目の素数さん
2020/02/29(土) 02:18:41.53ID:twdO677Q2020/03/23(月) 14:59:33.69ID:9TP9mpqz
>>95-96
疾病率=陽性率、すなわち無作為抽出ならその算段も成立するかもね。
現行の制度では推定される市中感染率が1/10000程度で陽性率が5%ほどらしいから現行制度下での検査はうまく行ってますね。
ただ感度+特異度が1.7位あるので検査数増やした方が有益である事は間違いがない。
疾病率=陽性率、すなわち無作為抽出ならその算段も成立するかもね。
現行の制度では推定される市中感染率が1/10000程度で陽性率が5%ほどらしいから現行制度下での検査はうまく行ってますね。
ただ感度+特異度が1.7位あるので検査数増やした方が有益である事は間違いがない。
2020/03/23(月) 19:12:11.99ID:O5lTfF0I
>>95
誤解や、誤解を引き起こしかねない内容があったので、勝手に補足させていただきます。
>>っちゅうことで、感度70%で特異度が100%なら検査陽性率の3割増し
>>が有病率だとみなせばよろしいんでしょ。
この場合、検査陽性率の期待値=有病率×感度 なのだから、1/(0.7)=1.4285...
3割増しではなく、4割強増しと言うべき。
>>一方、特異度が90%しかなかったりすると陽性率の期待値が10%も
>>水増しされちゃうから、有病率の推定が大幅に困難になる。
感度70、特異度100で、有病率 1%、0.1%、0.01%、0.001%の時、10万人に検査したときの
検査陽性者数は700,70,7,0.7人です。 有病率に比例して増減し、これらは、はっきり見極めできます。
一方、感度70、特異度90で、同じ事をすると、それぞれ、10600,10060,10006,10000.6人です。
有病率に応じて差はあるのですが、常に偽陽性が約10000人いて、誤差を考えると、見極めは困難です。
「陽性率の期待値が10%も水増しされちゃうから」と書かれていますが、これは、
検査対象者10万人に対する約10%=1万人が常に水増しされているのであって、
陽性と判定される人の数が10%水増しされていると誤解しないよう、補足しておきます。
誤解や、誤解を引き起こしかねない内容があったので、勝手に補足させていただきます。
>>っちゅうことで、感度70%で特異度が100%なら検査陽性率の3割増し
>>が有病率だとみなせばよろしいんでしょ。
この場合、検査陽性率の期待値=有病率×感度 なのだから、1/(0.7)=1.4285...
3割増しではなく、4割強増しと言うべき。
>>一方、特異度が90%しかなかったりすると陽性率の期待値が10%も
>>水増しされちゃうから、有病率の推定が大幅に困難になる。
感度70、特異度100で、有病率 1%、0.1%、0.01%、0.001%の時、10万人に検査したときの
検査陽性者数は700,70,7,0.7人です。 有病率に比例して増減し、これらは、はっきり見極めできます。
一方、感度70、特異度90で、同じ事をすると、それぞれ、10600,10060,10006,10000.6人です。
有病率に応じて差はあるのですが、常に偽陽性が約10000人いて、誤差を考えると、見極めは困難です。
「陽性率の期待値が10%も水増しされちゃうから」と書かれていますが、これは、
検査対象者10万人に対する約10%=1万人が常に水増しされているのであって、
陽性と判定される人の数が10%水増しされていると誤解しないよう、補足しておきます。
99132人目の素数さん
2020/03/24(火) 01:26:59.63ID:EUfp1x4d >>98
心配性だねw
3割が4割でもたいして変わらんがな。
陽性率の期待値が10%水増しってのも、期待値の10%じゃなくて、
期待値そのものが10%上昇するんだってことくらい、元の式見りゃ
自明だしね。
そもそも感度や特異度の具体的な数値はよくわかんないんだから、
具体的な数字にこだわってもしょうがない。
有病率が低いときの、有病率と陽性率と特異度の関係がわかれば
よろし。
心配性だねw
3割が4割でもたいして変わらんがな。
陽性率の期待値が10%水増しってのも、期待値の10%じゃなくて、
期待値そのものが10%上昇するんだってことくらい、元の式見りゃ
自明だしね。
そもそも感度や特異度の具体的な数値はよくわかんないんだから、
具体的な数字にこだわってもしょうがない。
有病率が低いときの、有病率と陽性率と特異度の関係がわかれば
よろし。
100132人目の素数さん
2020/03/24(火) 01:40:13.10ID:TnHQvRcs こういう計算が必要になる。
事前分布を選択する(例. 有病率は高々10%として(0.0.1]の一様分布とする)、
陽性確率は真陽性確率と偽陽性確率の和、
陽性数はこの確率で二項分布、
以上を実際に得られた検査数と陽性数から最尤値となるパラメータとして有病率の分布を出して期待値や信頼区間を出す。
手計算では無理。
事前分布を選択する(例. 有病率は高々10%として(0.0.1]の一様分布とする)、
陽性確率は真陽性確率と偽陽性確率の和、
陽性数はこの確率で二項分布、
以上を実際に得られた検査数と陽性数から最尤値となるパラメータとして有病率の分布を出して期待値や信頼区間を出す。
手計算では無理。
101132人目の素数さん
2020/03/24(火) 08:34:40.14ID:TnHQvRcs 感度0.7 特異度0.9でコンピュータに計算させると
陽性率が30%なら有病率の推測値は
> PCRj(100,30)
mean lower upper
0.3396123 0.1994400 0.4964517
> PCRj(1000,300)
mean lower upper
0.3343576 0.2876152 0.3832246
> PCRj(10000,3000)
mean lower upper
0.3333387 0.3186388 0.3481056
> PCRj(100000,30000)
mean lower upper
0.3332425 0.3286774 0.3380952
と 期待値も信頼区間もそれらしい値になるが、
陽性率が1%なら有病率の推測値は偽陽性が増えまくるので陽性率と有病率が乖離する、
> PCRs(100,1)
mean lower upper
0.01497496587 0.00004299248 0.04480331292
> PCRs(1000,10)
mean lower upper
0.001642898836 0.000001299175 0.004982795701
> PCRs(10000,100)
mean lower upper
0.000174692810 0.000000052897 0.000560041026
> PCRs(100000,1000)
mean lower upper
0.000016780530193 0.000000002738145 0.000051489256688
陽性率が60%なら、今度は偽陰性が増えまくるので偽陰性が増えまくるので陽性率と有病率が乖離する。
> PCRs(100,1)
> PCRs(100,60)
mean lower upper
0.8280581 0.6766480 0.9764282
> PCRs(1000,600)
mean lower upper
0.8335023 0.7826355 0.8825766
> PCRs(10000,6000)
mean lower upper
0.8334634 0.8187334 0.8492064
> PCRs(100000,60000)
mean lower upper
0.8332873 0.8289242 0.8379535
陽性率が30%なら有病率の推測値は
> PCRj(100,30)
mean lower upper
0.3396123 0.1994400 0.4964517
> PCRj(1000,300)
mean lower upper
0.3343576 0.2876152 0.3832246
> PCRj(10000,3000)
mean lower upper
0.3333387 0.3186388 0.3481056
> PCRj(100000,30000)
mean lower upper
0.3332425 0.3286774 0.3380952
と 期待値も信頼区間もそれらしい値になるが、
陽性率が1%なら有病率の推測値は偽陽性が増えまくるので陽性率と有病率が乖離する、
> PCRs(100,1)
mean lower upper
0.01497496587 0.00004299248 0.04480331292
> PCRs(1000,10)
mean lower upper
0.001642898836 0.000001299175 0.004982795701
> PCRs(10000,100)
mean lower upper
0.000174692810 0.000000052897 0.000560041026
> PCRs(100000,1000)
mean lower upper
0.000016780530193 0.000000002738145 0.000051489256688
陽性率が60%なら、今度は偽陰性が増えまくるので偽陰性が増えまくるので陽性率と有病率が乖離する。
> PCRs(100,1)
> PCRs(100,60)
mean lower upper
0.8280581 0.6766480 0.9764282
> PCRs(1000,600)
mean lower upper
0.8335023 0.7826355 0.8825766
> PCRs(10000,6000)
mean lower upper
0.8334634 0.8187334 0.8492064
> PCRs(100000,60000)
mean lower upper
0.8332873 0.8289242 0.8379535
102132人目の素数さん
2020/03/24(火) 08:42:02.80ID:TnHQvRcs Rとstanでベイズ統計ができるなら、以下のコードで実行可能。
パッケージ rstan と BEST(信頼区間グラフ描出用)が必要
library("BEST")
library("rstan")
rstan_options(auto_write = TRUE)
options(mc.cores = parallel::detectCores())
options(scipen = 5)
model.string='
data{
int n; // sample size
int x; // number of positive test
real<lower=0,upper=1> sen; // sensitivity 0.7
real<lower=0,upper=1> spc; // specificity 0.9
real<lower=0,upper=1> ul; // uniform(0,ul)
}
parameters{
real<lower=0,upper=1> prev; // prevalence
}
transformed parameters{
real<lower=0,upper=1> p;
p = prev*sen + (1-prev)*(1-spc) ; // probability of positive test result
}
model{
x ~ binomial(n,p);
prev ~ uniform(0,ul);
}
'
writeLines( model.string , con='model.stan' )
corona1.model=stan_model('model.stan')
# saveRDS(corona1.model,file='corona1.rds')
# corona1.model=readRDS('corona1.rds')
PCRs <- function(N=1000,X=10,UL=1,SEN=0.7,SPC=0.9,verbose=FALSE,...){
data = list(n=N,x=X,sen=SEN,spc=SPC,ul=UL)
fit.corona = sampling(corona1.model, data=data,
seed=1234,control=list(adapt_delta=0.99),...)
if(verbose) print(fit.corona, prob=c(0.025,0.5,0.975),pars=c('prev'),digits=8)
ms=rstan::extract(fit.corona)
BEST::plotPost(ms$prev,showMode = T,xlab='prevalence') ; lines(density(ms$prev),col='skyblue')
c(mean=mean(ms$prev),HDInterval::hdi(ms$prev)[1:2])
}
パッケージ rstan と BEST(信頼区間グラフ描出用)が必要
library("BEST")
library("rstan")
rstan_options(auto_write = TRUE)
options(mc.cores = parallel::detectCores())
options(scipen = 5)
model.string='
data{
int n; // sample size
int x; // number of positive test
real<lower=0,upper=1> sen; // sensitivity 0.7
real<lower=0,upper=1> spc; // specificity 0.9
real<lower=0,upper=1> ul; // uniform(0,ul)
}
parameters{
real<lower=0,upper=1> prev; // prevalence
}
transformed parameters{
real<lower=0,upper=1> p;
p = prev*sen + (1-prev)*(1-spc) ; // probability of positive test result
}
model{
x ~ binomial(n,p);
prev ~ uniform(0,ul);
}
'
writeLines( model.string , con='model.stan' )
corona1.model=stan_model('model.stan')
# saveRDS(corona1.model,file='corona1.rds')
# corona1.model=readRDS('corona1.rds')
PCRs <- function(N=1000,X=10,UL=1,SEN=0.7,SPC=0.9,verbose=FALSE,...){
data = list(n=N,x=X,sen=SEN,spc=SPC,ul=UL)
fit.corona = sampling(corona1.model, data=data,
seed=1234,control=list(adapt_delta=0.99),...)
if(verbose) print(fit.corona, prob=c(0.025,0.5,0.975),pars=c('prev'),digits=8)
ms=rstan::extract(fit.corona)
BEST::plotPost(ms$prev,showMode = T,xlab='prevalence') ; lines(density(ms$prev),col='skyblue')
c(mean=mean(ms$prev),HDInterval::hdi(ms$prev)[1:2])
}
103132人目の素数さん
2020/03/24(火) 08:46:15.46ID:TnHQvRcs104132人目の素数さん
2020/03/24(火) 08:51:43.98ID:TnHQvRcs105132人目の素数さん
2020/03/24(火) 10:27:48.81ID:TnHQvRcs >>104
1000人調べたときの検査陽性率と推定陽性率をグラフにしてみた。
灰色直線は検査陽性率=推定陽性率の直線
検査陽性率が低いときは過小評価、高いときは過大評価する。
https://i.imgur.com/wmOAj5i.png
1000人調べたときの検査陽性率と推定陽性率をグラフにしてみた。
灰色直線は検査陽性率=推定陽性率の直線
検査陽性率が低いときは過小評価、高いときは過大評価する。
https://i.imgur.com/wmOAj5i.png
106132人目の素数さん
2020/03/24(火) 10:29:17.05ID:mBslr8ul 何言ってんの?
市中感染率をいくらでも正しく推定できるかなんでしよ?
結論のために問題変えるなよ。
政治の話をここに持ち込むなよ。
市中感染率をいくらでも正しく推定できるかなんでしよ?
結論のために問題変えるなよ。
政治の話をここに持ち込むなよ。
107132人目の素数さん
2020/03/24(火) 10:52:19.38ID:EUfp1x4d >>104
上の言い分も一理あるし、東大生の言い分も一理あるw
特異度が90%を越える高い値だという前提があればこうなる。
1)検査陽性率が低く(数%以下)、特異度がほぼ100%でないの
なら、市中感染率を推定するのは難しい。とはいえ、上限は
(検査陽性率/感度)程度で抑えられる。つまり10%以下くらいの
ことは言えるが、0%かもしれない。
2)一方、検査陽性率が高ければ(数十%以上)、下限は検査
陽性率程度と見込めるが、市中感染率は感度に依存して大きく
変化する。つまり、数十%以上とは言えるが100%近いかどうか
までは不明。
ってことで、検査陽性率からある程度市中感染率の目安は立つが、
それがどこまで意味があるとみなせるかは疑問。TPO次第か。
上の言い分も一理あるし、東大生の言い分も一理あるw
特異度が90%を越える高い値だという前提があればこうなる。
1)検査陽性率が低く(数%以下)、特異度がほぼ100%でないの
なら、市中感染率を推定するのは難しい。とはいえ、上限は
(検査陽性率/感度)程度で抑えられる。つまり10%以下くらいの
ことは言えるが、0%かもしれない。
2)一方、検査陽性率が高ければ(数十%以上)、下限は検査
陽性率程度と見込めるが、市中感染率は感度に依存して大きく
変化する。つまり、数十%以上とは言えるが100%近いかどうか
までは不明。
ってことで、検査陽性率からある程度市中感染率の目安は立つが、
それがどこまで意味があるとみなせるかは疑問。TPO次第か。
108132人目の素数さん
2020/03/24(火) 10:58:55.14ID:EUfp1x4d あと、補足すると、感度と特異度が正確にわかっているのなら、
統計学的に市中感染率を推定することはある程度可能だけど、
実際はそうではないから、上様の言い分には意味がない。
統計学的に市中感染率を推定することはある程度可能だけど、
実際はそうではないから、上様の言い分には意味がない。
109132人目の素数さん
2020/03/24(火) 11:03:07.90ID:TnHQvRcs110132人目の素数さん
2020/03/24(火) 11:06:16.42ID:mBslr8ul だから自分の言いたい結論が先に決まっててそれに合わせて好き勝手に問題読み替えてるだけじゃん?
そんな考え方しかできないなら理系板に来んなよ。
そんな考え方しかできないなら理系板に来んなよ。
111132人目の素数さん
2020/03/24(火) 11:09:05.21ID:TnHQvRcs >>108
感度も特異度も定数でなく何らかの分布に従うパラメータとしてモデルを組めばいいだけの話だろ。
感度も特異度も定数でなく何らかの分布に従うパラメータとしてモデルを組めばいいだけの話だろ。
112132人目の素数さん
2020/03/24(火) 11:48:05.52ID:TnHQvRcs 感度が最頻値0.7 標準偏差0.05のベータ分布β(58.229, 25.527 )
特異度が最頻値0.9 標準偏差0.05のベータ分布β(36.172, 4.908)
に従うと過程して
model
{
x ~ dbin(p,n)
p <- prev*sen + (1-prev)*(1-spc)
sen ~ dbeta(sn[1],sn[2])
spc ~ dbeta(sp[1],sp[2])
prev ~ dunif(0,ul)
}
こういうモデルでMCMCすれば可能。
実行結果
> PCRj2(1000,10) # 陽性率1%で有病率を推定
mean lower upper
0.001667604624 0.000000053909 0.004956969423
> PCRj2(1000,300) # 陽性率30%で有病率を推定
0.33414 0.28797 0.38253
> PCRj2(1000,600) # 陽性率60%で有病率を推定
mean lower upper
0.83296 0.78428 0.88496
特異度が最頻値0.9 標準偏差0.05のベータ分布β(36.172, 4.908)
に従うと過程して
model
{
x ~ dbin(p,n)
p <- prev*sen + (1-prev)*(1-spc)
sen ~ dbeta(sn[1],sn[2])
spc ~ dbeta(sp[1],sp[2])
prev ~ dunif(0,ul)
}
こういうモデルでMCMCすれば可能。
実行結果
> PCRj2(1000,10) # 陽性率1%で有病率を推定
mean lower upper
0.001667604624 0.000000053909 0.004956969423
> PCRj2(1000,300) # 陽性率30%で有病率を推定
0.33414 0.28797 0.38253
> PCRj2(1000,600) # 陽性率60%で有病率を推定
mean lower upper
0.83296 0.78428 0.88496
113132人目の素数さん
2020/03/24(火) 11:56:18.35ID:TnHQvRcs β分布のパラメータを出すRスクリプト
# a,b to Mode,mean,variance
ab2Mmv<-function(a,b){
M<-(a-1)/(a+b-2)
m<-a/(a+b)
v<-a*b/((a+b)^2*(a+b+1))
cat('Mode =',M,'mean =',m,'variance =',v,'\n')
invisible(c(Mode=M,mean=m,variance=v))
}
# Mode,kappa to mean,variance
Mk2mvab= function( mode , kappa ) {
# if ( mode < 0 | mode > 1) stop("must have 0 <= mode <= 1")
# if ( kappa <2 ) stop("kappa must be >= 2 for mode parameterization")
a = mode * ( kappa - 2 ) + 1
b = ( 1.0 - mode ) * ( kappa - 2 ) + 1
m=a/(a+b)
v=m*(1-m)/(a+b+1)
return( c( mean=m , variance=v,a=a,b=b ) )
}
# Mode,variance to a,b
Mv2ab = function(mode,vari){
f=function(kappa) Mk2mvab(mode,kappa)[2] - vari
kappa=uniroot(f,c(2,10000))$root
ab=Mk2mvab(mode,kappa)[c('a','b')]
ab2Mmv(ab[1],ab[2])
return(ab)
}
(sn=Mv2ab(0.7,0.05^2))
curve(dbeta(x,sn[1],sn[2]),bty='l')
(sp=Mv2ab(0.9,0.05^2))
curve(dbeta(x,sp[1],sp[2]),bty='l')
# a,b to Mode,mean,variance
ab2Mmv<-function(a,b){
M<-(a-1)/(a+b-2)
m<-a/(a+b)
v<-a*b/((a+b)^2*(a+b+1))
cat('Mode =',M,'mean =',m,'variance =',v,'\n')
invisible(c(Mode=M,mean=m,variance=v))
}
# Mode,kappa to mean,variance
Mk2mvab= function( mode , kappa ) {
# if ( mode < 0 | mode > 1) stop("must have 0 <= mode <= 1")
# if ( kappa <2 ) stop("kappa must be >= 2 for mode parameterization")
a = mode * ( kappa - 2 ) + 1
b = ( 1.0 - mode ) * ( kappa - 2 ) + 1
m=a/(a+b)
v=m*(1-m)/(a+b+1)
return( c( mean=m , variance=v,a=a,b=b ) )
}
# Mode,variance to a,b
Mv2ab = function(mode,vari){
f=function(kappa) Mk2mvab(mode,kappa)[2] - vari
kappa=uniroot(f,c(2,10000))$root
ab=Mk2mvab(mode,kappa)[c('a','b')]
ab2Mmv(ab[1],ab[2])
return(ab)
}
(sn=Mv2ab(0.7,0.05^2))
curve(dbeta(x,sn[1],sn[2]),bty='l')
(sp=Mv2ab(0.9,0.05^2))
curve(dbeta(x,sp[1],sp[2]),bty='l')
114132人目の素数さん
2020/03/24(火) 11:57:10.20ID:TnHQvRcs 上記の準備をして以下で実行
PCRj2 <- function(
N,X,
UL=1,
SEN=0.7,
SPC=0.9,
SD=0.05,
print=TRUE){
# UL:upper limit of dunif(0,UL)
library(rjags)
library(BEST)
sn=Mv2ab(SEN,SD^2)
sp=Mv2ab(SPC,SD^2)
modelstring=paste0('
model
{
x ~ dbin(p,n)
p <- prev*sen + (1-prev)*(1-spc)
sen ~ dbeta(sn[1],sn[2])
spc ~ dbeta(sp[1],sp[2])
prev ~ dunif(0,ul)
}
')
writeLines(modelstring,'TEMPmodelj.txt')
dataList=list(n=N,x=X,ul=UL,sen=SEN,spc=SPC,sn=sn,sp=sp)
jagsModel = jags.model( file="TEMPmodelj.txt" ,data=dataList, quiet=TRUE)
update(jagsModel)
codaSamples = coda.samples( jagsModel ,
variable=c("prev","p","sen","spc"), n.iter=1e5, thin=5)
js=as.matrix(codaSamples)
if(print){
BEST::plotPost(js[,'prev'],xlab='prevalence',showMode = TRUE)
lines(density(js[,'prev']),col='skyblue')}
re=c(mean=mean(js[,'prev']),HDInterval::hdi(js[,'prev'])[1:2])
return(re)
}
options(digits = 5)
options(scipen = 5)
PCRj2(1000,10) # 陽性率1%で有病率を推定
PCRj2(1000,300) # 陽性率30%で有病率を推定
PCRj2(1000,600) # 陽性率60%で有病率を推定
PCRj2 <- function(
N,X,
UL=1,
SEN=0.7,
SPC=0.9,
SD=0.05,
print=TRUE){
# UL:upper limit of dunif(0,UL)
library(rjags)
library(BEST)
sn=Mv2ab(SEN,SD^2)
sp=Mv2ab(SPC,SD^2)
modelstring=paste0('
model
{
x ~ dbin(p,n)
p <- prev*sen + (1-prev)*(1-spc)
sen ~ dbeta(sn[1],sn[2])
spc ~ dbeta(sp[1],sp[2])
prev ~ dunif(0,ul)
}
')
writeLines(modelstring,'TEMPmodelj.txt')
dataList=list(n=N,x=X,ul=UL,sen=SEN,spc=SPC,sn=sn,sp=sp)
jagsModel = jags.model( file="TEMPmodelj.txt" ,data=dataList, quiet=TRUE)
update(jagsModel)
codaSamples = coda.samples( jagsModel ,
variable=c("prev","p","sen","spc"), n.iter=1e5, thin=5)
js=as.matrix(codaSamples)
if(print){
BEST::plotPost(js[,'prev'],xlab='prevalence',showMode = TRUE)
lines(density(js[,'prev']),col='skyblue')}
re=c(mean=mean(js[,'prev']),HDInterval::hdi(js[,'prev'])[1:2])
return(re)
}
options(digits = 5)
options(scipen = 5)
PCRj2(1000,10) # 陽性率1%で有病率を推定
PCRj2(1000,300) # 陽性率30%で有病率を推定
PCRj2(1000,600) # 陽性率60%で有病率を推定
115132人目の素数さん
2020/03/24(火) 13:15:20.95ID:/QqkwKRd >>99
期待値というのは、無次元量ではない。観測値とか物理量と同じように単位をつけて議論できる量。
従って「期待値が10%増える」等という言葉があれば、期待値が1.1倍になるのだろうと感じるのが普通。
そのような性質を持つ期待値に対し、「10%増える」と表現し、
「期待値の値そのものが、0.1増えることを意味している」
と説明しなければならないならば、やはり誤解を招きやすい表現だと思う。
今回の期待値は比率であり、無次元量であったから、「10%」と言うのが、
どちらの意味としても、通用したため発生したとは言えるが、読み手の立場に立った表現を望む。
似た議論に、選挙時の投票率がある。前回の投票率が40%。今回の投票率が50%だとする。
「前回に比べ、今回は10%増えました」
「前回に比べ、今回は25%増えました」
どちらも、言い得る表現。聞き手の混乱を避けるため、前者の意味で使う場合、
「10%ポイント増えました」とコメントするのを最近聞くようになった。
私にはよい傾向と感じるが、中には、違いは何かとか、混乱の源の存在さえ意識していない人もいるようだ。
「3割増も4割強増も大した差ではない」には、「式が違っても結果が誤差範囲なら問題ない」
という考えが背景に見える。そのような方が、混乱を引き起こしかねない表現を用いた。
だから、補足した。果たして本当に杞憂だったのだろうか?
期待値というのは、無次元量ではない。観測値とか物理量と同じように単位をつけて議論できる量。
従って「期待値が10%増える」等という言葉があれば、期待値が1.1倍になるのだろうと感じるのが普通。
そのような性質を持つ期待値に対し、「10%増える」と表現し、
「期待値の値そのものが、0.1増えることを意味している」
と説明しなければならないならば、やはり誤解を招きやすい表現だと思う。
今回の期待値は比率であり、無次元量であったから、「10%」と言うのが、
どちらの意味としても、通用したため発生したとは言えるが、読み手の立場に立った表現を望む。
似た議論に、選挙時の投票率がある。前回の投票率が40%。今回の投票率が50%だとする。
「前回に比べ、今回は10%増えました」
「前回に比べ、今回は25%増えました」
どちらも、言い得る表現。聞き手の混乱を避けるため、前者の意味で使う場合、
「10%ポイント増えました」とコメントするのを最近聞くようになった。
私にはよい傾向と感じるが、中には、違いは何かとか、混乱の源の存在さえ意識していない人もいるようだ。
「3割増も4割強増も大した差ではない」には、「式が違っても結果が誤差範囲なら問題ない」
という考えが背景に見える。そのような方が、混乱を引き起こしかねない表現を用いた。
だから、補足した。果たして本当に杞憂だったのだろうか?
116132人目の素数さん
2020/03/24(火) 14:42:23.61ID:TnHQvRcs 富山では62人PCR検査して陽性0人(3月22日までの集計)有病率を推定とその信頼区間を推定したい。
http://www.pref.toyama.jp/cms_pfile/00021629/01366377.pdf
PCR検査の感度は最頻値0.6標準偏差0.1、特異度は最頻値0.9標準偏差0.05のベータ分布(正規分布は負になったり1を超えるので不適)、
有病率は一様分布として、推定される有病率の期待値と95%を計算せよ。
図示するとこんな感じ。
https://i.imgur.com/Ip6gSCa.png
stanのモデルのスクリプトはこれ
sn,spはβ分布のパラメータ、その計算法は既述
data{
int n; // sample size
int x; // positive test result
real<lower=0,upper=1> ul; // uniform(0,ul)
real<lower=0> sn[2]; // sen ~ beta(sn[1],sn[2])
real<lower=0> sp[2]; // spc ~ beta(sp[1],sp[2])
}
parameters{
real<lower=0,upper=1> prev; // prevalence
real<lower=0,upper=1> sen; // sensitivity
real<lower=0,upper=1> spc; // specificity
}
transformed parameters{
real<lower=0,upper=1> p;
p = prev*sen + (1-prev)*(1-spc) ; // probability of positive test result
}
model{
x ~ binomial(n,p);
prev ~ uniform(0,ul);
sen ~ beta(sn[1],sn[2]);
spc ~ beta(sp[1],sp[2]);
}
http://www.pref.toyama.jp/cms_pfile/00021629/01366377.pdf
PCR検査の感度は最頻値0.6標準偏差0.1、特異度は最頻値0.9標準偏差0.05のベータ分布(正規分布は負になったり1を超えるので不適)、
有病率は一様分布として、推定される有病率の期待値と95%を計算せよ。
図示するとこんな感じ。
https://i.imgur.com/Ip6gSCa.png
stanのモデルのスクリプトはこれ
sn,spはβ分布のパラメータ、その計算法は既述
data{
int n; // sample size
int x; // positive test result
real<lower=0,upper=1> ul; // uniform(0,ul)
real<lower=0> sn[2]; // sen ~ beta(sn[1],sn[2])
real<lower=0> sp[2]; // spc ~ beta(sp[1],sp[2])
}
parameters{
real<lower=0,upper=1> prev; // prevalence
real<lower=0,upper=1> sen; // sensitivity
real<lower=0,upper=1> spc; // specificity
}
transformed parameters{
real<lower=0,upper=1> p;
p = prev*sen + (1-prev)*(1-spc) ; // probability of positive test result
}
model{
x ~ binomial(n,p);
prev ~ uniform(0,ul);
sen ~ beta(sn[1],sn[2]);
spc ~ beta(sp[1],sp[2]);
}
117132人目の素数さん
2020/03/24(火) 14:54:23.66ID:TnHQvRcs118132人目の素数さん
2020/03/24(火) 15:14:26.77ID:mBslr8ul >>117
感度、特異度の分布???
感度、特異度の分布???
119132人目の素数さん
2020/03/24(火) 15:56:48.73ID:TnHQvRcs120132人目の素数さん
2020/03/24(火) 16:10:56.76ID:TnHQvRcs PCR検査の感度は最頻値0.6標準偏差0.1、特異度は最頻値0.9標準偏差0.05のベータ分布を事前分布にしたけど、
事後分布はstanによるMCMCで
感度は期待値0.57 95%信頼区間は[0.37,0.77]
特異度は期待値0.96 95%信頼区間は[0.91,0.99]
とコンピュータが計算してくれる。
事後分布はstanによるMCMCで
感度は期待値0.57 95%信頼区間は[0.37,0.77]
特異度は期待値0.96 95%信頼区間は[0.91,0.99]
とコンピュータが計算してくれる。
121132人目の素数さん
2020/03/24(火) 17:38:05.18ID:TnHQvRcs122132人目の素数さん
2020/03/24(火) 17:43:56.34ID:TnHQvRcs123132人目の素数さん
2020/03/24(火) 18:10:37.68ID:EUfp1x4d >>122
結局事前分布の設定次第ってことはないの?
結局事前分布の設定次第ってことはないの?
124132人目の素数さん
2020/03/24(火) 18:45:58.22ID:TnHQvRcs125132人目の素数さん
2020/03/24(火) 19:08:27.01ID:TnHQvRcs >>123
感度を0.4-0.8の一様分布、特異度を0.8-1.0の一様分布にしても有病率の推定値は
> round(re$mci,5)
mean lower upper
0.02827 0.00000 0.08592
であまり変わらないね。
感度を0.4-0.8の一様分布、特異度を0.8-1.0の一様分布にしても有病率の推定値は
> round(re$mci,5)
mean lower upper
0.02827 0.00000 0.08592
であまり変わらないね。
126132人目の素数さん
2020/03/24(火) 19:20:40.16ID:TnHQvRcs sensitivity ~ N(m=0.6,sd=0.1) specificity ~ N(m=0.9, sd=0.05)
にしても推測有病率は平均3%弱で 95%CIは0-8%とあまり分布の形にはよらないね。
mean lower upper
0.026841384 0.000000153 0.081071379
確率だと定義域が0-1で計算しやすいのでβ分布を使うことが多い。
にしても推測有病率は平均3%弱で 95%CIは0-8%とあまり分布の形にはよらないね。
mean lower upper
0.026841384 0.000000153 0.081071379
確率だと定義域が0-1で計算しやすいのでβ分布を使うことが多い。
127132人目の素数さん
2020/03/24(火) 21:43:16.23ID:mBslr8ul128132人目の素数さん
2020/03/25(水) 05:45:40.01ID:jmNOx22O >>127
時代は頻度主義統計からベイズ統計だよ。
時代は頻度主義統計からベイズ統計だよ。
129132人目の素数さん
2020/03/25(水) 06:04:40.04ID:jmNOx22O 頻度主義統計でも最尤推定では
データを固定してパラメータを動かすだろ。
データを固定してパラメータを動かすだろ。
130132人目の素数さん
2020/03/25(水) 06:30:36.54ID:jmNOx22O131132人目の素数さん
2020/03/25(水) 07:18:32.84ID:yWXBkNWD132132人目の素数さん
2020/03/25(水) 07:23:50.96ID:r1V62jxn まちがえた。
確率の平均がまた確率変数になるってどういうことよ、ね。
式でかけば確率変数Xの平均E(X)の分散ってなんの話ってことになる。
確率変数Xはある標本空間上の関数だけどE(X)は実数だよ?
確率の平均がまた確率変数になるってどういうことよ、ね。
式でかけば確率変数Xの平均E(X)の分散ってなんの話ってことになる。
確率変数Xはある標本空間上の関数だけどE(X)は実数だよ?
133132人目の素数さん
2020/03/25(水) 09:57:10.53ID:2o27M3ww134132人目の素数さん
2020/03/25(水) 10:06:13.52ID:2o27M3ww >>131
ベータ分布は定義域が[0,1]で二項分布の確率の確率密度関数としてベイズ階層モデルでは頻用されるよ。
ベイズ階層モデルを使わずにこの計算できるならやってみてくれ。
020/3/24 11:00時点で検査人数での陽性率は171/2013であるという。
新型コロナ肺炎のPCR検査の感度は5〜7割、特異度は9割前後らしい。幅をもたせた値を使って検査をうけたグループの有病率を計算せよ。
ベータ分布は定義域が[0,1]で二項分布の確率の確率密度関数としてベイズ階層モデルでは頻用されるよ。
ベイズ階層モデルを使わずにこの計算できるならやってみてくれ。
020/3/24 11:00時点で検査人数での陽性率は171/2013であるという。
新型コロナ肺炎のPCR検査の感度は5〜7割、特異度は9割前後らしい。幅をもたせた値を使って検査をうけたグループの有病率を計算せよ。
135132人目の素数さん
2020/03/25(水) 11:27:50.71ID:82yASlvk >>133
まぁ言わんとする事はもちろんわかるし伝わるけど、疫学だから数学やってる人間がなんとなく伝わるではダメだろ?
数学だけの話ではなく、疫学は実社会とキチンと繋がってるんだから?
統計学ではあくまで検定する母数は定数。
それは確率モデルでは実数値であり、定数。
そして統計データを確率変数に割り当てる。
当然それらの確率変数は一つの測度空間の一つしかない確率変数であり、平均も分散もひとつしかない定数値。
それらをいっぱい考えてどうこう言ってるんだろうとは思うけどそんなの統計学や疫学の一般的な考えにはない。
何故なら現実世界はひとつしかなく、確率変数に対応している統計量も一個しかない。
もちろん母数がめちゃめちゃ大きい統計量で例えば10000個のデータを100こずつ切って100個の統計量を100の世界からとってきたなんて考えが無理クリできなくはないが、そんな考え方は普通しない。
それはあくまで100個ずつに区切られた10000個の一つの世界の確率変数としか扱わない。
そういうオリジナルな考えで捉えたいならそれは勝手だけど、それならそれで話の中で明示しないとダメ。
数学の世界なら言わずもがなの話は言わなくてもエスパーしてもらえても、疫学、統計学の世界では実社会とつながる話だからダメ。
まぁ言わんとする事はもちろんわかるし伝わるけど、疫学だから数学やってる人間がなんとなく伝わるではダメだろ?
数学だけの話ではなく、疫学は実社会とキチンと繋がってるんだから?
統計学ではあくまで検定する母数は定数。
それは確率モデルでは実数値であり、定数。
そして統計データを確率変数に割り当てる。
当然それらの確率変数は一つの測度空間の一つしかない確率変数であり、平均も分散もひとつしかない定数値。
それらをいっぱい考えてどうこう言ってるんだろうとは思うけどそんなの統計学や疫学の一般的な考えにはない。
何故なら現実世界はひとつしかなく、確率変数に対応している統計量も一個しかない。
もちろん母数がめちゃめちゃ大きい統計量で例えば10000個のデータを100こずつ切って100個の統計量を100の世界からとってきたなんて考えが無理クリできなくはないが、そんな考え方は普通しない。
それはあくまで100個ずつに区切られた10000個の一つの世界の確率変数としか扱わない。
そういうオリジナルな考えで捉えたいならそれは勝手だけど、それならそれで話の中で明示しないとダメ。
数学の世界なら言わずもがなの話は言わなくてもエスパーしてもらえても、疫学、統計学の世界では実社会とつながる話だからダメ。
136132人目の素数さん
2020/03/25(水) 12:30:50.29ID:jmNOx22O >>135
能書きいいから、
ベイズ階層モデルを使わずにこの計算できるならやってみてくれ。
020/3/24 11:00時点で検査人数での陽性率は171/2013であるという。
新型コロナ肺炎のPCR検査の感度は5〜7割、特異度は9割前後らしい。幅をもたせた値を使って検査をうけたグループの有病率を計算せよ。
能書きいいから、
ベイズ階層モデルを使わずにこの計算できるならやってみてくれ。
020/3/24 11:00時点で検査人数での陽性率は171/2013であるという。
新型コロナ肺炎のPCR検査の感度は5〜7割、特異度は9割前後らしい。幅をもたせた値を使って検査をうけたグループの有病率を計算せよ。
137132人目の素数さん
2020/03/25(水) 12:39:07.64ID:jmNOx22O138132人目の素数さん
2020/03/25(水) 14:59:13.04ID:jmNOx22O 検査感度が5-7割、特異度が9割前後なら
検査陽性率=有病率とすると常に過大評価かどうか気になったので陽性数を変化させて計算してみた。
検査感度はmode=0.6,sd=0.1 特異度はmode=0.9,sd=0.05のベータ分布に設定してJAGSでベイズ階層モデルをたてて計算。
https://i.imgur.com/zTdxRrb.png
陽性率が20%未満のときは過大評価、それ以上のときは過小評価である、という結論になった。
ベイズ統計を理解できている人の検証希望。
検査陽性率=有病率とすると常に過大評価かどうか気になったので陽性数を変化させて計算してみた。
検査感度はmode=0.6,sd=0.1 特異度はmode=0.9,sd=0.05のベータ分布に設定してJAGSでベイズ階層モデルをたてて計算。
https://i.imgur.com/zTdxRrb.png
陽性率が20%未満のときは過大評価、それ以上のときは過小評価である、という結論になった。
ベイズ統計を理解できている人の検証希望。
139132人目の素数さん
2020/03/25(水) 17:30:41.30ID:jmNOx22O >>138
プログラムの練習がてらに、
MCMCのアルゴリズムの異なるstanでベイズ階層モデルを組んで検証。
当然ながら、同様の結果。 検査陽性率が20%を境に過大評価と過小評価が入れ替わる。
https://i.imgur.com/ItSNWdD.png
プログラムの練習がてらに、
MCMCのアルゴリズムの異なるstanでベイズ階層モデルを組んで検証。
当然ながら、同様の結果。 検査陽性率が20%を境に過大評価と過小評価が入れ替わる。
https://i.imgur.com/ItSNWdD.png
140132人目の素数さん
2020/03/25(水) 21:21:08.00ID:jmNOx22O141132人目の素数さん
2020/03/25(水) 21:33:22.10ID:jmNOx22O142132人目の素数さん
2020/03/26(木) 16:25:58.88ID:+rQz06p5 >>140
89は検査数で検査人数は74という。
計算し直すと
> PCRj2(N,r,SEN=0.6,SD1=0.1,SPC=0.9,SD2=0.05,N.ITER=5e5)
|**************************************************| 100%
mean lower upper
0.05720165 0.00000015 0.1332385
89は検査数で検査人数は74という。
計算し直すと
> PCRj2(N,r,SEN=0.6,SD1=0.1,SPC=0.9,SD2=0.05,N.ITER=5e5)
|**************************************************| 100%
mean lower upper
0.05720165 0.00000015 0.1332385
143132人目の素数さん
2020/03/26(木) 16:34:28.45ID:+rQz06p5 41/74の推測有病率は
mean lower upper
0.8121975 0.5957315 0.9999992
mean lower upper
0.8121975 0.5957315 0.9999992
144132人目の素数さん
2020/03/27(金) 11:07:27.81ID:sdGiAEI7 オリンピック延期発表後の検査陽性率は88/169で52%だが、
PCR検査の感度と特異度がはっきりしないので、検査陽性率をこの集団の有病率とするのは正しくない。
88/169のときの感度・特異度と推定有病率の関係をグラフにしてみた。
https://i.imgur.com/iQC88tZ.png
感度0.6、特異度0.9のときの推定有病率は85%で陽性率からの憶測は過小評価といえる。
PCR検査の感度と特異度がはっきりしないので、検査陽性率をこの集団の有病率とするのは正しくない。
88/169のときの感度・特異度と推定有病率の関係をグラフにしてみた。
https://i.imgur.com/iQC88tZ.png
感度0.6、特異度0.9のときの推定有病率は85%で陽性率からの憶測は過小評価といえる。
145132人目の素数さん
2020/03/27(金) 18:36:04.97ID:8rq7DP6B 検査陽性率が小さいときには、実際の有病率より過大評価してるし、
検査陽性率が高いときは、過小評価してるだろうってことでしょ。
そのくらいは定性的に理解できる。
検査陽性率が高いときは、過小評価してるだろうってことでしょ。
そのくらいは定性的に理解できる。
146132人目の素数さん
2020/03/27(金) 20:59:08.67ID:sdGiAEI7 >>145
どこが境目かは直感じゃわからんね。
どこが境目かは直感じゃわからんね。
147132人目の素数さん
2020/03/27(金) 22:15:19.84ID:8rq7DP6B そりゃ感度や特異度次第だからな。
まあ、数%と数十%では違うんだということがわかればいいんじゃね?
境目なんかどうでもいいでしょ。
まあ、数%と数十%では違うんだということがわかればいいんじゃね?
境目なんかどうでもいいでしょ。
148132人目の素数さん
2020/03/27(金) 22:22:39.69ID:sdGiAEI7 陽性率が15%でこれを有病率の推測値に使うのは過大評価なのか過小評価がわからんのはまずいね。
149132人目の素数さん
2020/03/27(金) 23:24:27.15ID:sdGiAEI7 オリンピック延期決定以後の検査数と陽性数
subjects=c(74,95,87)
positives=c(41,47,40)
PCRs3(subjects,positives,iter=10000,warmup=1000)
として、
感度・特異度を考慮した推定有病率は
mean lower upper
0.77417 0.56756 0.99944
>
日々の陽性数が二項分布に従うとして計算。
subjects=c(74,95,87)
positives=c(41,47,40)
PCRs3(subjects,positives,iter=10000,warmup=1000)
として、
感度・特異度を考慮した推定有病率は
mean lower upper
0.77417 0.56756 0.99944
>
日々の陽性数が二項分布に従うとして計算。
150132人目の素数さん
2020/03/28(土) 03:24:30.89ID:NK6wIjWT 志村けんみたいな有名人がコロナに感染してることから日本全体のコロナ感染者数を推定してみる。
まず、日本の有名人が1000人いるとしよう。
つぎに、日本でコロナに感染していない確率をxとしよう。
すると、有名人1000人が一人も感染していない確率は、xの1000乗となる。これをyとおこう。すると、有名人が一人でも感染している確率は(1-y)となる、これをzとおこう。
まとめると以下の関係がなりたつ。
・コロナに感染しない確率:x
・有名人が一人もコロナに感染しない確率:y=x^1000
・有名人が一人でもコロナに感染している確率:z = 1-y
まず、日本の有名人が1000人いるとしよう。
つぎに、日本でコロナに感染していない確率をxとしよう。
すると、有名人1000人が一人も感染していない確率は、xの1000乗となる。これをyとおこう。すると、有名人が一人でも感染している確率は(1-y)となる、これをzとおこう。
まとめると以下の関係がなりたつ。
・コロナに感染しない確率:x
・有名人が一人もコロナに感染しない確率:y=x^1000
・有名人が一人でもコロナに感染している確率:z = 1-y
151132人目の素数さん
2020/03/28(土) 03:25:09.78ID:NK6wIjWT 志村は感染したわけなので、以下、2つのケースにわける
ケース1: zが10%のとき
z=0.1, 故にy = 1-0.1=0.9
故にx = y^0.001よりx=0.9^0.001=0.999894
これがコロナに感染していない確率なので、
コロナ感染確率は、1-0.999894=0.000106
よって日本のコロナ感染者数は推定
120,000,000*0.000106=12,720人
ケース2:zが50%のとき
ケース1と同様の計算で、
日本のコロナ感染者数は推定
120,000,000*0.000693=83,160人
ケース1: zが10%のとき
z=0.1, 故にy = 1-0.1=0.9
故にx = y^0.001よりx=0.9^0.001=0.999894
これがコロナに感染していない確率なので、
コロナ感染確率は、1-0.999894=0.000106
よって日本のコロナ感染者数は推定
120,000,000*0.000106=12,720人
ケース2:zが50%のとき
ケース1と同様の計算で、
日本のコロナ感染者数は推定
120,000,000*0.000693=83,160人
152132人目の素数さん
2020/03/28(土) 09:37:19.12ID:uwBdnirU 検査が少ないから感染者増が緩やか?数学的に検証してみた
http://agora-web.jp/archives/2045047.html
主な関係国について、新型コロナ感染者数の片対数グラフがある。
http://agora-web.jp/cms/wp-content/uploads/2020/03/WS000876.jpg
FT.comより
感染者数の伸びが日本は緩やかと解釈するのが普通だが、検査が少ないからとする解釈もある。本当はどうなのか計算してみる。
結論を先に書くと、検査が多いか少ないかは関係ない。
http://agora-web.jp/archives/2045047.html
主な関係国について、新型コロナ感染者数の片対数グラフがある。
http://agora-web.jp/cms/wp-content/uploads/2020/03/WS000876.jpg
FT.comより
感染者数の伸びが日本は緩やかと解釈するのが普通だが、検査が少ないからとする解釈もある。本当はどうなのか計算してみる。
結論を先に書くと、検査が多いか少ないかは関係ない。
153132人目の素数さん
2020/03/28(土) 09:40:23.67ID:QZo3p56d 対数をとると係数(感染者の発見率)は定数項になり、今回の片対数グラフの整理法の前提としてキャンセルされる
日本が展開しているのは患者認定の精度上昇であり、医療リソースの効果を最大化して死者数を低く抑えている要因の一つといえる
日本が展開しているのは患者認定の精度上昇であり、医療リソースの効果を最大化して死者数を低く抑えている要因の一つといえる
154132人目の素数さん
2020/03/28(土) 10:39:35.99ID:BJlezchp キャバクラ客100人から無作為に5人から検体を採取してこの検体を混合攪拌してコロナ検査したところ陽性であった。
(1)100人のキャバクラ客の陽性数の期待値と95%信頼区間を求めよ。
(2)PCR検査の感度0.6、特異度0.9として100人のキャバクラ客の感染数の期待値と95%信頼区間を求めよ。
(1)100人のキャバクラ客の陽性数の期待値と95%信頼区間を求めよ。
(2)PCR検査の感度0.6、特異度0.9として100人のキャバクラ客の感染数の期待値と95%信頼区間を求めよ。
155132人目の素数さん
2020/03/28(土) 11:58:45.95ID:BJlezchp >>151
> m=1000 # 有名人の人数
> n=1.268e5 # 日本の人口
> x=0:n # 感染者数:x, 非感染数:n-x
> pmf=1- chooseZ(n-x,m)/chooseZ(n,m) # 1 - (m人全員非感染の確率)
> pdf=pmf/sum(pmf) # 確率密度関数化して
> (E=sum(x*pdf)) # 期待値を計算
Big Rational ('bigq') :
[1] 63590201/1002
> as.numeric(E)
[1] 63463.27
6万3000人と計算された。
> m=1000 # 有名人の人数
> n=1.268e5 # 日本の人口
> x=0:n # 感染者数:x, 非感染数:n-x
> pmf=1- chooseZ(n-x,m)/chooseZ(n,m) # 1 - (m人全員非感染の確率)
> pdf=pmf/sum(pmf) # 確率密度関数化して
> (E=sum(x*pdf)) # 期待値を計算
Big Rational ('bigq') :
[1] 63590201/1002
> as.numeric(E)
[1] 63463.27
6万3000人と計算された。
156132人目の素数さん
2020/03/28(土) 12:46:07.99ID:NK6wIjWT157132人目の素数さん
2020/03/28(土) 15:42:06.57ID:BJlezchp >>156
n(=10)人の中にi人の感染者がいるとき無作為にm(=2)人を選ぶ。
選ばれた2人の中に少なくとも一人の感染者がいる確率をP[x]として、
n個からr個選ぶ組み合わせの数をChoose(n,r)で表すと
P[xi]=1- choose(10-x,2)/choose(10,2)
xを0から10まで変化させて、
Σx*P[x]/(ΣP[x])で
期待値が求まる。
n(=10)人の中にi人の感染者がいるとき無作為にm(=2)人を選ぶ。
選ばれた2人の中に少なくとも一人の感染者がいる確率をP[x]として、
n個からr個選ぶ組み合わせの数をChoose(n,r)で表すと
P[xi]=1- choose(10-x,2)/choose(10,2)
xを0から10まで変化させて、
Σx*P[x]/(ΣP[x])で
期待値が求まる。
158132人目の素数さん
2020/03/28(土) 15:42:43.27ID:BJlezchp タイプミス修正
P[x]=1- choose(10-x,2)/choose(10,2)
P[x]=1- choose(10-x,2)/choose(10,2)
159132人目の素数さん
2020/03/28(土) 16:07:51.35ID:qsSYTF8t 何このアホスレ?
160132人目の素数さん
2020/03/28(土) 16:53:08.32ID:BJlezchp 有名人の数を増やしてみても同様の結果になった。
> # 有名人が感染
> library(gmp)
> m=18200 # 有名人の数(桜を見る会参加人数)
> n=1.268e5 # 日本の人口
> x=0:n # 感染者数:x, 非感染数:n-x
> pmf=1- chooseZ(n-x,m)/chooseZ(n,m) # 1 - (m人全員非感染の確率)
> pdf=pmf/sum(pmf) # 確率密度関数化して
> (E=sum(x*pdf)) # 期待値を計算
Big Rational ('bigq') :
[1] 1154070201/18202
> as.numeric(E) # E=63463.27 (m=1000) , E=1154070201/18202=63403.48(m=1.268e5)
[1] 63403.48
> # 有名人が感染
> library(gmp)
> m=18200 # 有名人の数(桜を見る会参加人数)
> n=1.268e5 # 日本の人口
> x=0:n # 感染者数:x, 非感染数:n-x
> pmf=1- chooseZ(n-x,m)/chooseZ(n,m) # 1 - (m人全員非感染の確率)
> pdf=pmf/sum(pmf) # 確率密度関数化して
> (E=sum(x*pdf)) # 期待値を計算
Big Rational ('bigq') :
[1] 1154070201/18202
> as.numeric(E) # E=63463.27 (m=1000) , E=1154070201/18202=63403.48(m=1.268e5)
[1] 63403.48
161132人目の素数さん
2020/03/28(土) 19:42:56.69ID:NK6wIjWT >>160
なんだってー。直感に反するな
なんだってー。直感に反するな
162132人目の素数さん
2020/03/29(日) 09:23:06.20ID:WogCQeQk >>161
総人口100人として有名人の数を1〜100人まで変化させて、有名人に感染者がいたときの100人中の感染者の数をグラフにすると
https://i.imgur.com/SMFnNNl.png
有名人の数を変化さえても期待値にさほどの変化はない。
総人口100人として有名人の数を1〜100人まで変化させて、有名人に感染者がいたときの100人中の感染者の数をグラフにすると
https://i.imgur.com/SMFnNNl.png
有名人の数を変化さえても期待値にさほどの変化はない。
163132人目の素数さん
2020/03/29(日) 10:18:20.74ID:2PsxdXJm164132人目の素数さん
2020/03/29(日) 10:39:47.55ID:WogCQeQk Ax: x人の感染者がいる(x=0〜n)という事象
B:最低一人の感染陽性判定という事象
Pr[Ax|B]=Pr[B|Ax]Pr[Ax]/Pr[B]
Pr[Ax]:事前確率
Pr[B|Ax]:尤度
Pr[B]:周辺尤度(規格化定数)
求めたい期待値Eは
Σ(x*Pr[Ax|B])/ΣPr[Ax|B] = Σ(x*Pr[B|Ax]Pr[Ax])/Σ(Pr[B|Ax]Pr[Ax])
Pr[Ax]がxにかかわらず定数であれば
E=Σ(x*Pr[B|Ax])/Σ(Pr[B|Ax])
事前確率分布を一様分布と仮定しての計算
つまり、感染者が1人の確率も50人の確率も100人の確率,....も一定という前提での計算。
B:最低一人の感染陽性判定という事象
Pr[Ax|B]=Pr[B|Ax]Pr[Ax]/Pr[B]
Pr[Ax]:事前確率
Pr[B|Ax]:尤度
Pr[B]:周辺尤度(規格化定数)
求めたい期待値Eは
Σ(x*Pr[Ax|B])/ΣPr[Ax|B] = Σ(x*Pr[B|Ax]Pr[Ax])/Σ(Pr[B|Ax]Pr[Ax])
Pr[Ax]がxにかかわらず定数であれば
E=Σ(x*Pr[B|Ax])/Σ(Pr[B|Ax])
事前確率分布を一様分布と仮定しての計算
つまり、感染者が1人の確率も50人の確率も100人の確率,....も一定という前提での計算。
165132人目の素数さん
2020/03/29(日) 10:47:28.57ID:WogCQeQk >>163
そうみたいですね。
> data.frame(有名人=1:10,期待値=sapply(1:10,function(x) fn(100,x)$mean))
有名人 期待値
1 1 67.00000
2 2 62.75000
3 3 60.20000
4 4 58.50000
5 5 57.28571
6 6 56.37500
7 7 55.66667
8 8 55.10000
9 9 54.63636
10 10 54.25000
> data.frame(有名人=1:10*10,期待値=sapply(1:10*10,function(x) fn(100,x)$mean))
有名人 期待値
1 10 54.25000
2 20 52.31818
3 30 51.59375
4 40 51.21429
5 50 50.98077
6 60 50.82258
7 70 50.70833
8 80 50.62195
9 90 50.55435
10 100 50.50000
そうみたいですね。
> data.frame(有名人=1:10,期待値=sapply(1:10,function(x) fn(100,x)$mean))
有名人 期待値
1 1 67.00000
2 2 62.75000
3 3 60.20000
4 4 58.50000
5 5 57.28571
6 6 56.37500
7 7 55.66667
8 8 55.10000
9 9 54.63636
10 10 54.25000
> data.frame(有名人=1:10*10,期待値=sapply(1:10*10,function(x) fn(100,x)$mean))
有名人 期待値
1 10 54.25000
2 20 52.31818
3 30 51.59375
4 40 51.21429
5 50 50.98077
6 60 50.82258
7 70 50.70833
8 80 50.62195
9 90 50.55435
10 100 50.50000
166132人目の素数さん
2020/03/29(日) 10:58:30.70ID:1Oo79tY3 「有名人」を「wikに載ってる人」と定義し
その数を10000人としてそのうち4人(志村、藤浪、長坂、伊藤隼人)
感染したとしても結果は変わらない
その数を10000人としてそのうち4人(志村、藤浪、長坂、伊藤隼人)
感染したとしても結果は変わらない
167132人目の素数さん
2020/03/29(日) 10:58:36.48ID:WogCQeQk 昨日の東京のコロナ陽性者は87人検査して63人陽性であったという。
検査の感度0.6 特異度0.9と仮定して、87人中に感染者は何人と推定されるか?
真陽性率=感度=0.6
偽陽性率=1−特異度=0.1
87人中の感染者数をxとすると
陽性者数= 感染者数*真陽性率 + 非感染者数*偽陽性率
63=x*0.6+(87-x)*0.1
これを解くとあり得ない答になる。
検査の感度0.6 特異度0.9と仮定して、87人中に感染者は何人と推定されるか?
真陽性率=感度=0.6
偽陽性率=1−特異度=0.1
87人中の感染者数をxとすると
陽性者数= 感染者数*真陽性率 + 非感染者数*偽陽性率
63=x*0.6+(87-x)*0.1
これを解くとあり得ない答になる。
168132人目の素数さん
2020/03/29(日) 11:48:31.42ID:WogCQeQk >>166
総人口n人、有名人m人、そのうち感染者k人とすると
n人中の感染者の期待値は
x = 0 〜 nとして 、xCkはx人からk人選ぶ組み合わせの数を表す
Σ(x*(xCk/nCm))/Σ(xCk/nCm) = =Σ(x*(xCk))/Σ(xCk)
となるのでmの値には依存しない。
n
総人口n人、有名人m人、そのうち感染者k人とすると
n人中の感染者の期待値は
x = 0 〜 nとして 、xCkはx人からk人選ぶ組み合わせの数を表す
Σ(x*(xCk/nCm))/Σ(xCk/nCm) = =Σ(x*(xCk))/Σ(xCk)
となるのでmの値には依存しない。
n
169132人目の素数さん
2020/03/29(日) 14:27:34.63ID:2PsxdXJm >>168
するとこの計算で出てくる推定感染者数6万人って値は意味ない感じですか?
するとこの計算で出てくる推定感染者数6万人って値は意味ない感じですか?
170132人目の素数さん
2020/03/29(日) 14:33:09.96ID:WogCQeQk >>167
陽性者数が87人中63人になるような感度と特異度を最小二乗法で求めると。
> (opt=optim(c(0.6,0.9,63),nazo,method='CG'))
$par
[1] 0.916014625 0.779617519 63.002729987
陽性者数が87人中63人になるような感度と特異度を最小二乗法で求めると。
> (opt=optim(c(0.6,0.9,63),nazo,method='CG'))
$par
[1] 0.916014625 0.779617519 63.002729987
171132人目の素数さん
2020/03/29(日) 14:48:03.55ID:0jXKnAa1 学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
172132人目の素数さん
2020/03/29(日) 15:31:10.14ID:WogCQeQk >>170
初期値に依存するから意味のないスクリプトであると判明したので撤回します。
初期値に依存するから意味のないスクリプトであると判明したので撤回します。
173132人目の素数さん
2020/03/29(日) 15:31:33.71ID:WogCQeQk >>169
単なる数字の遊びだろうね。
単なる数字の遊びだろうね。
174132人目の素数さん
2020/03/29(日) 15:37:58.67ID:WogCQeQk >>169
前提となっているのが、
日本人1億2680万人いるとして
日本人の感染者数が1人である確率も1億人である確率も同じと、一様分布を仮定しているのが現実離れしている。
よって現実的には意味がない。
前提となっているのが、
日本人1億2680万人いるとして
日本人の感染者数が1人である確率も1億人である確率も同じと、一様分布を仮定しているのが現実離れしている。
よって現実的には意味がない。
175132人目の素数さん
2020/03/31(火) 03:21:38.60ID:5/cy/U/F176132人目の素数さん
2020/03/31(火) 06:08:43.61ID:2llZ2I8j177132人目の素数さん
2020/03/31(火) 06:12:02.74ID:2llZ2I8j Reed -Frostはパラメータが1個ですむから推定しやすいんだろう。
178132人目の素数さん
2020/03/31(火) 08:54:47.69ID:2llZ2I8j >>76
54119人という値になった。
計算プログラムは以下の通り。
# width of 99% confidence interval when 1000 subjects are examined
p2w <- function(
prevalence,
subjects=1000,
sensitivity=0.6,
specificity=0.9,
conf.level=0.99){
# prevalence -> width of 99% confidence interval
n=subjects
p=prevalence*sensitivity+(1-prevalence)*(1-specificity) # positive rate=prev*TP+(1-prev)*FP
q=1-p
2*qnorm(1-(1-conf.level))*sqrt(p*q/n) # width of 99%CI
}
p2w=Vectorize(p2w)
prevalence=seq(0,1,by=0.01)
plot(prevalence,p2w(prevalence),bty='l',type='l',lwd=2,ylab='99%CI width',
main='subjects:1000\nsensitivity:0.6\nspecificity:0.9')
optimize(p2w,c(0,1),maximum=TRUE)
#
sj2w <- function(subjects){ # subjects -> maximum 99%CI width & its prevalence
optimize(function(prev) p2w(prev,subjects),c(0,1),maximum = TRUE)
}
# at how many subjects 99%ci width equals 0.01
uniroot(function(x,u0=0.01) sj2w(x)$objective-u0,c(1000,100000))
54119人という値になった。
計算プログラムは以下の通り。
# width of 99% confidence interval when 1000 subjects are examined
p2w <- function(
prevalence,
subjects=1000,
sensitivity=0.6,
specificity=0.9,
conf.level=0.99){
# prevalence -> width of 99% confidence interval
n=subjects
p=prevalence*sensitivity+(1-prevalence)*(1-specificity) # positive rate=prev*TP+(1-prev)*FP
q=1-p
2*qnorm(1-(1-conf.level))*sqrt(p*q/n) # width of 99%CI
}
p2w=Vectorize(p2w)
prevalence=seq(0,1,by=0.01)
plot(prevalence,p2w(prevalence),bty='l',type='l',lwd=2,ylab='99%CI width',
main='subjects:1000\nsensitivity:0.6\nspecificity:0.9')
optimize(p2w,c(0,1),maximum=TRUE)
#
sj2w <- function(subjects){ # subjects -> maximum 99%CI width & its prevalence
optimize(function(prev) p2w(prev,subjects),c(0,1),maximum = TRUE)
}
# at how many subjects 99%ci width equals 0.01
uniroot(function(x,u0=0.01) sj2w(x)$objective-u0,c(1000,100000))
179132人目の素数さん
2020/03/31(火) 09:55:37.96ID:cpD4Fk2x 上って、灘校東大理IIIの超秀才のはずなのに、なんで
あんなに頭の悪い発言ばかりしてんの?
変な宗教にでも取り憑かれて理性が狂わされてるのかな?
あんなに頭の悪い発言ばかりしてんの?
変な宗教にでも取り憑かれて理性が狂わされてるのかな?
180132人目の素数さん
2020/03/31(火) 10:07:35.24ID:2llZ2I8j 日本人1億2680万人からX人を無作為に抽出してPCR検査して、感染者数(≠検査陽性者数)を信頼区間99%誤差±1%で検定したい。
PCR検査は感度0.6,特異度0.9とする。
何人を抽出すれば十分といえるか?
54000人程度になったけど、あってる?
PCR検査は感度0.6,特異度0.9とする。
何人を抽出すれば十分といえるか?
54000人程度になったけど、あってる?
181132人目の素数さん
2020/03/31(火) 14:43:06.94ID:2llZ2I8j >>179
超秀才は理Iに行くんじゃないの?
超秀才は理Iに行くんじゃないの?
182132人目の素数さん
2020/03/31(火) 14:50:29.57ID:ncBHjUEo >>180
感染率の程度、感度・特異度の値の精度の言及無しに出された結論に、ほとんど説得力は無い。
感染率の程度、感度・特異度の値の精度の言及無しに出された結論に、ほとんど説得力は無い。
183132人目の素数さん
2020/03/31(火) 15:19:09.38ID:2llZ2I8j >>182
感度 beta(13.6991,9.4661)でmode 0.6 sd=0.1
特異 beta(36.172,4.908) でmode 0.9 sd=0.05
でベイズの階層モデルを組んでみるかな。
感度 beta(13.6991,9.4661)でmode 0.6 sd=0.1
特異 beta(36.172,4.908) でmode 0.9 sd=0.05
でベイズの階層モデルを組んでみるかな。
184132人目の素数さん
2020/03/31(火) 15:45:31.45ID:2llZ2I8j >>183
そのβ分布を弱情報事前分布に設定して、乱数発生させて計算すると
54000人で99%信頼区間の幅の分布は
> summary(s2w(54000))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.008144 0.009912 0.009981 0.009927 0.010005 0.010011
となるから、まあ、概ねあっていると思うな。
そのβ分布を弱情報事前分布に設定して、乱数発生させて計算すると
54000人で99%信頼区間の幅の分布は
> summary(s2w(54000))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.008144 0.009912 0.009981 0.009927 0.010005 0.010011
となるから、まあ、概ねあっていると思うな。
185132人目の素数さん
2020/03/31(火) 17:50:11.35ID:ncBHjUEo 最も重要なファクターは事前感染率。
事前感染率はいくらに設定したの?
偽陽性が調査対象の10パーセント程含まれる。
医者が怪しいと判断した場合にのみ検査をする場合は、真陽性が調査対象の数十パーセントが期待できる。
このような場合は、真陽性は偽陽性より多数であることが期待でき、検査対象の正確な感染率は把握できるが、
「日本人1億2680万人からX人を無作為に抽出」のような方法だと、感染率0.01%(←現在確認できている感染者の
7倍程度が実際の感染者数に相当)辺りが妥当だと思われるが、この場合、五万人調査して、真陽性5人、偽陽性5000人
のような数字が出てくる。感染率0.02%だったとすると、真陽性10人、偽陽性5000人だ。
中央値のみで判断すると、例えば、5005人の陽性が出ると、0.01%で、5010人の陽性者が出ると0.02% のような
データが出てくる。誤差との見極めは困難。
このような数字から、信頼できる感染率が出せるのか?
事前感染率はいくらに設定したの?
偽陽性が調査対象の10パーセント程含まれる。
医者が怪しいと判断した場合にのみ検査をする場合は、真陽性が調査対象の数十パーセントが期待できる。
このような場合は、真陽性は偽陽性より多数であることが期待でき、検査対象の正確な感染率は把握できるが、
「日本人1億2680万人からX人を無作為に抽出」のような方法だと、感染率0.01%(←現在確認できている感染者の
7倍程度が実際の感染者数に相当)辺りが妥当だと思われるが、この場合、五万人調査して、真陽性5人、偽陽性5000人
のような数字が出てくる。感染率0.02%だったとすると、真陽性10人、偽陽性5000人だ。
中央値のみで判断すると、例えば、5005人の陽性が出ると、0.01%で、5010人の陽性者が出ると0.02% のような
データが出てくる。誤差との見極めは困難。
このような数字から、信頼できる感染率が出せるのか?
186132人目の素数さん
2020/04/01(水) 07:44:43.76ID:xwYPMdxl >>185
一様分布
一様分布
187132人目の素数さん
2020/04/01(水) 07:48:29.51ID:xwYPMdxl 確率の分布を考えずにスポットで考える思考のやつとは議論にならんな。
ベイズ階層モデルやったことないの?
ベイズ階層モデルやったことないの?
188132人目の素数さん
2020/04/01(水) 09:12:32.13ID:bZbNlxPT 0%〜100% までの一様分布のようだな。
つまり、事前確率全く不明だから、1/2教の経典に従い、0.5=50%でやったということ。
医者が検査を行った方がよいと判断した集団でも、なかなか有病率50%はいかない。
そのような結果は、無作為抽出で必要なの調査人数はどれくらいか等という議論では使えない。
全住民を対象にした無作為抽出なら、十万人に一人 以上いる(いた)のは確実だった一方、
百人に一人 という程たくさんはいないだろう と見積もれる。0.001%〜1% 辺りで行うべき。
ちょっと考えれば判ることを指摘しているに過ぎない。
調査対象の有病率0.01以下の集団に対し、特異度90%の性能の機器で調査しても、ほとんどがエラー。
せめて 有病率 は、 1-特異度 と同じオーダーか、1-特異度 より大きくないと、扱えない。
特異度99.99%の機器を用意するか、でなければ、有病率を10パーセント程度以上に煮詰めてからやれというお話。
つまり、事前確率全く不明だから、1/2教の経典に従い、0.5=50%でやったということ。
医者が検査を行った方がよいと判断した集団でも、なかなか有病率50%はいかない。
そのような結果は、無作為抽出で必要なの調査人数はどれくらいか等という議論では使えない。
全住民を対象にした無作為抽出なら、十万人に一人 以上いる(いた)のは確実だった一方、
百人に一人 という程たくさんはいないだろう と見積もれる。0.001%〜1% 辺りで行うべき。
ちょっと考えれば判ることを指摘しているに過ぎない。
調査対象の有病率0.01以下の集団に対し、特異度90%の性能の機器で調査しても、ほとんどがエラー。
せめて 有病率 は、 1-特異度 と同じオーダーか、1-特異度 より大きくないと、扱えない。
特異度99.99%の機器を用意するか、でなければ、有病率を10パーセント程度以上に煮詰めてからやれというお話。
189132人目の素数さん
2020/04/01(水) 09:19:12.86ID:deMoC1lt >>188
東京都の行政検査では陽性率が50%を越える日があるぞ。
東京都の行政検査では陽性率が50%を越える日があるぞ。
190132人目の素数さん
2020/04/01(水) 09:26:31.89ID:deMoC1lt 有病率の事前分布を一様分布として
日々の陽性数は二項分布に従うとして
オリンピック延期決定後の検査を受けた集団での有病率をMCMC出だすと
(感度特異度は既述のβ分布を仮定)
> subjects=c(74,95,87,143,244,330)
> positives=c(17,41,47,40,63,68)
> PCRs3(subjects,positives,iter=10000,warmup=1000)
mean lower upper
0.37288732 0.09822213 0.63719043
日々の陽性数は二項分布に従うとして
オリンピック延期決定後の検査を受けた集団での有病率をMCMC出だすと
(感度特異度は既述のβ分布を仮定)
> subjects=c(74,95,87,143,244,330)
> positives=c(17,41,47,40,63,68)
> PCRs3(subjects,positives,iter=10000,warmup=1000)
mean lower upper
0.37288732 0.09822213 0.63719043
191132人目の素数さん
2020/04/01(水) 09:31:13.39ID:deMoC1lt >>188
別に有病率を(0,0.1)の一様分布にしても計算できるけど
都の行政検査も陽性率が50%を越える日もあったから一様分布でいいと思うね。行政検査に回った集団の話だけど。
感度・特異度も弱情報事前分布が設定できる。
別に有病率を(0,0.1)の一様分布にしても計算できるけど
都の行政検査も陽性率が50%を越える日もあったから一様分布でいいと思うね。行政検査に回った集団の話だけど。
感度・特異度も弱情報事前分布が設定できる。
192132人目の素数さん
2020/04/01(水) 09:33:18.24ID:deMoC1lt 一変数のポイント確率しか計算できない奴との議論は不毛だね。
193132人目の素数さん
2020/04/01(水) 09:43:53.68ID:HHJL1yTu 結局なんの疫学データにも基づかない、疫学データで追試することもできない、なんの理論的根拠もない統計仮説下のお話なんて統計学、疫学できないな意味なんかないんだよな。
計算機で遊んでる以上の意味なんかない。
計算機で遊んでる以上の意味なんかない。
194132人目の素数さん
2020/04/01(水) 09:46:36.01ID:bZbNlxPT195132人目の素数さん
2020/04/01(水) 12:55:21.15ID:xwYPMdxl >>193
計算機で遊ぶこともできずに電卓で計算して必死で書いていて虚しくない?
CTの診断能を検討した論文。
https://doi.org/10.1148/radiol.2020200823
誰でも鑑別できるのか疑問に思った
このペーパのTable 3に3人の読影医の結果が載っている。
TP FP TN FN sen spc PPV NPV accuracy
1 158 13 192 61 0.72 0.94 0.92 0.76 0.83
2 157 24 181 62 0.72 0.88 0.87 0.74 0.80
3 206 156 49 13 0.94 0.24 0.57 0.79 0.60
陽性尤度比、陰性尤度比、Diagnostic Odd Ratio(陽性尤度比/陰性尤度比)を計算して加えると
TP FP TN FN sen spc PPV NPV acc PLR NLR DOR
1 158 13 192 61 0.72 0.94 0.92 0.76 0.83 11.4 0.30 38
2 157 24 181 62 0.72 0.88 0.87 0.74 0.80 6.1 0.32 19
3 206 156 49 13 0.94 0.24 0.57 0.79 0.60 1.2 0.25 5
PPV,accuracy,DORから読影医3が劣っているようにみえる。
PPVで三者を検定してみる。多重比較になるので一番厳しいBonferri法で補正
Pairwise comparisons using Pairwise comparison of proportions
data: TP out of TP + FP
1 2
2 0.4 -
3 1e-15 2e-11
明らかに3が劣っている。
計算機で遊ぶこともできずに電卓で計算して必死で書いていて虚しくない?
CTの診断能を検討した論文。
https://doi.org/10.1148/radiol.2020200823
誰でも鑑別できるのか疑問に思った
このペーパのTable 3に3人の読影医の結果が載っている。
TP FP TN FN sen spc PPV NPV accuracy
1 158 13 192 61 0.72 0.94 0.92 0.76 0.83
2 157 24 181 62 0.72 0.88 0.87 0.74 0.80
3 206 156 49 13 0.94 0.24 0.57 0.79 0.60
陽性尤度比、陰性尤度比、Diagnostic Odd Ratio(陽性尤度比/陰性尤度比)を計算して加えると
TP FP TN FN sen spc PPV NPV acc PLR NLR DOR
1 158 13 192 61 0.72 0.94 0.92 0.76 0.83 11.4 0.30 38
2 157 24 181 62 0.72 0.88 0.87 0.74 0.80 6.1 0.32 19
3 206 156 49 13 0.94 0.24 0.57 0.79 0.60 1.2 0.25 5
PPV,accuracy,DORから読影医3が劣っているようにみえる。
PPVで三者を検定してみる。多重比較になるので一番厳しいBonferri法で補正
Pairwise comparisons using Pairwise comparison of proportions
data: TP out of TP + FP
1 2
2 0.4 -
3 1e-15 2e-11
明らかに3が劣っている。
196132人目の素数さん
2020/04/01(水) 12:55:59.40ID:xwYPMdxl 読影医1,2を加算して計算すると
感度72% [67-76]
特異度91% [88-94]
という結果が得られた。
しかし、現実には何でもコロナと診断する傾向のある読影医3も紛れこむからこういう読影医も加算して計算しないと現実的でないね。
問題
3人を統合したときの感度・特異度とその95%信頼区間を述べよ。
感度72% [67-76]
特異度91% [88-94]
という結果が得られた。
しかし、現実には何でもコロナと診断する傾向のある読影医3も紛れこむからこういう読影医も加算して計算しないと現実的でないね。
問題
3人を統合したときの感度・特異度とその95%信頼区間を述べよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ランドセルにくぎ刺される「国に帰れ」など言われ、転校を余儀なくされた海外からの転校生 仙台市教育委員会が「いじめ重大事態」認定★2 [煮卵★]
- 「いいの?前科ついちゃうよ」万引きした女子大学生を脅す 元コンビニ店長の男(54)逮捕 ★2 [煮卵★]
- 【テレ東音楽祭】長渕剛、テレ東初出演!『とんぼ』『乾杯』熱唱へ 酒井法子は『碧いうさぎ』歌唱 [Ailuropoda melanoleuca★]
- 「撮り鉄」同士のトラブルか 車のフロントガラス破壊の男逮捕 寝台特急カシオペア撮影のため東京から宮城・白石に遠征 [少考さん★]
- 【芸能】立川志らく「ヤクザの事務所が隣近所にあれば、強盗だとか闇バイトが来ない」 暴力団の“利点”指摘に違和感 [冬月記者★]
- 東京駅で切符紛失→「3倍払って」と言われ→拒否すると「警察呼ぶ」と言い始め警備5人が包囲… BD選手のトラブル報告にネット紛糾★3 [冬月記者★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★107【メキシコ/カナダ/アメリカ】
- 【MLB】ドジャース vs オリオールズ ★2
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★106【メキシコ/カナダ/アメリカ】
- 【MLB】ドジャース vs オリオールズ
- 巨専】
- 函館競馬1回3日目
- 右翼「中国と戦争するぞおお!!」 普通の人「いややべえでしょ…貿易してるのに」 右翼「中国を気遣うのか!!」👈これ [268718286]
- 木原「高市首相がG7でボッチだったり無視された事実はない!デマを流すなー😡」 [931948549]
- 🏡ガイジ製造工場
- 【悲報】著名精神科医・和田秀樹さん、高市早苗に「反社会性パーソナリティ障害」の診断を下してしまう [126042664]
- 【安倍悲報】株厨「資産数千万になったんだがwwwwwwwwwww」ぼく「あのさぁ…」 [279951338]
- 【悲報】「フェルメール展」のチケットを取れなかったジャップ民がSNSで大暴れwwwwwwwwwwwwwwwwwwwwwwww [551743856]