QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2647|回复: 0
打印 上一主题 下一主题

[建模教程] 数模竞赛-人口问题

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2019-4-12 16:29 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    数模竞赛-人口问题
    7 @" S5 q& K# I  L' Z/ {* k6 j' Z% k
    - M) L' ~! ^% q( L学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了# r4 O2 M. v; Q5 A( c) J& P7 B3 }

      Y! v4 }. ?- F: t0 J/ l) n1 M0 J人口问题; x9 T4 t" a. ?1 R( ?( ]9 I
    3 x) N- V3 C3 A) R% n
    在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
    0 R! X- H" o+ [根据最后完成的《实施全面两孩政策人口变动测算总报告》, % W6 L# s, _4 x9 a' n# w: `
    2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
    ( L6 c; m  P6 q其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。   S& i) p$ d4 X8 M: N$ c
    国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 7 m/ d* \! K& u: ]/ Q
    2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
    1 {: {& M) Q9 j( N4 a+ N人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 ' @% {. @4 {5 Q% J* A
    由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。4 G( ?1 s/ B& S* N

    ! U( z, ~/ Y, M9 X6 L5 @! G建立数学模型分析下列问题:
    ; t8 B3 V* w1 _1 m4 c" h0 N* p: \: \/ U+ H
    (1) 在现有政策下预测未来人口的变化趋势。
    ; S& a' F: `5 V. C(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
    6 [4 i& u9 I; a! R) w3 ^2 U( n7 s(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
    * M: a  A7 I/ A(4) 依据你的研究给政府相关部门写一份800字左右的报告。( [' g6 Q8 y/ U2 X0 }& K9 O
    ( {& I7 w1 b- U! W$ n- J2 i
    拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
    : i8 F3 k* e& z6 z# M" D5 o. j  {. J. x% K2 i
    人口预测模型
    % ^" r- G1 k$ }5 H7 u$ w3 A) S4 q6 O7 S+ R/ x7 K
    先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。! k3 V; K4 ~! m5 ?0 Y2 z
    & ]! U5 I) X+ p" ]- K4 b% ]3 B
    灰度预测
    2 x' f+ _1 K1 P
    6 w  ~0 m6 ~& u/ i: T% v先说公式推导
    ) M$ c- {% P, v9 h/ A4 o' xmathType的公式好像无法在makedown上面显示,我就截图吧 ) y4 w; `& _" U0 S! ^1 e, J
    - k+ T/ k  l  {/ o- K

    - t$ i0 {* X+ @$ u( Z/ y" U) n) s6 p
      S; s8 z5 A; {" x- _
    上面就是公式的推导,下面是matlab的代码
    ; m7 C. E2 A+ u* x: f+ o3 N  ?! z6 F9 y1 J- T
    clc,clear;  7 V2 J! p+ e: \/ g2 M; `5 n( Z
    syms a b;  
    - X) @( {, N/ T- m0 g2 I5 Q2 V& uc=[a b]';  
    . G8 ?- L* v. E4 x1 t%2012-2017
    8 J& L* o9 p2 }. Y8 ~' M2 c/ GA=[ 135404   136072   136782   137462   138271   139008];, @# O2 |2 o# `: u* L
    B=cumsum(A);  %原始数据累加  4 h9 G+ M( M- |: N! X( k
    n=length(A);  
    ( V) P0 |* A4 q, `$ ufor i=1n-1)  ! y7 y) y3 D1 L% C' K
        C(i)=(B(i)+B(i+1))/2; %生成累加矩阵  
    ) M  X, }: i6 ^% \; ^' i3 Jend  ) y' L/ V2 @' w2 h" P4 f
    %计算待定参数的值  
    & x3 S1 {6 x2 f  n4 E- uD=A;D(1)=[];  
    4 B* m* Y/ m9 U; `1 O0 v! f% nD=D';  
    ) c9 i; d8 ^) u+ G8 W; M3 HE=[-C;ones(1,n-1)];  " a! j% J* U, Z! S8 L
    c=inv(E*E')*E*D;  # U4 b& D. C0 [6 c5 u) p2 z) s
    c=c';  
    : _: w9 W; X* k3 l* X* Aa=c(1);b=c(2);  / u. q% }6 s0 r2 w- [
    %预测后续数据  : _" @' F  U6 {% Z6 b& a
    F=[];F(1)=A(1);  9 \$ Z; B/ H0 S" L  V6 n) G& T
    for i=2n+5)  %只推测后5个数据,可以从此修改  
      |; V0 d% _3 N' r. q0 ^    F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;  
    7 G( b- J0 X3 U4 ]1 Kend  / F* Q* e$ Z/ x: U, x4 Z8 g1 Y/ \, j
    G=[];G(1)=A(1);  
    4 a/ ?* V, a8 `! t% \: F8 a4 N9 m. hfor i=2n+5)  %只推测后5个数据,可以从此修改  
    . E* F8 i5 f" w) r- I8 g6 F; N    G(i)=F(i)-F(i-1);  %得到预测出来的数据  0 g2 \( }. k8 M" U8 B3 ^  z
    end  8 r! o) X2 D3 o: o, J" j
    t1=2012:2017;  
    9 a& E. y& i4 p. G& W- D. ]3 qt2=2012:2022;  %多10组数据    A8 D5 w5 g: v. O- j; t1 s# L7 A
    G
    9 A* ?# \; G( S, X/ V# Dh=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较  " ]3 Z/ y. @; H  B) I. C; U0 y
    set(h,'LineWidth',1.5);( y5 p4 y' i/ j

    + x: S/ V9 X$ M7 r# a+ J. L这是Excel里面的人口数据
    8 o. F; s. L% g* H. X) G
    " I3 y/ A: G# C7 _5 D  S7 K最后得出的结论,感觉还是挺靠谱的。
    / y1 E: Z+ l% Q* g7 n: Y5 I# s4 m1 l, Z4 c/ S
    : B1 f# a. g3 W2 Z' z* ~; [
    logistic模型
    ; {/ e$ S: V# d2 [9 c% i+ j1 s
    8 X. v+ d% E0 g; K# ~2 y- m前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 - P$ j5 z% I9 v  t; S$ E8 k; P

    / b% j1 V$ M4 O9 G4 _6 m1 ?# A+ T6 d9 d
    clear  
    , t* z* W! N0 }/ O: ?' oclc  5 F1 o+ X- g" H) R7 G
    % 读入人口数据(1971-2000年)  1997 - 2017: Z, ]* e+ y* n  T1 o( d. @
    Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; * p+ v! w8 m: N# f* g5 B
    % 读入时间变量数据(t=年份-1970)  * r; n) G2 m2 V! `% F0 S* n( s  R
    T=1997:2017;! ?" a/ E% M4 t( |2 Y3 [' K
    % 线性化处理  
    ) @# s) g: j2 ~' I/ P& t4 yfor t = 1:21,   
    / W, ?- p7 v1 j/ {9 Y7 e  |   x(t)=exp(-t);  
    ( U, N' \& V9 i" k1 f3 a   y(t)=1/Y(t);  % L; S4 X% K, W; |
    end  * W, `( @% ~$ `4 p
    % 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值  
    ) y3 g$ _' |; ~, x6 y# A) U8 @c=zeros(21,1)+1;  : {* g1 v4 M* u
    X=[c,x'];%相当于30个方程组,求解a和b 的值.  
    & P5 c: B/ r2 c8 S6 GB=inv(X'*X)*X'*y'  % A+ L" k3 A* q8 W5 d) B
    for i=1:21,  
    $ H# C* ~9 |/ N3 v; f2 q6 f% 计算回归拟合值      1 ~2 b8 Z* o: W0 Y) t6 c
        z(i)=B(1,1)+B(2,1)*x(i);  & n$ x" \8 u2 t' w, s8 F
    % 计算离差  & Y5 Y+ e! I5 m2 S% s
        s(i)=y(i)-sum(y)/21;  
    1 B& V5 d7 [  E2 A$ p; z% 计算误差      
    9 G$ A9 C# h* P* E" M$ o* B    w(i)=z(i)-y(i);  9 b# D# y; |7 f+ `- f3 o. \. f. X2 D
    end  
    8 b- t8 A' r2 `. X/ X: _% 计算离差平方和S  : D; ^( Y9 a4 X9 d( U" z
    S=s*s';  5 Q( P" D1 N! g* [0 P, {
    % 回归误差平方和Q  " x$ P/ Q5 j% ^( B# B' J% `1 Q' _
    Q=w*w';  
    : o- h  d# W* j7 G/ @. \3 T% 计算回归平方和U  - W3 G7 G. D2 s1 E8 a0 e
    U=S-Q;  : S! s' l$ D6 I. B# b: p
    % 计算,并输出F检验值  4 p; ~! \; E2 ~; n  P% P
    F=28*U/Q  
    ' }- a3 ]' n7 Q$ b% 计算非线性回归模型的拟合值 ! M4 I! [' r4 _8 w8 G* i* _" ?
    for j=1:21,  1 w* k# D# Q, R2 n
        p(j)=1/(B(1,1)+B(2,1)*exp(-j));  2 u* d( Y' h! a' Z/ d, I) o" l
    end  8 [- G; ^; N$ F+ U; d( N, g
    % 输出非线性回归模型的拟合曲线(Logisic曲线)  
    , c/ u! o6 J7 R! @plot(T,Y,'r*')
    * w) X& v; Q( ihold on3 T; m, a2 w0 d5 H, a9 m; L
    plot(T,p);! H9 V7 j8 b0 y! v, @  M8 u2 h
    8 g  M/ A8 m. ], v! p) N
    最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
    / v0 `% A* ?# u6 [) U$ p/ [! U7 {2 \5 H- ]& m+ J
    $ Z. U- X9 b" [6 e* ~3 k

    / g1 G$ P5 G" ?# |2 Q
    ) v) S) H; `' y* T* X' C

    数学建模解题思路与方法.pptx

    117.69 KB, 下载次数: 2, 下载积分: 体力 -2 点

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-29 12:06 , Processed in 0.425911 second(s), 55 queries .

    回顶部