ナユミ
カヤちゃん、この前ニュースで世界人口が2050年には97億人に達するって聞いたんだけど、人口の予測ってどういう風にするの?
カヤ
そうだなあ、実際の人口予測は結構難しい問題だから、今回はマルサスモデルという古典的なモデルから少し考えてみよう。
マルサスモデル
イギリスの経済学者トマス・ロバート・マルサスは1798年に出版した「人口論」で人口予測についてのアイデアを発表しました。
トマス・ロバート・マルサス
彼は人口予測のモデル化にあたって、短い時間区間 \( \Delta t \) における出生数と死亡数は、どちらも人口 \( N \) と時間区間 \( \Delta t \) に比例すると仮定しました。
\[ 出生数 = \alpha N \Delta t 、死亡数 = \beta N \Delta t \ \ \ ( \alpha 、\beta は定数 ) \cdots (1) \]
※1:\( \Delta \) (デルタ)は大文字のギリシャ文字です。この文字は何らかの「幅を持った区間」を表すときによく用いられます。具体的に書き下すなら、2つの異なる時刻 \( t_1 \) と \( t_2 \) を用いて、
\[ \Delta t = t_2 - t_1 \]
と表せます。
※2:時刻は \( t \) で表すことが多く、これは英語のtimeから来ています。同じように何かの数を表すときは \( N \) を使うことが多く、これも英語のNumberに由来します。
\( \alpha \) 、\( \beta \) はそれぞれ出生率、死亡率とも呼ばれる定数 (時刻 \( t \) が変化しても変わらない値)です。実際の出生率と死亡率は国の経済状況や社会福祉制度などの影響を受け変化するものですが、マルサスモデルでは単純化のためこれらを定数とみなします。
ナユミ
比例ってどういうことだったかしら。
カヤ
比例ぐらいはわかっててほしいな、ナユ姉。
\[ 比例\]
変数 \( y \) が変数 \( x \) の関数であり、かつ、ある定数 \( a \neq 0 \) を用いて、 \( y = ax \) と表されるとき、\( y \) は \( x \) に比例する と言い、\( a \) を比例定数 、あるいは変化の割合 と呼ぶ。
※1:ある文字、あるいは記号の値を変化するものとして取り扱うとき、その文字、あるいは記号を変数 と呼びます。
※2:記号同士、あるいは記号と数字のかけ算では \( \times \) を省略して表すことが多いです。
※3:ある一種類の変数の値が、他の変数の値、定数の値および数に応じてただ一つに定まるという関係のことを関数 と呼びます。
ナユミ
記号ばかりだと、なかなかイメージしづらいわね。
カヤ
それなら、記号に値を代入してみればいい。
例えば、\( \alpha = 0.1 \) [/日]、\( N = 100 \) [人]、\( \Delta t = 1 \) [日]としてみれば、出生数は \( 0.1 \times 100 \times 1 = 10 \) [人]となります。ここで、[/~]は~あたりという単位を表しています。つまり、この例では人口が \( 100 \) 人の村があったとして、そこで \( 1 \) 日が経過すると、\( 0.1 \times 100 = 10 \) 人が産まれるということを表しています。
カヤ
次は時間区間 \( \Delta t \) 内にどれだけ人口が増加したかを考えてみよう。
時間区間 \( \Delta t \) 内の人口増加分を \( \Delta N \) とすれば、
\[ \Delta N = (出生数) - (死亡数) = \alpha N \Delta t - \beta N \Delta t = ( \alpha - \beta ) N \Delta t \cdots (2) \]
最後の式変形は分配法則 と呼ばれるもので、砕けた表現では「かっこでくくる」とも言われます。
次はこの式の両辺を \( \Delta t \) で割ります。
\[ \frac{\Delta N}{\Delta t} = ( \alpha - \beta ) N \cdots (3) \]
\( \Delta N / \Delta t \) は人口の変化速度を表しています。これは、みはじ(はじき)の円において速さを求める計算と同じです。「人口の変化量」は「道のり(距離)」に対応しています。
ナユミ
\( (3) \) 式で人口の変化速度は求まるのね。
カヤ
まあ、そういえばそういうことになるが、目指しているのはさっきの式で求めた人口の変化速度ではないんだ。
\( (3) \) 式で求めたのは、時間区間 \( \Delta t \) 内の人口の変化の「平均の速さ」です。ですが、今回求めたいのは人口の変化の「瞬間の速さ」です。瞬間の速さは限りなく0に近い時間区間における平均の速さとも言い換えることができ、これは数学的には極限 を取る操作に該当します。時間区間 \( \Delta t \) を限りなく \( 0 \) に近づける操作を \( \lim_{\Delta t \to 0} \) と書き、このときの人口増加分 \( \Delta N \) と時間区間 \( \Delta t \) との比 \( \frac{\Delta N}{\Delta t} \) を \( \frac{dN}{dt} \) と表すことにすると、瞬間の速さは次のように表せます。
\[ \lim_{\Delta t \to 0} \frac{\Delta N}{\Delta t} = \frac{dN}{dt} = (\alpha - \beta) N \cdots (4) \]
\( (4) \) 式のように未知関数(ここでは \( N \) )の導関数 を含む方程式 を微分方程式 と呼びます。
この微分方程式を基にして、様々な方法で人口の変化を予測することができます。
やり方はいくつかありますが、今回はこの式を変数分離法 を用いて解いてみます。
\[ 変数分離法による解法\]
\[ \begin{align}
\frac{dN}{dt} &= (\alpha - \beta) N \\\\
\frac{1}{N} \frac{dN}{dt} &= ( \alpha - \beta ) \\\\
\int \frac{1}{N} \frac{dN}{dt} dt &= \int ( \alpha - \beta ) dt \\\\
\int \frac{1}{N} dN &= \int ( \alpha - \beta ) dt \\\\
\ln N &= ( \alpha - \beta ) t + C
\end{align}\]
\( t = 0 \) のとき、\( N = N_0 \) とすれば、\( C = \ln N_0 \) となるから、
\[ \begin{align}
\ln N &= ( \alpha - \beta ) t + \ln N_0 \\\\
\ln N - \ln N_0 &= ( \alpha - \beta ) t \\\\
\ln \frac{N}{N_0} &= ( \alpha - \beta ) t \\\\
\frac{N}{N_0} &= e^{( \alpha - \beta ) t} \\\\
N &= N_0 e^{( \alpha - \beta ) t}
\end{align}\]
前半部分は左辺に \( N \) の式、右辺にそれ以外の式を持っていき(変数分離)、両辺を不定積分 しています。後半は初期条件 \( \left( t, N \right) = \left( 0, N_0 \right) \) を用いて積分定数 \( C \) を定めて微分方程式の特解
\[ N = N_0 e^{( \alpha - \beta ) t} \]
を求めています。
カヤ
求めた特解を使って人口の変化を計算できるツールがこれだ。\( N_0 \) 、\( \alpha \) 、\( \beta \) の値を変えて遊んでみるといいぞ。それと、\( T \) は計算する時間範囲でこれも変えてみるといい。
グラフを描く
ナユミ
へー、すごい。これカヤちゃんが作ったの?
カヤ
そうだよ。そうそう、\( N_0 \) 、\( \alpha \) 、\( \beta \) 、 \( T \) の値はかっこ内の範囲で入力してくれ。
ナユミ
この範囲を超えるとどうなるの?
カヤ
場合によっては、プログラムが止まらなくなる。
※ページが固まってしまった場合はブラウザの再読み込みをしてください。
ナユミ
とりあえず、何も考えずに「グラフを描く」ボタンをクリックしたんだけど、グラフには線が \( 2 \) 本出てきたわね。
※グラフの縦軸にある \( e + n \) という表記は \( \times 10^n \) を表す記号です。これは「E表記」と呼ばれるもので、コンピュータによる指数表記でよく使われているものです。
緑の線は右下がり、青の線は右上がりになっています。この違いは、出生率と死亡率の差 \( \alpha - \beta \) のプラスマイナスの符号の違いによるもので、
\[ \alpha - \beta \lt 0 \ \ なら右下がり\]
\[ \alpha - \beta \gt 0 \ \ なら右上がり\]
となります。
カヤ
こんなパターンもあるぞ。
この場合は2つのグラフで死亡率 \( \beta \) の値が等しくなっています。そのため、グラフの違いは出生率 \( \alpha \) によるもので、出生率が大きい緑の線のほうが傾きの大きいグラフになっています。
国勢調査との比較
ナユミ
ところで、マルサスモデルで実際の人口の変化がちゃんと表せるのかしら?
カヤ
それなら、国勢調査の結果とマルサスモデルの計算値を比較したグラフがあるぞ。
注: \( 1920 \) 年から \( 2000 \) 年までの5年ごとの国勢調査の結果を使用。マルサスモデルのパラメータは、\( \alpha = 0.061 \) 、\( \beta = 0.05 \) 、\( N_0 = 55963053 \) 。また、\( 1920 \) 年を \( t = 0 \) とした。
グラフを見ると、1990年までは国勢調査の結果をマルサスモデルでよく表せていることが読み取れます。ですが、1995年と2000年はマルサスモデルが少し人口を過大評価しています。マルサスモデルは人口が増えたら増えっぱなしのモデルなので、今の日本のように人口が増加から減少に転じるというような変化を表現できないという限界があります。
また、そもそもの話ですが人口の増減のように様々な文化的・社会的要因が関わることを、きれいに数式で表すのはなかなか難しい問題です。例えば、日本では1966年に大きく出生率が低下していますが、これはこの年が丙午(ひのえうま)の年だったからといわれています。丙午は干支の一つで、丙午に生まれた女性は気性が荒く、夫の命を縮めるといわれているため、この年は出産を避けた人が多かったようです。
ナユミ
私、占いとか結構信じるけど、丙午は知らなかったわ。
カヤ
丙午は60年に1回だからな。
参考:
[1] Wikipedia 丙午、https://ja.wikipedia.org/wiki/丙午 、2023年6月30日閲覧
[2] 国勢調査 平成12年国勢調査 最終報告書日本の人口(平成12年国勢調査の主要結果)、全国の人口,人口増減,面積及び人口密度(大正9年~平成12年)、https://www.e-stat.go.jp/dbview?sid=0003403679 、2023年6月30日閲覧
[3] David Burghes/Morag Borrie 著、 垣田高夫/大町久佐栄 訳、微分方程式で数学モデルを作ろう、日本評論社、1990年4月28日発行
次の記事
第2話 放射性原子の崩壊