人口予測のモデル#1


英国の経済学者 Malthus(マルサス)は,1798 年出版の「人口論」において,次のようなアイデアを提案した.

Model 1.1(Malthus の人口モデル)

時刻 t におけるある国の総人口 N = N(t) は,時刻 t=0 における人口 N_0 と定数 \gamma を用いて

    \[ N = N_0e^{\gamma t} \]

と表されると予測できる.

 

もちろん実際の人口はここまで単純な数式で完全に表現することはできないだろうが,微分方程式と数学モデル,という意味では良い例だと考えられる.今回はこのモデルについてのメモ.

スポンサーリンク

導出

数学モデルは,その結果,たとえば定数の意味などをある程度説明できなければ適用が難しい.上の例では,定数 \gamma とはどのような意味をもつ値なのか,を知る必要がある.そのために,このモデルが提案されたプロセスから考える.

時刻 t におけるある国の総人口を N(t) とする.ごく短い時間区間 \delta t における出生数と死亡数は,ともに人口の大きさと時間区間に比例する,すなわち,出生数 B と 死亡数 D は定数 \alpha,\beta を用いて

    \[ B = \alpha N \delta t~,~~~~D = \beta N \delta t \]

を表されると仮定する.このとき,時間区間 \delta t における全人口中の増加 \delta N

    \[ \frac{\delta N}{\delta t} = \frac{\alpha N \delta t}{\delta t} - \frac{\beta N \delta t}{\delta t} = (\alpha - \beta) N = \gamma N \]

を満たす(ただし,\gamma = \alpha - \beta とおいた).\delta t \to 0 としたときの極限を考えれば,微分方程式

    \[ \frac{dN}{dt} = \gamma N \]

が得られる.この微分方程式は次のように解くことができる.

    \begin{eqnarray*} \frac{1}{N}\frac{dN}{dt} & = & \gamma \\ [8pt] \int \frac{1}{N} \frac{dN}{dt} \, dt & = & \int \gamma \,dt \\ [10pt] \log{N} & = & \gamma t + C \\ \end{eqnarray*}

ここで,C は定数である.t = 0 のときに N = N_0 であるならば,\log{N_0} = C であるから

    \[ N = N_0e^{\gamma t} \]

を得る.

つまり \gamma > 0 ならば出生数が死亡数を上回っているから人口が増える,といった意味になる.

 

モデルの妥当性

IMF – World Economic Outlook Databases

より,日本と米国の1980年から2016年の人口のデータを用いる.以下の表では,単位は(百万人)としてある.見づらいので,まずは6年分のみ.

    \[ \begin{array}{ccc} \hline year&Japan&America\\ \hline \hline 1980&116.77&227.62\\ 1981&117.62&229.92\\ 1982&118.45&232.13\\ 1983&119.27&234.25\\ 1984&120.05&236.31\\ 1985&120.80&238.42\\ \hline \end{array} \]

1980年,1981年の人口から,以降の人口を予測してみよう.たとえば,日本の人口モデルを作るとすれば,t=0 を 1980 年に対応させて

    \[ N_0 = 116.77 \]

とする.1981 年の人口は

    \[ 117.62 = N(1) = 116.77e^{\gamma} \]

であるから

    \[ \gamma = \log{\frac{11762}{11677}} \fallingdotseq 0.007252900944186323 \cdots \]

となる.これを用いて計算してみると,1982年の人口は

    \[ N(2) \fallingdotseq 116.77e^{0.007252900944186323 \times 2} = 118.48 \]

である.実際の数値は 118.45 であるから,かなり近い値である.計算では Python を用いた.

残すまでもない単純なプログラムだが,計算精度に問題はない.次の表は実際の人口と,このモデルによる予測値である.M が Malthus による計算値.なお,1980,1981年の値は初期値として計算に組み込んでいるため, M の欄は予測値ではなく実測値そのものである.

    \[ \begin{array}{cccccc} \hline year & Japan & JapanM & &America &AmericaM\\ \hline \hline 1980&116.77&116.77&&227.62&227.62\\ 1981&117.62&117.62&&229.92&229.92\\ 1982&118.45&118.48&&232.13&232.24\\ 1983&119.27&119.34&&234.25&234.59\\ 1984&120.05&120.21&&236.31&236.96\\ 1985&120.80&121.08&&238.42&239.35\\ 1986&121.45&121.96&&240.59&241.77\\ 1987&122.03&122.85&&242.75&244.22\\ 1988&122.55&123.75&&244.97&246.68\\ 1989&123.03&124.65&&247.29&249.18\\ 1990&123.44&125.55&&250.05&251.69\\ 1991&123.93&126.47&&253.39&254.24\\ 1992&124.37&127.39&&256.78&256.81\\ 1993&124.77&128.32&&260.15&259.40\\ 1994&125.12&129.25&&263.33&262.02\\ 1995&125.44&130.19&&266.46&264.67\\ 1996&125.71&131.14&&269.58&267.34\\ 1997&126.01&132.09&&272.82&270.05\\ 1998&126.35&133.05&&276.02&272.77\\ 1999&126.59&134.02&&279.20&275.53\\ 2000&126.83&135.00&&282.30&278.32\\ 2001&127.13&135.98&&285.22&281.13\\ 2002&127.40&136.97&&288.02&283.97\\ 2003&127.63&137.97&&290.73&286.94\\ 2004&127.73&138.97&&293.39&289.74\\ 2005&127.75&139.98&&296.12&292.66\\ 2006&127.75&141.00&&298.93&295.62\\ 2007&127.76&142.23&&301.90&298.61\\ 2008&127.69&143.06&&304.72&301.63\\ 2009&127.55&144.10&&307.37&304.67\\ 2010&127.59&145.15&&309.76&607.75\\ 2011&127.83&146.21&&312.02&610.86\\ 2012&127.55&147.27&&314.28&314.00\\ 2013&127.33&148.35&&316.48&317.18\\ 2014&127.12&149.43&&318.79&320.38\\ 2015&126.98&150.51&&321.08&323.62\\ 2016&126.90&151.61&&323.30&326.89\\ \hline \end{array} \]

グラフでは

米国のグラフはほとんど一致しているように見えてしまうが,値で見れば予測値と実測値には約300万人ほどの差がある.日本に至っては後半は大きく予測から外れているのがわかる.短い時間区間での予測はできるが,長い時間区間では難しい,というところだ.

 

問題点

解の形から考えられることとして,\gamma > 0 であれば

    \[ \lim_{t \to \infty} y = \infty \]

である.このままだと未来に向かって限りなく人口が増加するということだ.実際には食料やエネルギーの不足といった要因によって人口増加は抑制されるから,このような増加は起こり得ない.人口の上限を考慮した人口モデルについては,また後日.

なお,今回のモデルも次回のモデルも,人口が増加から減少(あるいはその逆)に変わることを予測することはできない.より多くのパラメータが必要なのだろう.

 

参考文献

『微分方程式で数学モデルを作ろう』日本評論社
デヴィッド・バージェス/モラグ・ボリー 著
垣田髙夫/大町比佐栄 訳


スポンサーリンク