罹患率と有病率

概要

2020年、COVID-19(新型コロナウイルス)の感染は続き、PCR検査が毎日のように各都道府県で行われている。これに伴って検査の信頼性がときどき話題になることがある(もっと真面目に議論されてもいいと思うが)。偽陽性/偽陰性などについて、一度Bayes理論などによって自分でトレースしてみようとしたときに、有病率と罹患率の違いがあることがわかってきたので、一度まとめてみる。

有病率

有病率を簡単に言うと、ある時点において、人口に対して疾病にかかっている人の割合、ということになる。Prevalence rateまたは単にPrevelanceと呼ばれることも多い。

より正確には、有病率rPは以下のように定義される。

(1)    \begin{equation*} r_P = \frac{N_C}{N_R}} \end{equation*}

ここでNCはある時点における疾病者数(C: Contract)、NRは当該疾病のリスクを有する母集団の人数(R: Risk)。

とはいっても、当該疾病リスクを有する人を除外することはなかなか難しいので、対象とするエリアの人口を近似値として用いるのが一般的らしい。

また、ある時期と言っても疾病者数や人口の調査にはそれなりの時間がかかるため、ある期間に調査した結果を「いついつ時点」としたその時点で扱われるだろう。

有病率は0~1の実数だが、通常は対人口千人あたりとか10万人あたりで示されることが多いとのことである。

ここでPrevalenceという言葉は、流行するとか行き渡るといった意味であり、ある疾病がある時点でどれだけ広がっているか、というイメージになるだろう。

罹患率/発生率

罹患率を簡単に言うと、ある期間において対象とする疾病リスクを有する者が罹患する割合、ということになる。有病率はIncidence rateまたは単にIncidenceと言われることが多い。本来の意味で言うと「発生率」の方がより妥当で、実際にその用語も使われている。ちなみにincidentは出来事、incidenceは(望ましくない事象の)発生率・頻度という意味。

より正確には、罹患率rIは以下のように定義される。

(2)    \begin{equation*} r_I = \frac{N_I}{N_R}} \end{equation*}

ここでNIはある期間内に新たに罹患した人の数(I: Incidence)、NRは観察期間内に当該疾病のリスクを有する集団の延べ人数(R: Risk)。

分子の方は新たに罹患した人の数なので、観察期間より前から罹患している人は含まれない。

有病率と罹患率(発生率)

有病率はある時点tにおける罹患者の数を表し、罹患率はある期間Δtにおける新たな罹患者数を表す。いわば有病率は罹患者の関数値、罹患率は罹患者数の変化率のうち発生による増加率を表すことになる(時間で除していないので罹患が広がるスピードの概念は含まれていない)。

また、罹患率以外に疾病が治癒する人、疾病により死亡する人、観察エリア外に出て行ってしまう人はいずれも負の変化率に相当するが、これらを含めた(あるいはこれらを総括した「罹患減少率」のような)パラメーターはあまり登場しない。

したがって、この2つのデータだけを見ていると、罹患者数が増大しているのに有病率が変化しなかったり減少する場合がある。

なお、有病率にしても罹患率にしても一定の期間で捕捉しなければならないが、一つ違う点は、対象となる期間より前から罹患していた人は罹患率の場合分母・分子の両方から除かれるという点である。一般に中止するエリアの人口に比べてそのような人の数は少ないので、近似的には既罹患者の分だけ率が小さくなる。

(3)    \begin{align*} \lim_{N \rightarrow \infty} \frac{N_C - N_{Cprev}}{N - N_{Cprev}} = \lim_{N \rightarrow \infty} \frac{\dfrac{N_C - N_{Cprev}}{N}}{1 - \dfrac{N_{Cprev}}{N}} = \frac{N_C - N_{Cprev}}{N} \end{align*}

どういうときにどちらを使うか

以上の点を踏まえると、有病率と罹患率はそれぞれ次のような場合に有用と思われる。

有病率

その時点時点での、疾病への対策を検討する場合。たとえば、

  • 疾病に対する薬品を準備するのにどの程度の総量が必要か検討する場合
  • 地域や国などの対策重点度を判断する場合

罹患率

疾病の発生状況を重視する場合。たとえば、

  • 感染症などの拡大期に、その危険性を判断する場合の一つの指標として
    • ここで「一つの指標」としたのは、その他に有病期間、致死率など「単に罹っただけ」で騒ぐのではない判断要素も必要と考えたため。
  • 疾病に対する予防法の効果を検証する場合

PCR検査?

2020年9月時点、COVID-19(新型コロナウイルス)の発症は続いており、PCR検査に関する議論も喧しい。個別の陽性反応に対してどのように対処するかという議論と別に、そもそもPCR検査の偽陽性/偽陰性、陽性/陰性的中率を議論するときは、有病率と罹患率のどちらを使うのが適切だろうか。

まず罹患率の方を考えてみる。

各都道府県でPCR検査が毎日行われているが、陽性率とのセットで考えるなら、PCR検査の結果もリアルタイムに近い形で(少なくともそういう思想で)発生者の全容を捉えるべきだろう。ところがその数は日単位で悉皆の調査というレベルには程遠い(日本に限らずこれはどこの国もそうだ)。一か月程度で各都道府県の全人口の検査ができるなら月単位での罹患者増加状況は捉えられるが、それでも実現性には難があり、スピードが遅すぎる。まして一週間単位で(しかも毎週?)そのようなことをしようとするのも無理だ。したがって、PCR検査に対して罹患率の考えを適用するのは難しいだろう。考えてみれば、罹患率の場合は既発生者が除かれるのだから、ヒアリングか何かで期間前に罹患していた人を除外しなければ分母と分子で意味が違ってしまう。

となると、PCR検査でいろいろとデータをいじるのは、有病率を使って、ということになる。

「期間前の既発生者も除かない」ということと、検査で陽性/陰性になった人の状況からその時点での全容を推測する、という点から見れば、Bayes理論で条件付確率を計算するときなどに用いるのは有病率だろう。

まとめ

罹患率と有病率の区別は、医学・疫学の世界ではあたりまえとされていることが、あまり伝わっていない例の一つだ。違いを説明しようとするとやっかいだが、そういうことを明快に伝えて、受け取る側も腹に落とすことができれば一番いいのだが。

これはIT業界、建設業界でも同じで、説明に関する意識の問題(その前段の必要性を感じるかどうかの問題)であるとともに、門外の専門家や一般の多くの人の側が理解しようとする文化も大切かもしれない。技術・政策や危機管理に関するコミュニケーションの問題(発する側、受ける側のどちらも)に通ずると思う。

 

複利計算

概要

複利計算でいろいろなサイトを見るが、どれも前提なしで話を始めたりいきなりExcelの関数を使ったりするものばかりで、スタートラインからどう考えているのかを説明するものにあたらなかった(きっとあるのだろうけれど)。

なので、自分なりの頭の整理のために一から組み立ててみる。

預金の複利計算

一時払い

一時払いは、最初に一定金額を預けた後は預金口座に手を触れずに、満期や解約の時にいくらになるかというもので、これは比較的わかりやすい。たとえば年率1%の預金に100万円を預けたら10年後にいくらになっているか、というような計算。表計算で計算すると以下のようになる。

このとき、以下のような仕組みだということを明記しておく。

  • 期首の途中に預けても、期末までに年利率がすべて適用される(日割りなどはされない)
  • その年利率を適用した利子が期首金額に加えられ、翌期の期首金額となる
  • 毎年の利子の計算の際、小数点以下は切り落としている

これくらいだと、元本に対して利率1%を定額で10年適用した結果と変わらない。ところが50年も置いておくと最終金額は16,443円になり、定額の15,000円との乖離が大きくなってくる。

年利率を2%にすると様相が変わってきて、10年後の利子は2,186円、50年後には利子分で16,873円になる。

50年間の預金額の変化を1%、2%の定額と複利で比較してみると以下のようになる。

所謂指数関数で、利率が大きくなると、あるいは期間が長くなるとカーブの上がり方が急になる。

こういった計算は高校で数列を習うと教えてくれる。たとえば上の例で、預入金額をa、年利率をRとするとn年目の期末残高bは以下のように表される。

(1)    \begin{equation*} b = a (1+R)^n \end{equation*}

この式に上の金額や利率、年数を入れると同じ結果が出ることが確認できる。式で計算した方が数円額が大きくなるが、これは表計算の際に端数を切り落としたのに対して、数式では丸めずに計算するからである。

積立て

たとえば毎年10万円を積み立てながら年利率1%を適用した時にどうなるか。この場合は、前期末の金額に積立額を加えた額が期首金額となり、以下のような結果になる。

これを定式化するのに次のように考える。毎月a円を積み立てるとして1年目の期末金額b1は、

(2)    \begin{equation*} b_1 = a (1+R) \end{equation*}

2年目の期末残高は、この期末残高にa円を加えて利率を適用するので、

(3)    \begin{equation*} b_2 = (b_1 + a) (1+R) = \left( a (1+R) + a \right) (1+R) = a(1+R) + a(1+R)^2 \end{equation*}

これをn年目まで繰り返すと、最終的な残高は以下のようになる。各月に預けた額ごとに、現在までの利子が複利で適用されて積み重なっているのが表現されている。

(4)    \begin{equation*} b_n = a (1+R) + a (1+R)^2 + \cdots + a(1+R)^n \end{equation*}

これは初項がa (1 + R)、公比が1 + Rの等比数列の和になるので、預金残高は以下の式で計算できる。

(5)    \begin{align*} b_n &= a (1+R) \frac{1 - (1+R)^n}{1 - (1+R)} = a(1+R) \frac{(1+R)^n - 1}{R} \\ &=a \frac{(1+R)^{n+1} - R - 1}{R} \end{align*}

借金の複利計算

元利均等返済方式

借金を返す場合、期首に残っている額に利子を掛けた要返済額から各期の返済額を引いた額が翌期首の残額となる。利率は年率表示だが、返済は月ごととし、月利率=年利率÷12とする。

年利3%で120万円を借り入れて、毎月返済して12か月で返すケースを考え、月ごとの額を同額としたいとする。試みに、120万円に利子がつかないとすると毎月10万円を返せばいいが、この場合は積み重なっていく利子の分だけ返しきれない。

次に120万円に対して12か月間の月利率を複利で適用すると120×1.002512≒123万6500円。これを12か月で割ると、突き当りの返済額は約1万3千円となる。これは毎月の返済を全くしない想定なので、実際に借入残高が減っていくのに対して返しすぎることになる。

この2つの値の間で二分法で答えを探していくと、以下の額に到達する。この時の利子の総額は19,584円で、借り入れの利回りは約1.632%になる。

これを数式で表現してみる。借入額をa、月利をr、返済額pとすると、一月目の借入残額b1は、

(6)    \begin{equation*} b_1 = a (1+r) - p \end{equation*}

二月目の借入残額b2は、一月目の残額に月利を適用してから返済するので、

(7)    \begin{align*} b_2 &= b_1 (1+r) - p = \left( a (1+r) - p \right) (1+r) - p \\ &= a (1+r)^2 - p (1+r) - p \end{align*}

これは、n月までに借入額に複利で計算した額に対して、返す方も毎月の月数に応じた複利で足し上げて返しますよということになる。これをn月後まで続けた残額bnは以下のようになる。

(8)    \begin{align*} b_n &= a (1+r)^n - p (1+r)^{n-1} - \cdots - p \\ &= a (1+r)^n - p \frac{1 - (1+r)^n}{1 - (1+r)} \\ &= a (1+r)^n - p \frac{(1+r)^n - 1}{r} \end{align*}

n月目で残額がゼロとなるようにすると、毎月の返済額pは以下で表される。

(9)    \begin{align*} p = a (1+r)^n \frac{r}{(1+r)^n - 1} \end{align*}

先ほどの計算では手計算で収束させたが、利率が与えられたときの元利均等の返済額は解析的に求めることができる。表計算ソフトの関数も、この煩雑な関数をシンプルに表現しているに過ぎない。

元本均等方式

元金均等方式は借入額を返済期数で割って均等とし、これに毎期の発生する利子を加えて返済する。この場合の利子総額は19,500円で、借り入れ利回りは1.625%となる。

借入額をa、借り入れ期数をm、月利をr、一月目の借入利子i1とすると、残額b1は、

(10)    \begin{equation*} b_1 = a (1+r) - \frac{a}{m} - ar = a - \frac{a}{m} \end{equation*}

二月目の残額b2は、

(11)    \begin{equation*} b_2 = b_1 (1+r) - \frac{a}{m} - b_1 r = b_1 - \frac{a}{m} = a - 2 \frac{a}{m} \end{equation*}

これを繰り返してn月目の残額は、

(12)    \begin{equation*} b_n = a - n \frac{a}{m} \end{equation*}

n期目の利子額inは、n − 1期末の残額に利率を適用して、以下で計算される。

(13)    \begin{equation*} i_n = \left( a - (n - 1) \frac{a}{m} \right) r \end{equation*}

アドオン方式

この方法は、単利計算に相当し、元本とそれに対する利子の総額を期数で割って均等化した額を返済する。利率は年率を用いて利子を計算し、これを月ごとに均等に割る。これまでの例で計算すると、利子総額は36,000円で、借り入れ利回りは3%。

毎月の返済額pは、借入額aに年利Rをそのまま適用して期数mで割ればよい。

(14)    \begin{equation*} p = \frac{a (1 + R)}{m} \end{equation*}

比較

元利均等方式は、初期の残額が大きいときの利子を後期に分担させて返済額を均等にする。返済計画が明瞭になるため、一般的なローンに用いられる。

これに対して元本均等方式は初期の残額に対する利子をそのまま負担するので、元利均等方式に比べて初期の利払いが多くなる。逆に早い段階から大きな額で返済していくため、トータルの利払いは元本均等方式の方が元利均等方式よりも少なくなる。企業の資金借入れはこの方法が多い。

アドオン方式は返済中の元利の減少を全く考慮しないため、利払いが最も大きくなる。毎月の返済額が一定で計算も簡単なため、割賦販売の場合に用いられる。