- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564664 点
- 威望
- 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年大象老师国赛优 |
数模竞赛-人口问题( j( l) r7 h; ^$ V# G
6 s, }2 [( y5 {3 k% f# i- X学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了/ I/ s6 Y @: q! J
& Y" |1 |0 u8 y- W. `8 t人口问题% v" i% w: t- }9 b
& R0 r; a4 R9 l# m( ]在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
6 C( D; d _% V6 }' ~根据最后完成的《实施全面两孩政策人口变动测算总报告》, * y+ r0 y8 H, k. i" r7 V/ w. | M) r# r
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 1 i8 z) ?: p* w# E
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 - H8 X l V: j4 a
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 ( @4 [" k. W6 N7 k, R
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 8 `( i! U* q3 R% V% w; ~. ]! w
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 # p- j" D/ o" y( n, M2 {9 A
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
! o1 G9 u. U+ @& E/ T2 p7 l3 S
! J! l8 f& |3 g& d8 Q9 X( l& f' `建立数学模型分析下列问题:- \' g6 z) P" w4 b
/ H3 w& D7 J/ I" S. C) C
(1) 在现有政策下预测未来人口的变化趋势。
4 r" r! k$ o% n3 _# B" z& @$ B(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
0 M' [ f+ T9 m, ?& \0 @ C3 _' ^(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
8 w; P+ W7 y/ d& d2 m \8 _3 \- X+ }6 {(4) 依据你的研究给政府相关部门写一份800字左右的报告。: x% K9 K, h0 M* M' K/ I* j* A
% f A+ W9 E2 K1 k9 m% Z, P
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
# q7 K* J! m# S" m7 V
; N" e Y3 H' g2 U6 }人口预测模型
5 G: r, y1 A+ e( Y& R3 ^4 q2 C0 ]( {& U: s. q/ ?
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
4 q, H% ~$ M/ c4 H a& g3 Y* ]; e* Y2 e
灰度预测5 ?: q4 b6 Y7 J/ B1 a& h# Z" Y1 W
; v: X& b. Q0 q8 Y) n4 o
先说公式推导 $ W$ j8 ]# b- w" S4 D, n- y5 t( Z
mathType的公式好像无法在makedown上面显示,我就截图吧 . ^$ \1 ^: R# R" m0 _: D' E0 X
4 V" h2 K7 r8 I7 l8 L2 B, {0 r
* K, E( ~9 W; }+ e) R9 Y) Z' W
3 y" N$ ^) A0 _0 D) N8 N5 I: u6 Q8 Z3 J0 @
上面就是公式的推导,下面是matlab的代码
; @" }/ X0 a2 v" U. b
. f. y/ K2 F Aclc,clear; 4 {- j% F/ W. a9 | O( q1 U1 m2 P
syms a b; " K2 y% H- i9 y+ p; D
c=[a b]'; * u6 G9 r3 a1 k2 Y
%2012-2017* G" h5 ]" x" L: s
A=[ 135404 136072 136782 137462 138271 139008]; F# b3 x% V; _1 z( j
B=cumsum(A); %原始数据累加 : o& s0 G& H: ~( H/ d I2 h$ a
n=length(A);
: D. p+ d% y) i' kfor i=1 n-1)
0 P O) G1 h; G" g$ S4 { C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 X7 k, Y; p$ }; h x3 u$ F
end
: q6 y" R: u+ H6 h7 j+ L* Q%计算待定参数的值
. D8 b( D4 J+ p1 s" LD=A;D(1)=[]; 3 _/ ^" f2 B8 S9 ~
D=D';
! j J+ b# F& k3 H4 a, c; BE=[-C;ones(1,n-1)]; ( Q, e2 Y) Q9 Y4 ]; ^% X- }' B$ u
c=inv(E*E')*E*D; ! b9 d+ ?$ ~6 _* N: F, S( C3 W
c=c'; , W$ O2 m7 V' ]5 s; a2 M
a=c(1);b=c(2); , I3 U2 W) Y2 L& f! H
%预测后续数据 % i8 P6 X2 L! M* ]1 M* ]" W
F=[];F(1)=A(1); % d" h. C& E$ ~+ i
for i=2 n+5) %只推测后5个数据,可以从此修改
8 s; j4 \9 G+ e+ r. } F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; l( E9 m- x% x/ ^; l1 |
end
! J' l8 Y4 D+ ~: e3 p! B7 DG=[];G(1)=A(1); 9 ~$ P0 e* _( J2 Y
for i=2 n+5) %只推测后5个数据,可以从此修改 / b! t9 ~% D) ~: n) Q+ K9 H
G(i)=F(i)-F(i-1); %得到预测出来的数据
0 N# u) h! f" @2 _$ Uend
$ p% |% b9 p: ]t1=2012:2017;
+ }7 Z$ J, n% F8 V4 D& x+ S; Wt2=2012:2022; %多10组数据
% s7 A- e- t3 ^# h( a3 U, fG1 Z2 T" M A0 f
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 % Z6 z- F- I* g$ A# O. L
set(h,'LineWidth',1.5);; S+ @% ?2 h; r: M7 k
1 f( h/ g8 h' J6 k这是Excel里面的人口数据
' T4 Z5 T1 H# Q8 H7 w% X4 }: Q! R* `( T% Y
最后得出的结论,感觉还是挺靠谱的。
- i9 ~' O8 l! l" N$ }$ ?8 _- E0 J- ^$ d- G% `4 n: d
9 w- i `9 E- X6 F. M# ?. Llogistic模型
( Z2 ^$ C N- W+ }- c4 Q% g0 o% c. M) Z
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
* ~6 X5 W0 s; T2 s
% B* ]" i- B* H n( f2 Y% G; H F" d2 @7 ]2 j: C1 O
clear * n3 j8 q0 n r. [; c' L
clc - n! z h8 L3 E, o$ { [. Y- x& t
% 读入人口数据(1971-2000年) 1997 - 2017' T; d# S% ?3 f: X# l. n0 b( ?! w
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; $ B0 F# S2 |7 R9 q. R$ I
% 读入时间变量数据(t=年份-1970) % ?$ y3 i+ a4 p7 ?# N: }8 u1 A
T=1997:2017;
4 P) D% x+ u* t9 r" c8 u* X) s) E% 线性化处理 1 _+ N; j; T3 r1 r1 s3 ~3 @
for t = 1:21, " S- B H* O' V1 [
x(t)=exp(-t); / ~0 s4 j3 l1 C6 w
y(t)=1/Y(t); ; `0 T- E8 v9 y* c- |. C# a& ~
end - J& n" ?6 m4 z i
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 3 }1 h8 ]7 D3 x. A- k0 J! T
c=zeros(21,1)+1; ( w$ |$ I) U3 R! B
X=[c,x'];%相当于30个方程组,求解a和b 的值.
( v: N/ Y1 M2 K% LB=inv(X'*X)*X'*y'
& f8 w7 b7 _; E+ @( F1 _% jfor i=1:21, 5 f3 L1 h' ^7 G& \$ ^: i) t
% 计算回归拟合值 3 H8 v- I! c5 i7 ]3 t3 l
z(i)=B(1,1)+B(2,1)*x(i);
0 h! r1 B3 ~, H- W% z& g! `% 计算离差
' n6 @% A8 R' [# J/ r2 Q) A! ~5 \ s(i)=y(i)-sum(y)/21;
3 E5 z. s6 K/ _1 j, t" p% 计算误差 ! G- y' K# Y7 U6 U) J8 T
w(i)=z(i)-y(i);
* f" _6 a! ^$ {6 B4 a) pend
2 J+ R+ G+ p& \, Y# ]+ \% 计算离差平方和S ! I" e6 L9 j+ o I
S=s*s'; 8 C M& w2 N) R+ v% \& I) P( x
% 回归误差平方和Q
: {7 C$ ^$ n8 PQ=w*w'; % Q1 h/ u* U+ f* F7 S
% 计算回归平方和U ' k. G' }9 [5 [$ P3 a4 a0 m% [
U=S-Q; & l4 g: e9 h" E* Q# f3 o
% 计算,并输出F检验值
4 B3 E# q4 I( N* J; N$ \2 l, HF=28*U/Q
: t9 `& B+ k/ g' Q; a% 计算非线性回归模型的拟合值
4 K2 ]7 R9 Z8 Cfor j=1:21,
6 e! m. V+ V. A. \9 o4 i p(j)=1/(B(1,1)+B(2,1)*exp(-j)); $ i+ ]. y7 K4 C: l
end , O9 ^2 q: o: [9 m! F
% 输出非线性回归模型的拟合曲线(Logisic曲线) , @( B% O) V4 A% g5 g
plot(T,Y,'r*')
+ w* s% v0 g& O$ H# ?, rhold on
6 H- y$ d6 d7 g8 q7 q2 A# ?plot(T,p);0 p" }- K% q4 }( p/ _7 k) H
# W4 N5 n1 m) p
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 : l! `" U' X2 D+ r5 W5 o
; {, E) e" X6 e2 v) Y1 S5 w
7 {* t+ ]; _4 H) H% k$ x$ X3 S1 w
5 n9 o9 p& \, l: m3 j% `" R! U# W
: d4 X+ C2 G( q |
zan
|