zoukankan      html  css  js  c++  java
  • 马尔萨斯与阻滞增长模型对于人口预测的分析

     

     

    一、问题重述

      1790-1980年间美国人口记录表:

    年份

    1790

    1800

    1810

    1820

    1830

    1840

    1850

    1860

    1870

    1880

    人口(´106)

    3.9

    5.3

    7.2

    9.6

    12.9

    17.1

    23.2

    31.4

    38.6

    50.2

     

    年份

    1890

    1900

    1910

    1920

    1930

    1940

    1950

    1960

    1970

    1980

    人口(´106)

    62.9

    76.0

    92.0

    106.5

    123.2

    131.7

    150.7

    179.3

    204.0

    226.5

    用以上数据建立马尔萨斯(Malthus)人口指数增长模型。

    二、问题假设

    1.假设所给的数据真实可靠;

    2.各个年龄段的性别比例大致保持不变;

    3.人口变化不受外界大的因素的影响;

    4.马尔萨斯人口模型

    (1)单位时间的人口增长率r为常数;

    (2)将x(t)视为t的连续可微函数。

    5.改进后的模型(阻滞增长模型)

    (1)人口净增长率r为变化量。

    三、变量说明

    X(t)  t时刻的人口数量

    X1790  1790年的的人口数量

    r  人口净增长率

    Xm  环境所能容纳的最大人口数量,即

    四、模型建立

    指数增长模型---马尔萨斯模型

     

    阻滞增长模型(Logistic模型)

     

    五、模型求解

    输入数据

    t=[1790:10:1980];

    x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5];

    1.马尔萨斯模型求解

    在matlab里用应用程序中的Curve Fitting求参数,得:

     

    图1.马尔萨斯人口模型

    参数:

    Coefficients (with 95% confidence bounds):

           r =     0.02222  (0.02163, 0.02281)

    预测:

    每个十年,从1990—2030:

    y1 =

      331.9474  414.5429  517.6900  646.5022  807.3656

    查阅相关年份美国实际人口数据,1990年为248.7百万,2000年为281.4百万,2010年为307.0百万。可以看出马尔萨斯模型预测人口与实际相差很大,而且到后来增长速度变快,主要原因是没有抑制因素。

    2.阻滞增长模型求解

    在matlab里用应用程序中的Curve Fitting求参数,得:

     

    图2阻滞增长模型与实际人口数据

    参数:

       a =       285.9  (257.4, 314.4)

       r =     0.02858  (0.02763, 0.02953)

    预测:

    每个十年,从1990—2030:

    y2 =

      230.9171  242.5109  252.0186  259.6683  265.7291

    改进后的模型与实际人口数据很接近。但依然有一定的误差。

    3.观察两种模型及原数据的图像。

     

    图3.两个模型与实际人口数据的对比

    由图可以看出,阻滞增长模型相比于马尔萨斯模型与实际曲线拟合效果更好。

    六、结果分析

    1.马尔萨斯模型为指数增长模型,符合人口增长特点,但忽视了资源有限等外部条件,在最初效果可以,预测时间越长,与实际偏离程度越大。

    2. 阻滞增长模型在指数增长的基础上添加了修正因子,使得模型包含自我抑制作用,考虑到了外部资源、环境容纳量等现实因素,对于人口预测有比指数模型更好的意义。

    七.实验代码

    t=[1790:10:1980];

    x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5];

    y1=3.9*exp(0.02222.*(t-1790));

    y2=285.9./(1+72.31*exp(-0.02858.*(t-1790)));

    plot(t,x,'r',t,y1,'b',t,y2,'g');

    legend('实际值','马尔萨斯模型','阻滞增长模型')

     

  • 相关阅读:
    第四章例4-5
    第四章例4-4
    修改oracle 客户端PL/SQL 的路径问题
    解决div float后,父div高度无法自适应的问题
    include与jsp:include与s:action与s:include与iframe用法汇总
    解决js中onMouseOut事件冒泡的问题
    strut2配置action class 问题
    html块级元素与行内元素
    Tomcat 启动不了的问题
    oracle远程导入导出
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/11007668.html
Copyright © 2011-2022 走看看