豚バラ大根ノート

豚バラ大根をおいしく作る秘訣はここには書かれていません.

ニュージーランドのデータ

データが大きくなれば統計的なブレは驚異的に減り,疑わしい仮説が棄却されることがより鮮明となる.前に計算した岩手県のデータの400倍くらいのスケールであるニュージーランドのデータで,そのことを確認してみよう.いつものように,以下の統計的考察は特異度は検査によらず一定で,各検査は独立という仮定が近似的に成り立っていることを前提としている.

ニュージーランドにおけるPCR検査

検査数:465,066(2020年7月30日まで)

陽性判定数:1210 (7月31日時点で判明しているもの)

多少の陽性判定数の変動は以下の考察にはほとんど影響がないので,この数字を使って「特異度99%」という仮説がどれくらい強く棄却されるかを見てみる.

計算

(多少ややこしい議論と数学を用いるので,面倒な人は読み飛ばして「計算結果まとめ」へ進んでください)

 まず状況を簡単にするために,465,066の検査のうち,少なくとも230,000は本当に陰性だったと仮定することにしよう*1

この230,000件のうち,ちょうど1210件が陽性判定される確率は,「特異度99%」の仮説の下では

230000!/(1210!・228790!)×0.011210×0.99228790 < 10-137

と計算できる*2.ちょうど1209件,1208件,‥0件の場合の確率は,ちょうど1210件の場合の確率よりも低くなるので*3,本当に陰性である230,000件から1210件「以下」しか陽性判定が出ない確率は,

1211×10-137 < 10-133

と評価できる.もし465,066件の検査で1210件以下しか陽性判定が出ていないとすれば,当然ながら本当に陰性である230,000件からも1210件以下しか陽性判定が出ていないはずなので,「特異度99%の仮定の下で465,066件の検査で1210件以下しか陽性判定が出ない確率」は10-133以下であると評価できたことになる.

では,465,066件の検査を何セットくらいしたら陽性判定が1210件以下というセットが現れるだろうか.例えば,宇宙の年齢を多めに見積もって1000億年として,PCR検査465,066件のデータセットが毎秒1つ得られたとしよう.その場合,

1011×365×24×60×60 = 3.15...×1018 < 1019

のデータセットが得られるが,それらが全てのセットについて陽性判定が1211件以上である確率は,

(1-10-133)(1019) > 1-10-113

と評価できる*4.したがって,465,066件のPCR検査の結果のデータセットが宇宙開闢以降毎秒1つ得られていたとしても,陽性判定が1210件以下であるデータセットがただ1つでも観測される確率は10-113以下となる.

計算結果まとめ

「465,066件の検査のうち少なくとも約半数の230,000件は本当に陰性だった(残りの235,066件が本当に陽性か陰性かはわからない)」というかなり慎重な仮定の下でも,「特異度99%」を仮定すると,

  • 465,066件の検査で1210件以下しか陽性判定が出ない確率は10-133以下
  • 465,066件の検査のデータセットが宇宙開闢以降毎秒1つ得られたとして,それらのうちのただ1つでも陽性判定数が1210以下となる確率は10-113以下

と計算されるので,「特異度99%」は統計的にかなり強く棄却される.

データセットの大きさ

「等確率で互いに独立」な状況では平均的な振る舞いから離れた状況が起きる確率は急速に小さくなっていくので,ニュージーランドのデータセットの大きさが岩手県のそれの400倍であるという状況が 強く効いてくることを上の結果はよく表している.「特異度99%」の下での単純な平均465,066×0.01=4650.66と1210の差はせいぜい4倍なので,誤差によって1210件になることもありうるかもという直感的な判断はかなり実際の確率とはかけ離れている.その意味で,確率的な物事を判断するときには直感に頼るのは危険だという実例にもなっている.

追記(2020年8月2日22:10)

Stirlingの公式の誤差評価を忘れてたので,修正しました(10-134→10-133).

*1:これは「偽陰性」を排除して計算を楽にするための仮定であるが,これが成り立たない=「本当の陽性が465,066-230,000=235,066以上いる」という仮定は,たとえ感度1%(=陽性者を陽性判定する確率が1%で残りの99%は陰性と判断されてスルー)としても以下の「偽陽性」に関するものと全く同じ計算で「陽性判定数1210」のデータにより強く棄却されるので,無理のない仮定だと思われる.

*2:そのまま計算するのはつらいのでlogを取って,Stirlingの公式(の誤差評価できるバージョン)を用いて評価した.

*3:「読者への演習問題とする」

*4:logを取り,0<t<0.1では-2t<log(1-t)<-tであることを用いた

最新の岩手県のデータで「99%仮説」を検定してみる.

7月29日に岩手県で2人の陽性判定が出たことを受けて

 というような意見がある.統計的検定で何を知ることができるかのよい例なので,少し計算は複雑になるが,最新のデータを元に再び「特異度99%仮説」を検証してみる.なお,29日の時点での総検査数は1398,陽性判定者数は2である.

2人とも偽陽性だったと仮定した場合

ちょうど2人が陽性である確率:

1398人のうちから二人を選ぶ組み合わせの数は

1398*1397/2

で,それぞれの組み合わせについてその2人が偽陽性(0.01の確率),残り1396人が陰性判定(0.99の確率)となるので,ちょうど2人が陽性判定される確率は

1398*1397/2*0.012*0.991396=0.0000787...<0.0079%

となる.

ちょうど1人が陽性である確率:

 1398*0.01*0.991397=0.0000111...<0.0012%

陽性が1人も出ない確率:

0.991398=0.00000079...<0.000080%

これらを合わせると,仮説「特異度99%」の下で検査数1398で陽性判定者が2以下の確率は

0.0079%+0.0012%+0.000080%<0.0093%

となり,やはり「特異度99%」は棄却される.

1人,もしくは2人が本当に陽性だった場合

この場合,「特異度99%」仮説のもとで陽性判定者の数が2である確率はもっと低くなることが計算できるので(計算は省略),やはり「特異度99%」は棄却される.

結論

岩手県で2人の陽性判定者が出てもやはり仮説「特異度99%」は強く棄却される.すなわち,たとえ陽性と判定された2人が偽陽性であったとしても「特異度99%」は統計的に棄却される*1

補足

今後10人前後の陽性判定者が出てきた場合にはこの計算では「特異度99%」は否定できなくなるが,これまで0が続いてきたのに突然陽性判定が増えたことの半数以上が確率0.01で起きる偽陽性によるものだという仮説を立てると,やはりその仮説は却下されそうに見える(まだちゃんと計算はしてません).なので,やはり「特異度99%」仮説は筋がよろしくないのではなかろうか.

さらなる補足(2020年7月31日)

今回の計算は「2人出たところで「特異度99%」仮説は復活しない」という以上のことについてはそもそも蛇足気味で,何人かの方がtwitterで書いていたように*2,「1250人検査した時点で陽性判定者0人」というデータの存在自体が「特異度99%」仮説を強く棄却している,というので十分だったように思う*3.ただ,何度もしつこく書くが,この統計的検定では「特異度一定」「検査が独立」が近似的に成り立つことを前提としているので,そこが成り立ってなければ推論は正しいとは言えない.臨床の側でこれらの前提を否定する根拠があるならば是非ともそれを教えて欲しいと思う*4

*1:以前にも書いたが,岩手県の統計データからのみでは「特異度99.9%」は否定できない.「特異度99.99%」以上を推定するには日本医師会の文書で引用されていた論文などのより大規模な調査の結果が必要になる.

*2:例えば,口は悪いがnagaya氏のtweet https://twitter.com/nagaya2013/status/1288653039839019010 

*3:例えば,「特異度99%」の下では,陽性者が1人もいない状況で1250回の検査を1000セットやっても「陽性反応0」が一つも現れない確率は99.65%くらいである.

*4:ついでに言うと,「特異度99%(もしくはそれ以下)」を仮定するべきとする根拠を是非とも知りたいので,そのように主張する方はお手数ですがご教授いただけるととてもありがたいです.

統計的検定とは

統計的検定?

「統計的検定(統計的仮説検定)」というとなんだか難しいことをやってるように聞こえますが,アイデアは単純で,実際に観測されたデータとそれに反してそうな怪しげな仮説があったとき,仮説の下でそのデータが実現される理論的な確率を計算して,確率が非常に低い場合,怪しげな仮説は却下するというものです.

具体例としてのPCR検査

今話題のPCR検査の特異度を例に取りましょう.手元にあるデータは岩手県(21日当時*1)の検査数1251,陽性判定0,「怪しげな主張」は「特異度99%」です.

観測されたデータ「1251人検査して陽性判定0」が,仮説「特異度99%(=陰性者は確率0.99で陰性と判定され,確率0.01で陽性と判定される)」の下で起きる確率がどれくらいかを計算してみましょう.今の場合,それぞれの検査が独立に行われる*2として,実は陽性者がいたのだけれど陰性と判定されている状況は無視すると*3,今の場合,検査ごとに0.99の確率で起こること(=陰性者が陰性と判定される)が観測される必要があり,それを1251回繰り返すことになるので,

0.99×0.99×0.99×…×0.99 (0.99を1251回かける)=0.991251=0.000003464<0.000035%

となります*4

見ての通り,0.000035%というのはとても低い確率なのでまず起きないと思うのが自然ですが,実際に岩手県ではそれは起きているので,だとするとそもそもの仮説「特異度99%」が変だったんじゃないの?ということで仮説「特異度99%」が棄却される,というわけです.

Let's 検定!

統計的検定はデータを扱う科学では至る所で使われています.例えばある新薬が効果があるかどうかも「効果がない」という仮説のもとで治験で得たような値が出る確率を計算し,それが十分に低いことを示すことで,仮説「効果がない」は正しくない=「効果がある」という結論を導きます.ここ説明した原理さえわかっていれば「有意水準」「棄却域」「p値」などの言葉も上の例を頭に入れて読めばそれほど難しくなく理解できると思います.この強力なアイデアが多くの人に知られることを願っています.

 

 

 

*1:残念ながら29日にとうとう岩手県でも陽性判定者が出てしまいました.

*2:一つの検査が別の検査に影響を及ぼさないという仮定.多くの統計的な状況ではこれが近似的に成り立つと思って話を進めます

*3:この場合もちゃんと計算すると結論に影響が出ないことがわかりますがここでは簡単のため省略します.

*4:これは1の目が1/6の確率で出るサイコロを2回振ってどちらも1である確率が1/6×1/6=1/36,3回振って全部1ならば1/6×1/6×1/6=1/216,となるように,1251回の検査で各回で0.99の確率のことが起き続けるならば,0.99を1251回かけたものが「1251回の検査が全て陰性判定=陽性判定が0」となる確率である,という計算です.

PCR検査の特異度について2:日本医師会COVID-19有識者会議の報告書

2020年7月22日付で日本医師会COVID-19有識者会議が

 COVID-19感染対策におけるPCR検査実態調査と利用推進タスクフォース:中間報告書解説版 (link )

を公表している.p.5あたりから特異度と陽性的中率(陽性と判定された人が実際に陽性である割合.偽陽性が多ければ当然この的中率は下がる)についての議論があるが,そこでは特異度を99.99%と「仮定」している.特異度を99%と仮定した場合と99.99%で仮定した場合では生じる結果が大幅に異なるため「仮定」の根拠*1が重要となるが,ここでは

Susan A. Galel et al., Sensitivity and specificity of a new automated system for thedetection of hepatitis B virus, hepatitis C virus, and human immunodeficiency virus nucleic acid in blood and plasma donations, Transfusion. 2018 Mar58(3):649-659. ( link )

を根拠として挙げており,論文のTABLE 2には99.99..%といった数字が並んでいる.ただし報告書解説版では

このため,PCR検査の運用においては検査目的に合致した検査の設計と性能評価(妥当性確認), 及びそれに基づく内部精度管理,さらには外部精度評価による検査室の能力モニタリングによる継続的な精度の確保と維持が重要となる.

 とも書かれており,現場で精度が下がらないための注意も喚起しているように見える.

ちなみに上の文章のすぐ後には,

検査性能を踏まえて,事前確率を高めた検査の効果的な利用の考え方は,疑い症状のある個別の患者診療において意義がある.しかしこの考え方は,有病率が必ずしも高くない疫学調査において特異度の高いPCR検査を用いた場合は,必ずしも該当しない.むしろ感染制御の観点からは,広く検査を行うことにより陽性者を拾い挙げることに意義がある.一方,検査の実施件数を絞った場合、感染患者の診断の機会を逸することにより,患者診療上では院内感染防止,公衆衛生上では地域流行防止,ヘルスケアでは 社会・経済活動の継続、政策立案上では社会経済回復・維持,それぞれにおいてのリスクとなる(後述). (強調は筆者による)

とも書かれており,日本医師会PCR検査を幅広く行うことを勧めている模様.

*1:特異度を99%と仮定する根拠をご存知の方がいたらぜひ教えてください.

PCR検査の特異度の推定について

はじめに

ネット上で散見される,PCR検査の特異度を99%(もしくはそれ以下)とする仮定の下でのベイズ推定を用いた偽陽性数の推定について,牧田寛氏がHarbor Business Onlineの記事

島根県の事例からも数字で明らかになる「検査をすると患者が増える」説のデタラメさ( リンク)

で,同じくベイズ推定を用いてその誤りを指摘している.「ベイズのことにはベイズで答える」という方針だとは思うが,統計の授業で必ず習い,データを統計処理することがある研究者ならば必ず理解しているはずの「仮説の検定」を用いると「特異度99%」を仮定することの誤りがより鮮明となるので,それを指摘しておきたい.

計算がしやすい状況として,牧田寛氏が扱っていた島根県と未だ感染者が発見されていない岩手県を例として,「特異度99%」という仮説を検定してみる.ネット上で散見されるベイズ推定による推論では,各PCR検査は互いに独立で同じ特異度を持つことが仮定されているので,ここでもそれを仮定しておく.

岩手県

PCR検査数(2月13日から7月21日): 1251
陽性者数:0

「特異度99%(陰性者が1%の確率で陽性と判定される)」という仮説の下で1251件検査して陽性と判定されるものが0である確率は,

 0.991251 = 0.000003464.. < 0.0004%

となる*1,この確率は2020年のサマージャンボ宝くじを1枚買って3等が当たるのとほぼ同等なので,特異度が99%であるという仮説は強く棄却される.

なお,「特異度99.9%(陰性者が0.1%の確率で陽性と判定される)」という仮説の下で1251件検査して陽性と判定されるものが0である確率は,

0.9991251 = 0..2860... > 28.5%

となり,この仮説は通常は棄却されない.なお,特異度99.9%とすると,100万件検査した場合の偽陽性者は平均1000人なので,この7月4日から25日までの3週間で感染が確認された約1万人に比べても1/10である.

島根県

PCR検査数(7月22日現在): 734

陽性者数: 1

(上の牧野氏の記事のデータより)

 「特異度99%(陰性者が1%の確率で陽性と判定される)」という仮説の下で734件検査して陽性と判定されるものが1以下である確率は,

  • 実は全員陰性 :
    0.99734 + 734 × 0.01 × 0.99733 = 0.005263... < 0.53%
  • 1人が陽性の場合:陽性者が陽性と判定される確率を 0<p<1 とすると,
    • 陽性者が陽性と判定され,陰性者は全て陰性と判定される:
      p × 0.99733 = p × 0.0006318... < 0.06%
    • 陽性者が陰性と判定され(偽陰性),陰性者一人が陽性と判定される(偽陽性):
      (1-p) × 733 × 0.01 × 0.99732 = (1-p) × 0.0046780... < 0.47%

となるので,陽性と判定されるものが1人以下である確率はいずれにせよ0.53%以下となり,やはり特異度が99%であるという仮説は強く棄却される*2

なお,特異度が99.9%であると仮定すると,このデータに関しては統計的には十分に妥当な仮説となる*3

結論

PCR検査の特異度99%とする仮定は統計的に棄却されるので,それをもとにベイズ推定をして偽陽性数を推定しても意味がない.

追記:

実際の特異度はもっと100%に近いとも言われているが,あくまで「特異度99%」の仮定が不適切であることを簡単な統計処理で示すのがこの文書の目的なので,実際の特異度についての議論はここではしない.

追記2(2020年7月30日)

734人のデータは「鳥取県」ではなく「島根県」でした.向瀬慎一様,ご指摘*4ありがとうございました.「またか」と思われた両県の皆様にもお詫び申し上げます.

誤植の修正(2020年8月1日)

島根県の「全員陰性」の計算で0.005263...となるべきところが,0.05263...となっていたので修正しました.

注1,注2についての補足(2020年8月2日)

「岩手の場合,全員が本当に陰性の場合のみ考えていて陽性者が偽陰性になっている場合が考慮されていないのでは」との疑問を持った方がいるようで,これらの注だけでは不親切な気がしてきたので,その場合の計算もしておくことにする.検査の感度をp,特異度をqとすると,陰性者が陽性と判定される確率は1-qとなる.陽性者が陽性と判定される確率が,陰性者が陽性と判定される確率以下であるならば検査の意味がなくなってしまうので,p > 1-q と仮定しても問題はないだろう.さて,1251人のうちm人が本当は陽性だとして,岩手県で観測された状況,すなわち1251人全員が陰性と判定される確率を計算しよう.

1人の陽性者が陰性判定を受ける確率は 1-p なので,m人の陽性者が全員陰性判定を受ける確率は(いつもの独立性を仮定すれば)

(1-p)m

となる.また,1人の陰性者が陰性判定を受ける確率は q なので,残りの(1251-m)人の陰性者が全員陰性判定を受ける確率は,

q1251-m

となる.今,p > 1-q であることから q > 1-p であることに注意すると,陽性者が一人でもいる場合,1251人全員が陰性判定を受ける確率は,

(1-p)m × q1251-m < qm × q1251-m = q1251

 となり,全員が本当に陰性だった場合の全員陰性判定の確率 q1251 よりも小さくなる.すなわち,実際には陽性者がいる場合は「全員陰性判定」の確率がより小さくなるので,この場合を考慮しても結果は変わらない.島根県の場合も同じ考察で実際には陽性者がもっと多い場合でも変わらないことがわかるので,気になる人は自分でも確かめてみてほしい.

*1:1251回99%の確率のものが独立に選ばれる確率である.なお,陽性者がいてもそれが陰性と判定される(偽陰性がいる)ことで陽性と判定されるものの数が0となる確率はこれよりも低くなるので,ここでは気にしない.補足も参照のこと

*2:p> 0.1くらいでも,実際には2人以上陽性者がいる場合は陽性と判定されるものの数が1人以下である確率はより低くなるので,ここでは気にしないことにする.

*3:734 × 0.001=0.7より,全員陰性でも平均0.7人陽性として判定されるので,確かに妥当であろう.

*4:https://twitter.com/mukose3/status/1288595679233716224