平均余命の簡易計算
その日まで指折り数える、とまでは言わないけれど、その日を一応意識して生活するのも良いかもしれない。ということで時折、自分の余命がどのぐらいなのか考える。そしてそのたびに厚生労働省のサイトから生命表をダウンロードして確認する。
いうまでもなく生命表だから、年齢ごとに平均余命が記載されているのだけれど、数表のままだと結構面倒なので、簡単な計算式が作れないか考えた。
まずは年齢ごとの平均余命をグラフにプロットして、その形状を見てみる。
すると60歳ぐらいまではほとんど直線的に減少し、60歳を超えるとすこし緩やかなカーブを描いて減少する。
生命現象というのは、理念的には成長曲線的な挙動になると思う。若いころにした仕事では、生命表に記載のない高年齢での死亡率をGompertz-Makehamによって外挿したこともある。
というか、理論的に負の値をとらない現象を近似するときに、負になりうる関数で近似するのは気持ち悪い。
なのだけれど、カーブを睨んでいると、そして目的が若いころの仕事のような死亡率の外挿ではなくて、単純な現時点での平均余命だから、単純に観測値にフィットする関数を使っても十分に目的は達成できる。(何よりExcelですぐできる)
ということで、結局、60歳までと60歳以上に分けて、それぞれの近似曲線を作ることにした。この程度の作業であれば、Excelで簡単にできてしまう。
実際にやってみると、二次関数で近似すると、かなりフィットする。
Excelの表示上でしかないが、60歳未満では決定係数は1と出る。
以上の結果を近似計算のスクリプトにしてみたのでみてもらおう。
使い方は説明の必要もないと思う。
ただし、いかにフィットがよくても、個々の年齢での平均余命は、生命表のそれと完全一致するわけではない。
たとえば、0歳の平均余命(つまり平均寿命)は、男;81.781、女:87.923と計算されるが、原データ(生命表)では、男:81.56、女:87.71である。(0歳での誤差が一番大きい)
このあたりは承知の上で試していただきたい。
いうまでもなく生命表だから、年齢ごとに平均余命が記載されているのだけれど、数表のままだと結構面倒なので、簡単な計算式が作れないか考えた。

すると60歳ぐらいまではほとんど直線的に減少し、60歳を超えるとすこし緩やかなカーブを描いて減少する。
生命現象というのは、理念的には成長曲線的な挙動になると思う。若いころにした仕事では、生命表に記載のない高年齢での死亡率をGompertz-Makehamによって外挿したこともある。
というか、理論的に負の値をとらない現象を近似するときに、負になりうる関数で近似するのは気持ち悪い。
なのだけれど、カーブを睨んでいると、そして目的が若いころの仕事のような死亡率の外挿ではなくて、単純な現時点での平均余命だから、単純に観測値にフィットする関数を使っても十分に目的は達成できる。(何よりExcelですぐできる)
ということで、結局、60歳までと60歳以上に分けて、それぞれの近似曲線を作ることにした。この程度の作業であれば、Excelで簡単にできてしまう。
他にも65歳で分割してみたが、結果はあまり変わらなかった。
実際にやってみると、二次関数で近似すると、かなりフィットする。
Excelの表示上でしかないが、60歳未満では決定係数は1と出る。
男 | 0~59歳 | y = 0.0007x2 - 1.0103x + 81.78 | R2 = 1 |
60歳~ | y = 0.0097x2 - 2.1109x + 116.18 | R2 = 0.9994 | |
女 | 0~59歳 | y = 0.0005x2 - 1.0075x + 87.923 | R2 = 1 |
60歳~ | y = 0.011x2 - 2.4496x + 137.88 | R2 = 0.999 |
以上の結果を近似計算のスクリプトにしてみたのでみてもらおう。
使い方は説明の必要もないと思う。
ただし、いかにフィットがよくても、個々の年齢での平均余命は、生命表のそれと完全一致するわけではない。
たとえば、0歳の平均余命(つまり平均寿命)は、男;81.781、女:87.923と計算されるが、原データ(生命表)では、男:81.56、女:87.71である。(0歳での誤差が一番大きい)
このあたりは承知の上で試していただきたい。