2020年8月25日火曜日

「ヨシッ、解った !?」検査の確率 - 夏休み「明け」の自由研究

残暑厳しい折、お見舞い申し上げます。

自由研究のネタ探しに来られたお子さん、今年の夏休みはコロナウィルス感染症蔓延のため、早々にお休みとなって、夏休み本番はかなり短いものとなってしまった様です。

有名どころお医者さんを中心に、コロナウィルス感染のPCR検査は不要という論調でありますが、その辺りを深く考えるため、PCR検査などの検査について、少し調べてみました。

PCR検査などには、「感度」、「特異度」というパラメタがあるらしい。

+ 「感度」  実際に感染している人の検出の率 (a としておきます)
+ 「特異度」感染していない人の検出の率 (b としておきます)

感度は、実際に感染している人が10人いたとして、その内、どれだけの人が「感染している」事を検出できるか、という割合なんだそうです。
例えば、感度が70%とすると、10人の感染者の内、70% = 7人しか検査で検出できない、ということです。
これは、10人の感染者がいた場合、感度 70% では、3人の取りこぼしがある勘定です。この取りこぼしの事を「偽陰性」と言い、偽陰性の割合は「偽陰性率」ですから、

  感度 + 偽陰性率 = 100 %

になります。

特異度は、感染していない人の内、どれだけの人が「感染していない」事を検出できるか、という割合だそうです。
特異度が90%とすると、10人の感染していない人の内、検査によって感染していないと検出できる人は、90% = 9人、となります。
特異度90%ならば、10人の内、1人が「取りこぼし」となり、その取りこぼしの人は、実際には感染していない(陰性)にも関わらず、検査では陽性=「偽陽性」となってしまいます。

  特異度 + 偽陽性率 = 100 %

感度、特異度、などと書いていると、キーを打つ回数が増えてしまうので、ここからは感度の代わりに a 、特異度の代わりに b と書きます。また、パーセント表記は、これも混乱しやすいので、100 % を 1 とした表記で進めていきます。

  感度  (a) + 偽陰性率 = 1
  特異度 (b) + 偽陽性率 = 1

  偽陰性率 = 1 - 感度  (a) = 1 - a
  偽陽性率 = 1 - 特異度 (b) = 1 - b

となります。

ここまでが、検査についての予備知識です。
今般、流行しているコロナウィルス感染症ですが、感染の割合が、よく判っておりません。
そこで、取り敢えず、感染している人の割合を、0.1 % としておきます。

この割合で言えば、例えば、10000人ならば、感染者は10人くらいになります。感染していない人は、10000-10 = 9990 人です。

この10000人に対して、感度 a = 0.7, 特異度 b = 0.9 の検査を行うと、

感染者 10 人 :
  検査陽性 = 10 * 0.7 = 7 人、  検査陰性 = 10 * 0.3 = 3 人

非感染者 9990 人 :
  検査陽性 = 9990 * 0.10 = 999 人、 検査陰性 = 9990 * 0.90 = 8991 人

となるのだそうです。

実際に感染していない人でも、検査で「陽性」となってしまう人が999人も出てしまう、PCR検査はむやみに行うべきではない、というのが、有名なお医者さんの意見だそうです。

有名どころのお医者さんの説明は、つぎのサイト様の記事で、色々と紹介されております。

cf. ベイズの定理を悪用し、コロナウイルスPCR検査の有用性を否定する医師達 - 臨床獣医師の立場から
https://tatsuharug.com/abuse-bayes?fbclid=IwAR0WTAjomzGlZWvilmT_XalTqlNNlJ3Y4R-nPJKu7-LFvl9sdXEFNUiRcn4#i-8

上記の記事によりますと、有名どころのお医者さんの多くは「PCR検査の特異度は、90%、99% にとどまる」としているのだそうですが、
記事を書かれている方は、「PCR検査の特異度は、(90%、99% ではなく) 99.99 % 以上」と述べておられます。

素人目には、99%も99.99%も、違いがある様には思えないのですが、果たして、実態はどうなのか ?

非感染者で検査陽性となる人については、つぎの計算式で計算できます。

  (非感染、検査陽性数) = N*(1-p)*(1-b)

  N ; 検査総数
  p ; 感染者の存在確率
  b ; 検査「特異度」

感染者の存在確率、特異度が低いと、 この値は大きくなります。
そして、特異度の値の代わりに「偽陽性率」(= 1-b)でみると、より判りやすい。

+ 特異度 b = 0.90 (90 %) ならば、偽陽性率 1-b = 0.10
+ 特異度 b = 0.99 (99 %) ならば、偽陽性率 1-b = 0.01
+ 特異度 b = 0.999 (99.9 %) ならば、偽陽性率 1-b = 0.001

特異度の精度が向上するだけで、偽陽性率が劇的に下がります。
偽陽性率が劇的に下がれば、偽陽性者の数は十分下がり、有名どころのお医者さんが言っている「検査大パニック」は起こらない。
上記のサイト様では、この事を丁寧に述べております。

PCR検査、今は検査数が大分増えてきて、感染者も多く確認出来ております。
しかしながら、PCR検査、多くの場合「自費」で行うらしく、健康保険も使えないので、かなりの額を自腹でやらんとアカンとか。
また、市中では相変わらず「感染リスク」があるので、検査で陰性と結果が出ても検査実施機関では「陰性証明書は出しません」。
海外では、PCR検査が安価に実施出来るというのに、本邦では、健康保険の適用外で「自費」。しかも、有名どころのお医者さんは「タダの風邪なんだから、家で寝てれば治るっぺ。だから、検査もせんでエエ。下手に検査で来られても、検査大パニックだかんネ」というつもりらしい。

こうした(特異度の余り高くない)検査について、面白い話題があります。

cf. 【受験数学】条件付き確率の公式とイメージを徹底解説!!【確率】(例題つき) - hmorinari's diary
https://hmorinari.hatenablog.com/entry/2019/01/18/224939

このサイト様によると、1回の検査で陽性の結果が出ても、感染している確率は低いものだが、その検査陽性者集団に再検査すると、さらに確度が高くなると見込まれるらしく、「感染している確率が低いとは言え、検査自体が無意味ではありません」と述べています。

感染者の存在確率 (「事前確率」というそうです)を p としておきます。
サイト様の説明によると、「検査を受け、陽性という結果になった人が、ホントに感染しているのか」その確率 p' は、

  p' = (p*a) / ( (p*a) +  (1-p)*(1-b) )

で計算できるとのこと。
但し、
  p' ; 検査の結果、陽性だった人がホントに感染している確率
  p ; 感染症に罹患している、平均確率
  a ; 検査「感度」
  b ; 検査「特異度」
です。

サイト様の例では、
  p = 0.001 (0.1 %), a = 0.95 (95 %), b = 0.98 (98 %)
で計算しているので、検査を受け、陽性の結果になった人(サイト様では「A君」としております)が、ホントに感染している確率は

  p' = 0.04538 ... (4.538 %)

ですが、これは、同時に、検査で陽性の結果になった人々の感染確率=(検査陽性集団の)事前確率、とも言えるものです。
そこで、A君を含めた検査陽性者集団を再検査すると、

  p'' = 0.693... (69.3 %)

になります。再検査で陽性になった人々に、再再検査をすれば、

  p''' = 0.9907... (99.07 %)

という確度になります。

こうした、ちょっとした計算式の繰り返し適用は、フツーの電卓で行うには少々手間。一方、表計算ソフトで行うのは「牛刀を以って...」という例えの様に大掛かりではあります。
そこで、高機能電卓を用いるのは、どうでしょう。

感度 a と、特異度 b について、ある関係 (a+b > 1)を満たしていれば、多重検査による確度の加速は達成できます。

今度は、つぎの例でやってみました。
  p = 0.001 (0.1 %), a = 0.7 (70 %), b = 0.90 (90 %)

   0 回め   0.0069582
   1 回め   0.0467557
   2 回め   0.2555886
   3 回め   0.7061764
   4 回め   0.9438953

ここまで特異度が低い (偽陽性度が高い)場合、確度の加速を目指すとなると、再検査過程が多数回必要になります。実際、医療の現場で、こんな悠長な事をしているのだろうか ? やはり、多くの有名どころのお医者さんが申しておる、特異度 90〜99 % ちう値は、実用的ではないのだろうと。
実際、検体を放り込むと、あとは自動で検査をしてくれる医療機器とかあるそうで、こうした機器に採取した検体を放り込んでしまえば、検査過程でのコンタミ (検査過程での検体の汚染、コンタミネーション)も無さそうです。コンタミがなければ、特異度 99.99%以上、とか達成できそうです。

さて、実際はどうなのでしょうか ?

2 件のコメント:

やす (Krtyski) さんのコメント...

お久しぶりです。

かなり昔、まだ若い頃のことですが、新しい免疫検査方法の研究をやっていたことがあります。抗体検査はまさにど真ん中でした。IgGやIgM、IgA などという言葉を聞くと懐かしく感じます。それから、今回のお題であるPCRですが、PCR法による遺伝子増幅などもも実際に自分でやっていました。最新技術については、もうさっぱり知りませんが、技術の基本は同じ筈だ、ということで、PCR検査について世間でワイワイガヤガヤとやっているのを、ずぅっと聞いておりました。

PCRにおける偽陰性を語る際、皆様が殆ど口にされないのですが、とても重要なファクターがあったりします。それは PCRで何回増幅するか?ということがあります。サイクル数とかCT値などというものです。

PCRは、最近やウィルスの全DNAのうち、特定の塩基配列に着目します。この特定の塩基配列に併せてプライマという鋳型を準備します。そしてこの鋳型を混ぜて、一度温度を上げてから下げると注目している塩基配列が2倍になります。これが1サイクルです。2サイクル目には4倍、次が8倍...と倍々ゲームで塩基配列が増えていきます。こうやって特定の塩基配列をガンガン増やしてやって、検出できるレベルまで増幅します。

で、ここで増幅する塩基配列にはチョコッと仕掛けをしていて、光るようにしておきます。増幅度が低い時は光が弱すぎて、光っているのが判りません。倍々ゲームで増やしてゆくと、どこかで光るようになります。

光を検出できたら、そこで増幅を止めます。これがPCR陽性というわけです。

仮に検体が陰性の場合は、増幅してもなかなか光りません。頑張って思いっきり増幅すると、光ることがあります。これが偽陰性というわけです。

これがPCR検査ってわけです。

陰性なのに何故光るのでしょうか?
実際、光るんですよ!

サイクル数を例えば40サイクル以上にすると、2の40乗なので、ものすごい数に増えているわけです。で、実際に光ります。陰性の筈の検体が光るのですから、そこではコンタミ(陽性検体による汚染)が間違いなく起きているわけです。これがPCR検査の現場の実態です。

私の昔々の感じでいえば、せいぜい35サイクル程度でやめておくことが大切で、それ以上サイクル数を増やすとコンタミの影響が出てきてしまうってわけです。

コンタミの発生は、どうしても起こります。空気中に浮遊しているウィルスがあれば、40サイクルも増幅すれば、1兆倍になるのですから、コンタミの影響が出ます。危険はウィルスを扱うような実験室での作業に慣れた人でなければ、そりゃぁコンタミは起きても不思議ではないかと...

検査現場の問題と、サイクル数の管理は、偽陰性に直結するということ、お分かり頂けたでしょうか?

だいたいPCR法で増やした時の光の具合ですが、1000万倍になればしっかりと光ります。なので1000千万倍に増幅するのは、23とか24サイクルの計算です。実際は計算通りにはならず、もう少しサイクル数が必要なのでせいぜい30~35サイクルが妥当なところです。

だから、40サイクルというのは、ちょっと異常なわけです。

ちなみに、サイクル数42などと、最近見聞きすることがあったのです。そりゃアカンでしょう、と私など思ってしまいます。


なので、偽陰性というのは、PCR検査数を急いで増やそうとしている中で、慣れていない人が検査に関わることで、人為的に作られる側面があるのではないか、と疑いの目で見ているんですよ。

OCR検査結果については、サイクル数あるいはCT値を一緒厳密に管理して、一緒に発表すべきだと強~く思うわけです。

=====

さて、感染と発症は全く別ものですよね。
免疫系が働いて発症しない場合でも、PCRにかければ、先ず陽性になる可能性は高いでしょう。
PCR陽性に、どのような意味があるのか、判らなくなります。

但し、現在のところ最も感度の高い検査不法はOCR法です。なので、コロナの医学的なことがもっと判るまでは、PCR法は捨てられないと思います。

でも、偽陽性を人為的に作り出す可能性について、皆さんがどこまで判っていらっしゃるのか?
そして、感染していても、「それが何か?」という側面は、残りますよね。

私自身、危険な年齢になりつつありますが、それでも空騒ぎしすぎなように感じられてなりません。

感染者数の数には、あまり意味がなくて、陽性者数のなかで発症者がどの程度の割合なのか、つまり発症率を好評すべきかと思えてなりません。


ちゃぶ台返しのようなことを申し上げて、申し訳ありません。
電卓ネタでしたよね!
すみません


最近 Casio Python で遊び始めており、Casio Basicよりも爆速なので、計算も瞬時で終わってしまいます!

akatuki さんのコメント...

やす (Krtyski) 様
目下、記事が激減している零細なる当blogにコメント戴き、有難う御座います !
返事が遅れております事、御容赦戴き度 !

PCR検査の詳細についてのお知らせ、有り難く !

> さて、感染と発症は全く別ものですよね。
> 免疫系が働いて発症しない場合でも、PCRにかければ、先ず陽性になる可能性は高いでしょう。
> PCR陽性に、どのような意味があるのか、判らなくなります。
> 但し、現在のところ最も感度の高い検査不法はOCR法です。なので、コロナの医学的なことがもっと判るまでは、PCR法は捨てられないと思います。
> でも、偽陽性を人為的に作り出す可能性について、皆さんがどこまで判っていらっしゃるのか?
> そして、感染していても、「それが何か?」という側面は、残りますよね。

仰る通りであります。
感染していても、発症しなければ健康問題にはならない。
そして、致命率は今の所、低いとされております。

満員電車でインフルエンザをうつし合いするのが、冬の日本の風物詩ではあります。
そうした本邦の事情から、新型感染症も「風邪とおんなじ」という意識で進んでいるのだろうか ?
新型肺炎、致命率はインフルエンザよりも高い、と言われておりますから、ただの風邪、インフルエンザと同等に扱うのは危険ではある様に思えてなりません。

また、感染し、発症していなくとも、ウィルスを撒き散らす事は十分にありうるので、公衆衛生上、感染を確認した所で、自主的に隔離するなどの方策をとるのが望ましいのだと。そのための検査だと思います。

今日、会社の役員は労働者に対して「風邪くらいで会社を休む事無く、働け」と強要しております。
その昔は「モーレツ社員」といって「たかが風邪程度で休んでいられるか」で済みましたが、
新型感染症は、劇症化するとコロリと行ってしまうらしい。
また、回復しても、体力が落ちてしまうなどのハナシもあります。

幸い、欧米に比してアジアの国々では感染者は少ない状態ではありますが、
それでも、日本の状況は徐々に感染者数が増えてきております。
感染者が増えてくれば、発症者も増え、劇症化する事もありましょう。

新型感染症でも、少なからず人々が亡くなっております。
全国民の割合に比すれば「大した事はない」というのでしょうが、新型感染症がなければ、亡くなる事のなかった人々です。

> 私自身、危険な年齢になりつつありますが、それでも空騒ぎしすぎなように感じられてなりません。

当方も高齢の域に片足を ... であります。
仰るように、高齢、余病持ちは、発症すると重篤化しやすいと言われております。

> 感染者数の数には、あまり意味がなくて、陽性者数のなかで発症者がどの程度の割合なのか、つまり発症率を好評すべきかと思えてなりません。

仰る通りです。
行政、自治体も、集計はしておるのでしょうが、そもそも、検査数もそれほど多くないので、発症数も不明なのか ?

> ちゃぶ台返しのようなことを申し上げて、申し訳ありません。

いえいえ。コメント多謝であります !
色々と考えがあって、議論は進むのだと思うのです。

> 最近 Casio Python で遊び始めており、Casio Basicよりも爆速なので、計算も瞬時で終わってしまいます!

いいなぁ。
当方、最近は簡単な計算すらもしておらず、計算やプログラムの作業が億劫になっており、ネタも枯渇しております次第。
電卓の利用、もっとやらなアカンです、ハイ。