- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 555378 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 171986
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题7 @- F/ G* W7 m( \0 j
" l6 D9 C8 i1 ]8 _$ B学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了& q% t+ h$ z8 Y2 X T1 H- ^
! V- ]7 q1 s% z2 I5 _) {1 C( u
人口问题
2 l3 F- X- E# c$ }) w- j4 i ~/ n& g8 {' v/ s& r, O& g7 c4 _% h* P
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 3 h! F3 p9 k& ]* A4 U
根据最后完成的《实施全面两孩政策人口变动测算总报告》,
% Y9 v' u0 [% l/ w9 z$ b( P2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
i- F4 _5 d" d5 U4 U其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
" P) M8 V% I5 e1 t9 ~国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 2 v9 P8 u4 f# Z
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 7 ?1 H8 o+ @* z8 Q7 b) j7 |
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 & r8 ~" h' p+ b8 [. k: L4 L
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
# n& S1 H H; ~- U
4 u, n3 E n6 H; h2 P) {建立数学模型分析下列问题:6 F0 m6 P) K7 C! X: j
/ ?0 P7 A0 ~( s% u: h+ `9 M(1) 在现有政策下预测未来人口的变化趋势。
, R% c m: U7 x5 f2 V" s& ](2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 : [1 L4 I: m2 R2 p% e4 r) a
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
5 D7 Q+ u4 X. m5 k(4) 依据你的研究给政府相关部门写一份800字左右的报告。6 C7 K$ `- j' {- M- X ?
2 f7 ]" c$ \3 o7 s9 z
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
( Z& }& p+ {* P) w$ |+ `
0 u& l) k) _! p/ R$ H+ k q3 o人口预测模型* m7 O1 c1 ~1 _5 ~9 P, G
) O I" s1 _$ s3 y+ f" H. q
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。$ w# Y0 X5 Y. Y( K
5 u* p2 H8 Q, u; A% a8 V# A
灰度预测
! w+ z! f9 i3 N
s2 r: |) |/ o0 |) S先说公式推导 $ Q" y8 y# a! ~' ~$ a
mathType的公式好像无法在makedown上面显示,我就截图吧
7 p6 n: e6 z. p" Z& d2 w8 ?% q
6 S, J5 s4 Q6 d/ F, C+ w6 P" d7 }
1 f" @$ s D) ]+ k
4 `/ V! f6 Z: l上面就是公式的推导,下面是matlab的代码+ {3 e; X7 _ r9 \
9 Z {$ v4 q3 F7 p) O7 }
clc,clear; 1 O7 O& d$ o, O! Z6 l3 b
syms a b; " H4 i' [' d. p7 z B
c=[a b]';
, o4 C! F0 u5 {/ A! t%2012-2017- j. k4 b) M0 } p# \- j
A=[ 135404 136072 136782 137462 138271 139008];3 P. _6 S8 z" f% c! O/ t" V7 d" w9 J* k6 {
B=cumsum(A); %原始数据累加 3 z4 j" C; S' O4 t- e
n=length(A);
# G4 c; t8 H. [3 nfor i=1 n-1) " I1 s* q" N. f6 K" c5 m- ^6 z% A
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 ! `% r2 t$ @, p8 @9 Z! V( Z
end
1 o* |9 D# \6 Y. {# h2 J% Q! n( t% h%计算待定参数的值
% u" R' ] n) z# H& ?4 P$ RD=A;D(1)=[]; $ I$ `/ X$ w9 n" N
D=D'; 5 U5 f9 }; V* M P! `3 ~% b
E=[-C;ones(1,n-1)]; ( `6 m- L% X O. h5 T- k+ X
c=inv(E*E')*E*D; $ l; m1 r# @! G6 h7 q% N
c=c'; / x0 L6 e' k& a2 @
a=c(1);b=c(2);
/ B* P/ G$ A$ C1 C |4 S9 K%预测后续数据
J3 {7 E/ A* n& D! @( _F=[];F(1)=A(1);
; @- {4 B/ H$ S( U6 M# Kfor i=2 n+5) %只推测后5个数据,可以从此修改 3 A+ {, [% {4 L, s+ U/ N% f, T* R
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; ; C1 j2 E P' s( c
end
$ z1 b7 a4 _4 t. w4 B1 FG=[];G(1)=A(1);
- v7 Q R* N; @; D8 v! B. Hfor i=2 n+5) %只推测后5个数据,可以从此修改
T9 y5 J5 H# F/ \: P6 ] G(i)=F(i)-F(i-1); %得到预测出来的数据
0 `0 a6 J! j4 i# F, Iend
4 y" |' s( y- it1=2012:2017; : }9 g+ B2 e8 `8 V4 F
t2=2012:2022; %多10组数据 - y8 j8 A+ W8 J4 z# s, W
G
4 o) \2 N+ Y- K/ }! `! Z9 rh=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
" t; s0 d& b6 g5 c8 cset(h,'LineWidth',1.5);1 Z: o6 l) p$ z/ a, _, g
) b0 l( `) i# R1 E) b这是Excel里面的人口数据 : V1 x+ ~7 e# h s) e( V
0 |2 {& _2 g! A9 r8 O) x B8 m7 z最后得出的结论,感觉还是挺靠谱的。
- Q" g( g' @; \, |6 \9 p( |: l
) h1 P" z& g: b/ a" |1 R
: d3 z, V3 M" `0 H' o. t3 z5 P. N( g9 Wlogistic模型
1 l( b* m4 |$ m7 h; g [7 w6 J9 L8 r- D8 d) b
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 6 b6 q2 z) L* {, _: }7 i
, Y- ~$ J9 D" R( L! P3 ?7 l
% H- c8 q+ Y+ aclear , U8 g* x+ V7 h. L
clc $ o4 m! @/ }5 U. z
% 读入人口数据(1971-2000年) 1997 - 20173 l8 c/ w% g; ^
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; - ~2 e$ _# K% D- W' u/ v5 h
% 读入时间变量数据(t=年份-1970)
& A2 p1 A9 s9 S1 B, P9 C) F qT=1997:2017;
4 l# I9 q8 T- w( }6 y% 线性化处理
$ D" b" Y* _& v; Dfor t = 1:21, 6 Y4 F' X# p/ w
x(t)=exp(-t); 0 e- z% |: W: p$ T0 ~9 [
y(t)=1/Y(t);
4 A6 L i( V! \* S, ?; K; xend
1 f; `+ k, e" D9 Q9 g% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
& ?, Q# @9 f/ F R( _2 W! J. `" s: b: Dc=zeros(21,1)+1;
; G1 q' t* W. F( ]X=[c,x'];%相当于30个方程组,求解a和b 的值.
& \5 _) v+ \5 q% {3 ]/ OB=inv(X'*X)*X'*y' ( u; N! D. m& z) [+ D
for i=1:21, 1 y" |& k7 k5 n3 X- w1 D r
% 计算回归拟合值
+ z0 u+ Y R8 F. y& S z(i)=B(1,1)+B(2,1)*x(i); ( V% f( y9 {. y
% 计算离差
3 T9 R$ a( c: u* h: u, z5 j* ^ s(i)=y(i)-sum(y)/21;
2 p' K8 G- P" r, F3 j% 计算误差 & f8 r! d9 M# f* \( k( X- t
w(i)=z(i)-y(i);
% c( X0 o' S2 \5 d$ Q9 Send - C" i4 U6 c0 Z* C- y9 u
% 计算离差平方和S
* h& z+ |5 b J' i/ x% A$ MS=s*s'; + ]. _$ `% b. W; y, z$ o' I
% 回归误差平方和Q
, S7 a8 m- @( q2 V' {Q=w*w';
3 c$ a2 i; H* R- C% 计算回归平方和U $ k* U1 I% X, Z6 J
U=S-Q;
* L* m Q p' k% 计算,并输出F检验值
; F: |+ M5 _6 L7 _1 j8 yF=28*U/Q
% x. K7 k" f" |- J1 I, |4 t6 i% 计算非线性回归模型的拟合值 7 S; Q% [2 l- r! T- ?) z$ z8 x: O
for j=1:21, ( _9 |# Y4 |' g1 O5 Z. s
p(j)=1/(B(1,1)+B(2,1)*exp(-j));
, ?1 ]5 y' j* Q6 _1 e4 zend ) ~# O2 l1 p2 R: V" H
% 输出非线性回归模型的拟合曲线(Logisic曲线) 7 h: O+ c1 l- ~( x2 R; W. _4 w
plot(T,Y,'r*')
4 T. A9 ?* q! k; p2 N, Rhold on
. t1 }# t b+ ?6 C+ D y+ I' \. ?' Tplot(T,p);( {1 O+ R& f! z; h) A2 t
# p' S5 n$ l/ ]最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
; c+ d- \* b4 A
, n$ X( F- @: M. v( c/ l# _! s: e9 q
" h* N" k4 L3 H4 T. x. y
5 u2 k& {' x6 r- v |
zan
|