- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564663 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174622
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
6 M! ]/ u+ w" I! p/ R, l+ `6 R7 S3 Q/ |6 g
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了) I% ]) ?% v# _, f3 u9 _: F2 b
9 S B9 z2 I% |+ F4 ]9 g$ ~
人口问题- v) `1 {+ H& W
0 Z) w3 H' Q6 w7 L. e. m* U在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 + I& I0 G3 r( u1 B* \; |( D
根据最后完成的《实施全面两孩政策人口变动测算总报告》,
5 Q; I7 t; Q) X4 ~2 i0 a9 X! h2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 ' l* s% ^: i7 f6 H
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
' s( P0 D6 l- s/ W, P3 b7 r9 W国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
* o' T- e$ c$ @' i3 z; Z2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 2 E# a: _5 R$ A
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 5 p$ m; w/ C7 t" C
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
4 D% x6 j; Z/ v! C7 `% z* @+ k0 i0 _0 x7 K# i
建立数学模型分析下列问题:1 A9 q1 I" K3 j1 Y' P
' B6 m9 I- M2 E# `( {0 A4 H(1) 在现有政策下预测未来人口的变化趋势。
7 Y2 B! r9 W4 ]6 Z1 T. Y' u(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 - @2 K* ~- z4 r# M0 {) g W
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 * d$ o, i8 J9 W! ]8 G
(4) 依据你的研究给政府相关部门写一份800字左右的报告。 o" U U, K; ~
# G- l4 O. g) t. X: j4 h2 F* a拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。2 `% H7 E: U8 v, e9 K/ O, N5 ?
: u5 ~, U; c9 {2 j u人口预测模型
% `/ w* _ ? b' U6 i1 U& i+ w' F$ B4 x3 V
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
! I' @( q1 z4 A( I( c8 e" Z
3 L) H. L" { I# M灰度预测2 v& g* E. ^$ b) y
* O# d' h: E; n/ [8 T- z
先说公式推导 + I' \) C; p5 G9 H9 y6 F" F3 z! H
mathType的公式好像无法在makedown上面显示,我就截图吧
1 J' r. N. C! B5 w2 y% a8 j! c# [, h0 {6 w
( L* z; H: Q% H) `2 O% }& j, {$ A: c( i! \
" I4 Q6 w n2 c7 k
上面就是公式的推导,下面是matlab的代码
/ q! n+ A5 x1 x/ V; S- }8 {* V. k8 p/ y9 U
clc,clear; 0 l" s* k; ]6 Q) s \
syms a b;
; {* U5 m9 N7 F4 E2 B/ }2 `c=[a b]'; # c! @- _/ m. o
%2012-20172 Q$ j6 }- C* m S6 ^( Z
A=[ 135404 136072 136782 137462 138271 139008];" j4 v0 i. a1 n. [
B=cumsum(A); %原始数据累加
" m% Z" X7 f6 K- F" Rn=length(A);
( g/ f2 _0 ^/ ?: p+ Wfor i=1 n-1) " o' M0 v7 ~8 u! K
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
* P7 z1 E( n8 R8 `end
( ]* \$ {4 O: m; Q%计算待定参数的值 * q% G B/ f; p: T- x
D=A;D(1)=[];
" S4 s2 W5 F6 W s. [D=D'; ' Q) M* M. v8 ~ R0 f; Y
E=[-C;ones(1,n-1)];
: N+ T8 Z# M' X4 V& Z9 jc=inv(E*E')*E*D; + {- l6 ~2 y9 o- d
c=c';
% A7 A$ v' M, ~a=c(1);b=c(2);
4 a( w# ~; c. N%预测后续数据
: o: L3 m+ p" g3 i6 ~( KF=[];F(1)=A(1); # S$ b- y; F9 J! |! K
for i=2 n+5) %只推测后5个数据,可以从此修改
0 g" A+ ~& R2 }( S: e- e0 r F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
2 Z1 Q8 y# c! @5 g9 J; \# h- bend
0 c# Q/ O, F$ H/ X a6 O) W3 a$ LG=[];G(1)=A(1); 1 z$ G5 F5 N# S* h
for i=2 n+5) %只推测后5个数据,可以从此修改 4 h- Y# v9 N" i$ m0 I |$ y
G(i)=F(i)-F(i-1); %得到预测出来的数据
& ]: o( R2 [) [" k! Nend
9 a0 f. u: i4 n3 y- Yt1=2012:2017; / y+ P& ]' G: O [
t2=2012:2022; %多10组数据
, U ~4 D1 Q+ |6 p3 O1 T' AG
; B$ m: `1 a) {h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
) R2 D3 w* e9 Bset(h,'LineWidth',1.5);! K' W2 N. Y5 h9 ]
) B/ |! x, p. r4 l& o$ }$ R( ~; v
这是Excel里面的人口数据 3 e# W1 F/ ^4 c( z* m
9 k& \: c7 A# P# X, ?7 E( F4 Y最后得出的结论,感觉还是挺靠谱的。
( v9 ?5 b8 e0 |6 K8 F x7 F: Z+ j$ `: q) z) `; ]2 q! G
: `* Y+ F. I# b7 l' a
logistic模型2 R8 R& G* g; C* p1 x) |% j0 v7 M
) H' w |' b9 {$ r2 \
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 ) Y3 `5 }) g! P& F% h; J# i3 B
4 g+ G( G0 _+ X: o5 o1 C; N$ H t
# ^* n# S' H1 O: O( Jclear
R4 j! L5 H8 \clc 4 c5 L4 P# Y8 S. \* b3 V/ [/ H
% 读入人口数据(1971-2000年) 1997 - 2017
/ f$ U- }9 m1 j1 S# TY=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; ( J# T7 p4 ]! R1 h% i# N$ K
% 读入时间变量数据(t=年份-1970) . k( F" X0 U: c! ^4 f
T=1997:2017;
3 I0 G( M# [ `& E, B% 线性化处理
8 B8 \. Z; S n! F, Z1 qfor t = 1:21,
: k8 p1 _. s' X( ^ x(t)=exp(-t);
% r" O* x$ i' d) V: P y(t)=1/Y(t);
L5 O, p+ J: Y' |* S- P6 w1 Gend
6 a I% m3 b6 d% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 ! |. ~# O+ b- S+ {+ \$ `2 v
c=zeros(21,1)+1; g `3 d0 Y* h' T: `# }2 O
X=[c,x'];%相当于30个方程组,求解a和b 的值. % }! V- F5 [0 S* O4 ^# e$ ?
B=inv(X'*X)*X'*y' " X& n3 m& Q1 O9 y7 p' a' y
for i=1:21, 3 h [$ Q5 P: V6 H/ T/ a
% 计算回归拟合值 ! |5 m( ]; Q7 T4 c( n) `
z(i)=B(1,1)+B(2,1)*x(i); : ?; |4 ?- o6 G
% 计算离差
1 P( G% ] \+ |/ y. Y3 h: y, D s(i)=y(i)-sum(y)/21; ' f, e8 K4 l- V2 s
% 计算误差 1 m2 |+ a4 F+ h/ n
w(i)=z(i)-y(i); ) R E; Y& g$ \* u2 {/ f) H
end
' @ M) G4 C% J7 {/ v0 a6 U% 计算离差平方和S " c' I- b! i9 A( {$ U! x
S=s*s'; 7 Z2 ^. ~0 \# K$ S. x
% 回归误差平方和Q
1 X0 I( K" M8 |0 W0 QQ=w*w'; 6 j% B% T$ N- f: }# p
% 计算回归平方和U
: l/ F: N2 u3 c5 @U=S-Q;
) I O |) l/ S' r2 ~; y( z% r( |% 计算,并输出F检验值
G/ }: `& o" f% @9 tF=28*U/Q # M" X# b1 p) ~+ h
% 计算非线性回归模型的拟合值
( R- m. \) N: S+ O$ Tfor j=1:21, 2 F4 G4 V2 M9 h& P5 V! u2 n
p(j)=1/(B(1,1)+B(2,1)*exp(-j)); 4 t5 @2 d! M% g5 u% \
end ; v; E" z2 n8 N5 a
% 输出非线性回归模型的拟合曲线(Logisic曲线)
. I; s4 v5 u! d( Oplot(T,Y,'r*') E9 ]6 \& r4 l
hold on
* P4 b" F1 V# Q/ p5 d" _plot(T,p);
4 \. w1 ~' k% _# o9 w/ D4 M) v
$ X8 Z% p* J# a4 |最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 . i7 A% V. n: P
0 `- ? r% F1 j2 E R
$ ~0 x/ @* P% j# V( g; b
+ q# h3 F" }- y8 p3 D" V. N* t! k+ f. g. T3 q
|
zan
|