QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2582|回复: 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
    数模竞赛-人口问题
    . ^  I& a8 m; c
    + l& d9 I7 V# y2 d) r* n. L学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了# y2 S& F- G$ T& }! ]. h

    ' g* A& \8 d! w* k3 c$ I! a9 V人口问题2 W9 H# ^5 u; h' V3 v
    1 K- l9 B. C  K7 r9 G
    在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
    , h, W& U% N# e4 V& Q" T根据最后完成的《实施全面两孩政策人口变动测算总报告》,
    " e5 t2 v8 P/ F5 G& K7 [  p1 |  ?2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
    1 w/ O. d, s% ?$ j+ y其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 . ^2 T2 b- B: r: r; `  N- G) J
    国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 4 F4 o& z( b% q* i; r& q$ E& i4 u
    2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 8 w* q1 n- l7 l8 P2 [  a$ g! @! {
    人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。
    / z( b7 E2 U6 I/ r. t" P由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。3 P3 P9 R2 E0 X) {

    9 ~4 p1 G) }- y7 F/ L' C6 V建立数学模型分析下列问题:
    1 W9 F' U: B/ h2 F% S; T8 I9 D' j4 y0 c+ N! F+ L2 a
    (1) 在现有政策下预测未来人口的变化趋势。
    7 S1 F+ ^; b- e. z2 ^4 @+ t; x(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 1 Y( R9 H1 o0 t
    (3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 6 Y$ _- V* E: w/ P) n7 A% r5 @! Y" a
    (4) 依据你的研究给政府相关部门写一份800字左右的报告。! s- J4 S/ C$ c0 n2 e* Y
    5 O% G* e6 C& r! T& i6 |, A
    拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。( f- J- m$ o5 b( c" H. w
    6 d9 b9 U* s- a$ j1 n
    人口预测模型4 I/ P& D: l  f# c7 ~9 j
    + F" V) c- x5 s2 W" E) K% U- v0 u$ i
    先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。* M+ Y* L! o) `5 B1 }
    6 G3 \! K2 I) s3 ~. W+ v8 L+ I7 Z
    灰度预测
    9 q0 v! g5 y1 \% _+ k2 H) L$ }' r$ t8 E8 m
    先说公式推导
    ; D8 p4 M$ \1 R" v* |+ ^5 dmathType的公式好像无法在makedown上面显示,我就截图吧 . Q* f# Z% v/ A' r/ k0 z: L# R

    ' H+ Z4 E9 U# k; E$ X8 v
    ( P2 z" ^& _  N5 {
    $ I- }+ t: y( Y8 p! W+ Y- M5 T( {* ]  u) U6 H
    上面就是公式的推导,下面是matlab的代码7 C; Q9 V% {. J9 H4 O
    4 w5 K# w2 E8 y
    clc,clear;  
    6 D5 B: k4 {7 @syms a b;  ( M* ^7 j# Q: a# ~& N$ E9 G8 y; ]# d
    c=[a b]';  
    & s  [! [! @3 Q+ Q( j( u0 z! E%2012-2017
    ) a5 o' ^) o0 iA=[ 135404   136072   136782   137462   138271   139008];; C3 {9 M8 s- G  U
    B=cumsum(A);  %原始数据累加  9 U. }6 h% R( f; a0 O
    n=length(A);  
    " k% ?% Q0 W- h9 X$ Afor i=1n-1)  
    1 `. j$ r& g" i% ]: a* p    C(i)=(B(i)+B(i+1))/2; %生成累加矩阵  1 g0 |* v# i3 F0 N2 t2 z8 j
    end  . p1 r, }% u. w% ]. p
    %计算待定参数的值  
    " {* v, }2 S3 a6 s- o+ rD=A;D(1)=[];  ! t& ?  s' [; P( W3 A1 B& V. y
    D=D';  
    & P! D; S- N! A2 _, IE=[-C;ones(1,n-1)];  2 D$ t) G1 U2 |9 E. H
    c=inv(E*E')*E*D;  - W: V% K% W$ {. V
    c=c';  
    - i- t& C( c* F. Q0 g  Oa=c(1);b=c(2);  5 h0 ]  C8 d/ y5 J0 k
    %预测后续数据  
    2 b1 B3 L- Z# P: s0 o# @! kF=[];F(1)=A(1);  
    ; G$ n9 \3 A- P) E6 a$ F* K8 [for i=2n+5)  %只推测后5个数据,可以从此修改  3 j3 o9 x: G% ?, X* i
        F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;  
    . s! I. P7 L* W" I4 P+ E& gend  
    ! X3 E' w) I+ ~- oG=[];G(1)=A(1);  ; ^5 V1 N+ `8 G4 O* f: Y
    for i=2n+5)  %只推测后5个数据,可以从此修改  
    : ~3 o/ O+ T1 a: u7 x7 H! v; @2 ]% V    G(i)=F(i)-F(i-1);  %得到预测出来的数据  % b' f4 B- y1 O/ o% v. K5 B
    end  : s  h7 F3 R0 o! j+ L9 I) x7 A/ W
    t1=2012:2017;  1 N& ^2 S# j+ l; l, i6 q1 \, o- e' }, R
    t2=2012:2022;  %多10组数据  & l3 ^7 ~: P# E/ S6 n. r2 v7 q2 F
    G
    2 ]: @" [! B5 @, E( k, _h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较  
    1 H# e( r7 }: z1 r) p4 [: nset(h,'LineWidth',1.5);
    # `( N4 B+ a/ d& o# H; m0 Q: O0 F- v! P7 g
    这是Excel里面的人口数据 # b# j! g+ j: |9 L2 g4 I
    ' o+ Z. T- e2 @$ x3 G' j
    最后得出的结论,感觉还是挺靠谱的。
    6 P9 x$ f/ j' K) r6 S9 Q9 Q- V3 I% I+ U4 n) g+ [6 Z: K" D2 l

    3 l. f: P7 B1 d4 z' t% Rlogistic模型
    2 s8 m1 R6 s  f
    . a8 l2 @' W/ ?+ A/ r# q前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
    " b+ \. F4 ?- Q+ O! m% o3 ]  I! F! d+ f& h0 E8 |9 m" k/ g0 l
    # R0 ~) ?7 B- O( S0 Q
    clear  
    / o# ?& X3 {! l6 Q$ Lclc    Y2 }5 G& P3 o& f' G
    % 读入人口数据(1971-2000年)  1997 - 2017" C4 H: y& s5 j- q5 X, F
    Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
    5 u1 @! `; s# ~/ ^- p+ f! [/ ^% 读入时间变量数据(t=年份-1970)  
    4 W& |0 V4 o8 b( c, a8 [T=1997:2017;
    7 J, n1 n" k: ?: K3 W+ J, \; i( B* U0 o% 线性化处理  9 U3 S3 z: D1 @- l% k/ Z' ~: ?
    for t = 1:21,   
    # v3 p- x, T/ G4 I   x(t)=exp(-t);  7 Q" b4 \' M% x/ R2 R% Y- I* ?" C1 L
       y(t)=1/Y(t);  
    - K; X1 v& Z: O" h: d; B% {3 Wend  
    ! ~5 L( h8 `2 l$ X1 i- N% \% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值  , ]6 a+ Z* r+ T7 @
    c=zeros(21,1)+1;  " j: v; a. l' C6 T  A
    X=[c,x'];%相当于30个方程组,求解a和b 的值.  $ @7 s, q4 S! r1 J, N
    B=inv(X'*X)*X'*y'  9 H* e& F- q7 k% F7 d
    for i=1:21,  & S- f  ]# V6 h. q
    % 计算回归拟合值      
    # z$ a" i" K% Z0 K. n4 a7 |4 l4 [! K    z(i)=B(1,1)+B(2,1)*x(i);  0 J" u0 B8 u6 f% m9 @2 z! ?
    % 计算离差  1 U# A9 z6 Q. ?7 y7 I: L2 k
        s(i)=y(i)-sum(y)/21;  + O+ S2 |2 ]8 k0 G% }7 n
    % 计算误差      
    8 q3 s. K& u; }    w(i)=z(i)-y(i);  
    + u* L. h0 Q  k8 v! H. Z: xend  
    % z$ D& m2 ~% y9 ]% 计算离差平方和S  
    7 h: P# G* R! gS=s*s';  
    7 |6 q" q& B# E% H% 回归误差平方和Q  
    3 I) g* t& Z6 G. L) iQ=w*w';  
    ) W. a- d/ u& ~* f) X3 p% 计算回归平方和U  . {& l! {/ j# [1 j6 s
    U=S-Q;  
    / l5 `4 q9 s2 C( K% 计算,并输出F检验值  
    6 A4 P6 t$ r% Q  `" ^9 R1 i/ ZF=28*U/Q  
    5 g+ }& K$ M% {( x7 }; E% 计算非线性回归模型的拟合值
    & B! f0 ], q7 m9 K2 E) t1 }for j=1:21,  . q) M. n6 ]7 a- B# s
        p(j)=1/(B(1,1)+B(2,1)*exp(-j));  
    4 {2 q* b  k+ n3 h/ d6 jend  $ E/ C( g3 F2 b
    % 输出非线性回归模型的拟合曲线(Logisic曲线)  ; T2 m) W# E5 A7 \
    plot(T,Y,'r*')
    - F3 ?; D. c' N+ P7 Q. O3 Ohold on
    ) P  r. q' r/ s1 M$ K' rplot(T,p);+ i3 s6 L9 j8 k6 u3 E

    / S, d7 Q* l/ E! ~0 d2 l. B, K# B最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
    + R+ m: L2 P0 q8 A0 W
    5 V6 W( a8 r: e
    6 f8 ~: U5 ^0 a1 d/ F/ s$ a  a8 ^4 Y/ c) N& O/ Q& K+ c

      u/ {  {1 m/ b3 H7 J0 }& B

    数学建模解题思路与方法.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-4-12 10:43 , Processed in 0.435582 second(s), 55 queries .

    回顶部