車輪の再開発ブログ

Python & CTF Beginner!

72の法則の誤差

72の法則の証明・・・(?)

先日、ふと、72の法則って、どれくらい正しい(近似的に正しい)のかなと思い、ググってみると、下の記事?サイト?が、ヒットして、読んでみました。

非常にわかりやすかったです。

www.mathwills.com

しかし、読んで、引っかかったところがありました。

説明を読んでいると、誤差を生み出す場所が、2ヶ所あります。

  •  \ln(1+x) \approx x の近似 (以下、近似1と呼ぶ)
  •  2\ln(100) \approx 69 への近似(以下、近似2と呼ぶ)

特に、近似1は、xが小さい時は成り立つ(誤差が小さい)のだけれども、利率rとして、r/100 が十分小さいのかどうかというところだ。

一応、この法則の利用想定の利率としては、1%から10%ぐらいの値なのだと思う。

1%なら0.01なので2桁違うからそこそこ小さいけど、10%だと0.1なので、1桁ぐらいなので、微妙なんじゃないかなと思いました。

数値計算

そこで、数値的に調べてみましょう。ということで、numpyとmatplotlibで、えいやと書いてみました。コードはgistにあげるかも。

比較対象は、

  • 近似なし
  •  \ln(1+x) \approx x の近似したもの(近似1を適用)
  • 72の法則 (  \frac{72}{r} )
  • 69の法則 (  \frac{69}{r} )(近似1と近似2を適用)

の4つです。 結果は以下の通り。

左図が全体で、右図は、利率が8%のところを拡大した図です。

全体としては、3つの近似ともに、近似なしと似た曲線をちゃんと描いているように見えます。 利率8%前後でみると、72の法則は、 ln(1+x) = xの近似、69の法則よりも、近似なし(青線)に近いことがわかります。

近似2だけでみると、72よりも69の方が正確なのですが、その前段階で、もっと大きい誤差があるよ、ということなのだと思います。

もう少し詳しく結果を確認したいと思います。 y軸を「2倍になる年数」で表示すると、線の順番がわかりにくいので、絶対誤差を表示させたいと思います。つまり、「|近似の値 ー 近似なしの値|」です。 この絶対値が小さいほど、より正確であるということです。

金利の小さいところ(3.5%ぐらいまで)では、「69の法則」の方が、「72の法則」よりも、誤差が小さい(精度が高い)であることがわかります。 逆に、3.5%ぐらいよりも大きいところでは、「72の法則」の方が、「69の法則」よりも誤差が小さいことがわかります。

実は、72のほうが割り算しやすいという勝手な理由で69を72で近似しているのだ。

こうとも言い切れなくて、4%から12%とかの範囲で使う場合は、72の方がより正確のようです。

では、72や69といった反比例の係数は、どのように影響するのだろうかということが気になったので、68から73の各法則を計算してみました。 今度は、絶対誤差ではなくて、単に誤差です。「近似の値 ー 近似なしの値」。(プラスであれば、実際よりも、年数が長めに算出されるという意味です。)

※線の色が、今までのものと違うところに注意。

どの法則が好きですか?