常用人口增长模型

如果已知今年人口为,年增长率为r,一般使用公式这是在增长率r保持不变的情况下做出的,但实际上,不可能不变,而且还有其他影响因素。说白了,这只是一个预测模型,需要我们考虑到会影响变量的各种因素去优化已有模型。

人口增长模型的建立

一、初始模型

当我们试图考察一个国家或地区的人口随着时间延续而变化的规律时,就可以利用微积分,将人口看作是连续时间t的连续可微函数x(t),记初始时刻(t=0)时的人口为假设单位时间人口增长率为常数r,rx(t)就是单位时间内x(t)的增长量。得到微分方程

易得出,此时,当r>0,人口将呈指数增长,这个模型也被称为Malthus人口模型。

那么,如何用python去解这样一个微分方程呢?首先,我们设置初值,时间t为0,对应的人口为6.0496(单位:百万)使用python的scipy库进行求解,用matplotlib库进行展示。

from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plt
import pandas as pddata = pd.read_csv('data.csv')  # 导入数据'''人口指数增长模型'''
# 初级模型:dx/dt=rx,x(0)=x0(初始时刻),x(t)表示t时刻下的人口
def expbase(x,t):r = 0.2020  # 把人口增长率看做常数return np.array(r*x+0*t)t = np.arange(0,25,1)  # 设置时间序列
a = odeint(expbase,6.4096,t)  # 设置初始值x0为6.4096
plt.plot(a)
plt.scatter(data['t'],data['x'],c='r')
plt.show()

这里的r和是通过data里的数据,使用参数估计得出来的,常用的就是最小二乘估计,可以利用已知的数据来获取,不过需要我们先把微分方程换成线性方程形式

观察结果,可以发现,在短期内,对人口增长的预测还是比较准确的,但人口不会一直指数增长,所以在时间后,就可以发现已经明显偏离,故需要对模型进行进一步优化。

二、对增长率进行改进的增长模型

结合实际,把r视为t的函数r(t),假设(为什么要设置成这种形式,实际上需要我们对已有数据进行分析进行判断)。所以,此时的指数增长模型为

利用已知数据,使用最小二乘法估计出此时

def change(x,t):r = 0.3252R = 0.0114return np.array(r-R*t)*xT = np.arange(0,30,1)
x = odeint(change,3.9,T)
plt.scatter(data['t'],data['x'],c='r')
plt.plot(x)
plt.show()

此时,通过观察纵坐标的上限对比一二可以发现,精度确实比较高了一点(当然纵轴区间都一致),在人口预测上,已经较为拟合(当然使用不同的参数估计方法,得出不一样的值,或许可以更好的估计)。但是这还不够,指数增长模型不能进行长期的预测,而且影响人口增长率的因素有很多,需要知道阻滞作用较大的因素。

三、logistic模型

可以注意到,自然资源,环境因素对人口的阻滞影响较大,而且,人口越大,阻滞作用越大,此时,指数增长模型就不适用了,对于长期的预测,使用logistic模型。为此,设置最大人口数,当达到资源与环境所能容纳的最大人口时,人口数量不会再增长。

设置r随人口增长而下降的减函数,令x=0时的增长率为r,即r(0)=r=a,当达到最大人口时,,故此时。易得此时的微分方程为

通过以往数据和非线性最小二乘法估计得出

对比一二,就可以发现,此时的预测就较为符合现实,logistic模型比指数增长模型作到更好的预测,适用于长期的预测。

至于其他影响因素,需要我们查询相关文献资料,来探索,当然,并非影响因素越多越好,总会出现一些意料之外的事。

本篇完结!

数学模型——人口增长模型(基于python)相关推荐

  1. 【续】数学模型——人口增长模型

    很抱歉写的不够详细,让一些初学者无法得知数据的来源.本篇文章基于之前的数学模型--人口增长模型(基于python)进行注释,主要解释上一篇文章中,个别需要计算的参数是如何得到的. 需要导入的库如下: ...

  2. python建模分析实操_城市公交站点设置优化模型-基于Python

    城市公交站点设置的优化分析 一.模型应用 进入21世纪以来,我国城市公共交通飞速发展,然而随着经济社会发展,城市不断升级以及人民生活品质越来越好,城市交通拥堵.出行不便等问题日益突出,严重损坏了市民日 ...

  3. 【编程】DCF自由现金流贴现模型——基于python的实现

    简介:这是一个DCF自由现金流贴现模型,是对郭永清老师的<财务报表分析与股票估值>这本书内容的实现 注意事项 代码是基于<财务报表分析与股票估值>的,其中自由现金流的口径与大众 ...

  4. python信用评分卡_基于Python的信用评分卡模型分析(二)

    上一篇文章基于Python的信用评分卡模型分析(一)已经介绍了信用评分卡模型的数据预处理.探索性数据分析.变量分箱和变量选择等.接下来我们将继续讨论信用评分卡的模型实现和分析,信用评分的方法和自动评分 ...

  5. python椭圆形骨料_一种基于python再生混凝土三维随机球形骨料模型的构建方法与流程...

    本发明涉及建筑技术领域,尤其涉一种基于python再生混凝土三维随机球形骨料模型的构建方法. 背景技术: 再生混凝土是指利用再生粗骨料部分或者全部代替天然骨料配置而成的混凝土,再生混凝土技术的开发和利 ...

  6. 基于Python回归模型的异方差性分析

    提示:本文是基于Python对多元线性回归模型的问题处理 目录 一.检验异方差性 方法一:残差图分析法 方法二:等级相关系数法 二.解决方法 第一种:一元加权最小二乘法 第二种:多元加权最小二乘法 总 ...

  7. 基于Python的岭回归与LASSO回归模型介绍及实践

    基于Python的岭回归与LASSO回归模型介绍及实践 这是一篇学习的总结笔记 参考自<从零开始学数据分析与挖掘> [中]刘顺祥 著 完整代码及实践所用数据集等资料放置于:Github 岭 ...

  8. 基于Python的信用评分卡模型-give me some credit数据集,AUC 0.93 KS 0.71

    信用风险计量模型可以包括跟个人信用评级,企业信用评级和国家信用评级.人信用评级有一系列评级模型组成,常见是A卡(申请评分卡).B卡(行为模型).C卡(催收模型)和F卡(反欺诈模型). 今天我们展示的是 ...

  9. 基于python语言,使用爬虫和深度学习来预测双色球(二、模型训练与测试)

    在上一篇博文中(基于python语言,使用爬虫和深度学习来预测双色球(一.数据的准备)),我们完成了数据的准备,通过爬虫的方式将2003年至今的每一期的中奖数据保存到了txt文件中,那么我们现在就开始 ...

  10. 对南京地铁计价模型分析及最佳路径设计基于Python语言

    离散数学技术报告(该报告不完整) 实验题目:对南京地铁计价模型分析及最佳路径设计基于Python语言 关键词: 城市交通; 地理信息系统; Dijkstra算法; 约束条件; 路径分析 一.引言 截至 ...

最新文章

  1. 产品经理跪求程序员修改需求
  2. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...
  3. swift调用支付宝
  4. 开学前要多为孩子健康做准备
  5. 100套精美英文HTML页面源码
  6. 坚果nuts 加速 官网_坚果?R2?正式发布:延续经典设计,提供旗舰性能,而且是“下一代电脑”...
  7. Android Stduio 发生 Process ‘command ‘somePath:java.exe‘‘ finished with non-zero exit value 2 异常的解决办法
  8. Kubernetes 权限管理
  9. [禅悟人生]不自律的品性如堕落的瓷瓶
  10. 无刷直流电机正反转 原理 分析
  11. Unity基础(三)--动画系统
  12. word文档如何画线条流程图_word怎么画图,如何用word制作流程图
  13. 梦想近在眼前却遥不可及
  14. 我和《独角兽项目》背后的故事
  15. navicat连接mysql1205报错
  16. Android实现仿制手机卫士的一键加速的百分框
  17. day91~93-Paas云平台_docker容器
  18. 1997. WZK打雪仗(war)
  19. 一个人被提拔,不仅仅是能力,而是信任
  20. 华为HCIE认证改版(2021年5月30日正式改版升级)

热门文章

  1. JS/VUE 自定义效验 统一社会信用代码 营业执照注册号
  2. 【axure手机原型】iOS应用设计要点总结
  3. 【第102期】游戏策划:在校生求职简历怎么写?
  4. 安卓linux关机命令行,linux定时关机命令?安卓定时关机命令?windows关机命令?Linux系统下定时关机命令shutdown...
  5. vcpkg安装库时异常解决
  6. echarts中国地图(省市两级经纬度版本)
  7. 【Java】PAT乙级真题全记录(二)21到40题
  8. 美团搜索广告排序推荐,从机器学习到深度学习的模型实践
  9. Part I. S1. 模糊集及其运算
  10. python中模块下载方法(conda+pip)