PCR検査の偽陽性問題を具体値で考える

PCR検査の拡充に対して偽陽性の問題がたびたび出てくる。8月現在で陽性率の高さもあって、再びPCR検査を増やすあるいは増やさないの意見が飛び交うわけだが、具体的に既にPCR検査を行っている国の場合、どの程度の「偽陽性」を許容しているのかを計算してみることにしよう。

感度と特異度

まずは用語を明確にしておく。

検査/東京大学 保健センター

ベイズだと感度も特異度も同等に扱うのだけど、疫学では別々に扱う。

  • 感度が、検査によって真の陽性者が陽性と判明する確率
  • 特異度が、検査によって真の陰性者が陰性と判明する確率

を表す。東大保健センターの図をそのまま借用すると以下のようになる。

ここで問題になるのは、

  • 検査によって真の陽性者ではあるが陰性として判別される「偽陰性」
  • 検査によって真の陰性者ではあるが陽性として判断される「偽陽性」

の2種類がある。この数値が増加することによる問題はそれぞれ別になる。

  • 偽陰性が増加すると、市中に陰性と思っている陽性患者を放つことになる → 二次感染の増加
  • 偽陽性が増加すると、陽性と思っている陰性者(正常者)が病院に収容することになり病床を圧迫する → 医療崩壊の可能性

「陽性的中率」は 70/(70+9) = 検出した真の陽性者数 / 検査での陽性者数 となる。陽性的中率が悪ければ、罹患していない人を患者として病院に収容することになる。これも病床が埋まり、医療崩壊の原因となる。

新型コロナウィルスのPCR検査では、どの程度の感度と特異度なのかが問題なのであるが、医療機関の解説を見ると、以下のようになる。

  • 感度 70%
  • 特異度 99%

特異度が極めて高いのは、偽陽性を多くして余計な治療を行わないように注意するためだ。通常の医療であっても、薬の投与には副作用があり健康体に害が多い。ゆえに、無闇に薬を出さないようにするため(正常体を間違って副作用で病気にさせないため)に、特異度を極めて高く=偽陽性を極めて低くなるように慎重に調査する。

感度が特異度よりも低いのは、病気の疑いがある場合も患者を拾うためだ(と思う)。PCR検査の場合は、ウィルスの数を敷居とするため、無闇に高い閾値にする≒感度を上げると本来のウィルスで病気になる人を見落としてしまう恐れがある。それよりも、まずは閾値を少し下げて≒感度を下げて病気の疑いがあることを示す。それから再検査という手順になる。よくある人間ドックの精密検査がその方式で、人間ドックでは大まかな病気疑いを血液検査やバリウム検査などで異常値を取得する。このときに、ちょっと疑いありの状態では精密検査として後日再調査をする。
ときには、精密検査をしても何も出ずに健康体であったことがわかる。しかし、何分の一の確率で実際に病気であることがわかる。このとき、最初の人間ドックの検査が無駄であったという訳ではなく、精密検査をするためのよい閾値となっていることがわかる。
この方式を「スクリーニング」と呼ぶ。

スクリーニングの手法は、医療関係だけでなくテスト手法や製造工程の以上検出などでよく使われる。製造工程が異常であること(不良品を出さないという意味で)を素早く検知したいが、無闇に工程を止めるのも時間と資金の無駄であるのでできるだけ工程を止めたくないというジレンマがある。検出器のスピードや精度にも関わってくる。この場合、不良品検出のための閾値を低めに設定しておき、不良品疑いのものをもう一度検品するという方法をとる。最初の不良品検出はざっと行うスクリーニングになる。苦情受付の電話窓口と裏に控えている部長の関係もスクリーニングになる。

このように不良であること、この場合は陽性として検出して患者として治療にあたりたいという目的に沿う場合、二段階の検査が有効に働く。

日本のPCR検査の場合、CTスキャンによる検査や医者の問診が良いスクリーニングになっている。CTスキャンによる肺炎疑いや、専門医よる病状の早く、あるいは濃厚接触者というスクリーニングを経て、PCR検査という手順を踏む。当然、PCR検査自体もできるだけ陽性患者を拾う(隔離という意味でも)たい意図があるので、感度はあまり上げていないのだと思われる。
この感度が90%だったり、特異度を99%近くに上げることが妥当かどうかはよくわからない。ただ、ウィルスの数を閾値としているのだから、ある程度の幅を持たせないと意味がない。少しのウィルスでも病気になるのか、それとも大量のウィルスでないと病気にならないのかという違いがある。単純に言えば、1個だけの新型コロナウィルスが肺に入っても病気にはならないだろう。1個だけなのに急激に増殖するとは考えにくい。ならば10個ならばどうか、100個ならばどうか、という形で閾値を決めることになる。そこには確率的に罹患するかどうかの境目があるので、明確な数があるわけではない。

これにより、感度と特異度は、凡その値として以下を使ってもよいのだろうと思う。

  • 感度 70%
  • 特異度 99%

このスクリーニングが結構重要な役割をしていることが解る。ベイズで言えばこれが「事前条件」となる。スクリーニングがあるなしでは、この事前条件が異なるため、その後の確率の見方が異なる。

一方で陽性率の計算として

  • 陽性率 = 陽性者数 / PCR検査数

がよく使われる。陽性率が高いと危険でPCR検査の数が足りていない、というのがPCR検査を多くする場合の理由の一つとなるのだが、

  • スクリーニングの精度が良く、ほどよく感度を上げている場合には、陽性率は高くなる
  • スクリーニングの精度が悪く、患者疑いの人を大量に組み上げている場合には、陽性率は低くなる

という特徴がある。例としては、前者がCTスキャン等でスクリーニングを行った場合、後者が自己診断によるPCR検査の希望、という形になる。
ただし、「スクリーニングの精度」にも問題があり、例えば「確実に、新型コロナウィルスに罹った患者しか通さないスクリーニング」を施した場合でも、陽性率は高くなる。4月頃に言われていた、37度が4日間継続というのはそれに近いところがある。
故に、陽性率の高い低いだけでは、PCR検査の数が妥当であるかどうかは解らないということが、解るのである。

ニューヨーク市の偽陽性を推測する

さて、ほどんどCTスキャン検査をしていない(と思う)状態で、PCR検査を最大化している(と思われる)ニューヨーク市の状態で偽陽性の数を計算してみよう。


ニューヨーク州の人口は1945万人で、抗体検査によりニューヨーク市は12%程度は既に感染済みであることがわかっている。本来は市のほうで計算したかったのだが、検査済み検査数が州のほうにしかないので「ニューヨーク州」で計算する。

8/1 時点

  • 感染者数 754 人
  • 実施済み検査数 82,737 人

ほんとうは実際に検査した中から感染者数を割り出さないといけないのだが、今回は概算なのでこの数値を使う。

同様に東京都の8/1では

  • 感染者数 472 人
  • 検査数 4324 人

となっている。

これを先の表に埋め込む

  • 検査で陽性の計に「感染者数」を入れる
  • 検査で陰性の計に「検査数 – 感染者数」を入れる。
  • 合計値が「検査数」になる。

このとき、真の罹患している/罹患していない人数を計算したい。
ここで、初期値として、検査が100%正しいと仮定して、

  • 罹患している人 = 感染者数
  • 罹患していない人 = 検査数 – 感染者数

を入れる。当然のことながら、合計値は同じになる。

ここで、検査の仮定である「感度」と「特異度」を入れる。

  • 感度 70%
  • 特異度 99%

罹患している人の数から、感度の割合で、検査の陽性/陰性を割り振る。
罹患していない人の数から、特異度の割合で、検査の陽性/陰性を割り振る。

検査の陽性の合計を、「推測」の列に入れる。
同じように検査の陰性を「推測」の列に入れる。

ここで、罹患している/していない人数が、正しいければ、計の列と推測の列は一致するはずなのだが、当然のことながら一致しない。これは、感度と特異度があるから、当然のことなのだ。検査は実際の真の値とはズレる。

これを違いとして列をつくっておく。

さて、初期値である罹患している人数が違っていることが分かったので、これを真の値に近づけてみよう。
本来ならば、最小二乗法などを使いながら近づけるのだけど、ぽちぽちと「違い」を見ながら値を近づけていくだけでも可能だ。

東京都の場合は、最初の472から620まで増やしていくと「違い」の列がほぼゼロになることがわかる。つまり、この検査では、

  • 偽陰性は186人ほど取りこぼし、
  • 偽陽性で37人ほど間違って隔離している

ことがわかる。

同じことをニューヨーク州で実験してみよう。
東京都の場合と違い、罹患している患者(オレンジのセル)を少しずつ下げていくと違いが減少していくことがわかる。この違いが「0」になれば、真の罹患している患者数がわかるはずだ。
しかし、ニューヨーク州の場合は、罹患している人数を 10 人にしても、違いが0にならない。
これはどういうことだろうか?

  • PCR検査の感度や特異度の仮定が間違っているため、計算があわない。
  • PCR検査が多すぎるため、偽陽性多すぎて、正しく検査できていない。

のどちらかだろう。

このシミュレーションでは、ニューヨーク州でのPCR検査では、罹患している人を正しく検出できていないことが判明する(感度や特異度の仮定が正しければ)。つまり、感度が70%、特異度が99%程度では、真の罹患している患者が0人であっても、検査で陽性となる患者が700人以上で出てしまうということだ。

特異度を 99.9% と仮定する

実際の特異度はもっと高くて、ほぼ100%に近いという記事もある。

RIETI – PCR検査体制の拡充と偽陽性の問題

では、特異度を10倍精度良くして、99.9%と99.99%で考えてみよう。

この位の特異度になると、PCR検査は有効に働く。

  • 特異度が 99.9% の場合は、真の罹患者が 970 人程度
  • 特異度が 99.99% の場合は、真の罹患者が 1070 人程度

と推測される。つまり、偽陽性が極端に少ない状態=特異度の精度が高い状態の場合には、大量なPCR検査は有効に働くということだ。

所感

実際の感度がどの位なのかは解らないが、特異度が極めて高い(偽陽性が限りなく低い)状態でないと、大量PCR検査は有効に働かない。
また、感度の関係から、検査をしても一定量の真の感染患者を取りこぼしてしまう。取りこぼしをどうするのかという問題が残ってしまう。

対策としては、「検査で陰性であっても、偽陰性を疑い一定期間隔離する」ことになるのだが、この表に出てくる「検査で陰性」かつ「罹患している」患者というのは具体的に知ることはできない。「検査で陰性」の人数に含まれてしまっている。このため、偽陰性を疑い、すべての人を隔離してしまうとそれだけで病床が埋まってしまい医療崩壊を起してしまう。難しいところだ。

このため、偽陰性自体を減らす方法として、

  • 検査の総数自体を減らして、偽陽性となる人数を減らす

ことになるので、「検査の総数」を減らすために事前のスクリーニング(事前条件となるCTスキャンや医師による判断、濃厚接触者の判断)が必要になると思われる。このあたりのシミュレーションは別途行いたい。

参考文献

カテゴリー: 開発 パーマリンク