- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564705 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174634
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
/ F- E* V9 j, S
, y+ O2 o- p% M学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
- O$ W7 a( z" J
4 O4 s1 h% p! s人口问题
% ~5 x. @" ?. G4 T( G* S9 C$ i W: G
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 3 p4 G" r; F, B3 W7 X2 N3 Y+ e
根据最后完成的《实施全面两孩政策人口变动测算总报告》, ! @ P% e& V/ Z* v- S5 c; J8 m
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
9 c: U: l; f7 _5 }$ _其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 8 }2 P. \' ?2 C0 q( i$ [/ |' c
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
* A6 F9 y2 g1 Q) E( ]2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 4 @2 C1 r" u' d# W4 @$ ?0 e; v
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 1 ?: h, i& p1 {' d; C1 N$ _
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
l* X& [7 z$ ?" A; N- y5 y. _5 B
: X8 n. e1 K* y建立数学模型分析下列问题:
4 I6 F3 L6 V. ]& F( L; w4 V# {4 U7 Q: s5 j7 Y% E
(1) 在现有政策下预测未来人口的变化趋势。 3 q6 ~3 e. h- P
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 + f5 e; D% L8 E8 y: |" X& Q
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
5 P$ T R" U4 a! R+ H: {1 y1 R(4) 依据你的研究给政府相关部门写一份800字左右的报告。
2 ?. r3 Y5 h1 l+ T% z2 M# x0 g+ m4 b- N2 t$ L/ Q
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。5 D* L7 V2 i; [; M" k0 P8 C2 r
( ~) }6 E7 O) ^
人口预测模型, q) w) |8 ]2 u( L! k
5 f0 ?6 t4 d: z+ W/ h$ B, y- D/ G先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
) L, `/ q$ M) \' S" j* I4 g% b0 Q
# _+ e& N0 Q: C5 k灰度预测
, V" J2 S/ c* w1 ^$ |: L
5 g2 e3 F! W; }: d# i/ j先说公式推导 * f! p( q# W" P! S
mathType的公式好像无法在makedown上面显示,我就截图吧
, i" X# x% v% ?* E6 _; |6 N, U& o) p2 ]7 l
! l0 i* L7 E: H. s0 @- v: h
' S3 b$ V! k! T; S" K. c; r+ S, L& \! A0 V& S* E$ q+ M, T
上面就是公式的推导,下面是matlab的代码
$ d/ x& ^# k: c8 e3 B1 R* \ B1 w
/ i" B- n( D+ W$ t* w) b$ Mclc,clear;
( e2 a4 n Z9 B3 w. \8 osyms a b; 7 N$ J3 a) \, |9 f
c=[a b]'; # R; r0 q7 p: v% O, `
%2012-2017
9 o! } _" K2 E' X1 P2 |: CA=[ 135404 136072 136782 137462 138271 139008];0 ^7 z' I7 r- b4 M/ [4 r
B=cumsum(A); %原始数据累加
2 I5 L2 C+ I- Z* Wn=length(A); 2 h4 l* J/ z; Q6 F5 F
for i=1 n-1)
9 R4 P3 L. G# e+ ]- B C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
# M* [# b7 |) X5 ~4 lend
% y+ E2 i* j+ S/ i%计算待定参数的值 4 s# E: N# P5 V/ X9 g- O$ S3 f
D=A;D(1)=[]; + F# v! g6 ^1 D z
D=D'; . d4 s+ T. z+ d
E=[-C;ones(1,n-1)];
+ V: p6 {- V: |( Kc=inv(E*E')*E*D; 4 P+ z/ Q6 e; x3 s
c=c';
. ~# ], z4 }2 g8 Ha=c(1);b=c(2); ( _2 g; L: P; m% W1 c" b
%预测后续数据
9 |( @* h% t4 mF=[];F(1)=A(1); * b4 a0 k) D! M- \
for i=2 n+5) %只推测后5个数据,可以从此修改
, Y* s2 J- |2 ? F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
) B3 y0 Y& M# z; `end
% Y. W" b& _3 z& P5 C0 X0 ~G=[];G(1)=A(1);
) i! s: e* Q, `4 \! U0 L( ^for i=2 n+5) %只推测后5个数据,可以从此修改 q% I' m5 ` [% F0 j+ t
G(i)=F(i)-F(i-1); %得到预测出来的数据 , t8 S3 G) g! F. g7 N
end ( |! a# b! v8 s: d* ^6 B
t1=2012:2017; 3 B- ~" x% g7 ]
t2=2012:2022; %多10组数据
0 D9 x1 u. r# V5 `5 U6 o! FG
- [* v& M* p Q8 Ch=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
8 ]4 y& Y+ _; O# j# ]set(h,'LineWidth',1.5);5 f- C6 F# F; L+ D' b0 v
) g& @ e4 l. z+ V; x4 s
这是Excel里面的人口数据 # F1 p: S# {# |# m, q
/ a5 m% x/ D4 K4 z% q. D4 F* Q
最后得出的结论,感觉还是挺靠谱的。 5 Y* m. w0 I! @& O
5 I+ ]0 o3 v! s- d% J
. T1 a! Z0 h% f6 ~( J& b5 i/ [3 Z5 clogistic模型
% M# \6 Q3 J# o- N1 l3 a% q8 H% ]2 r2 O K0 B( k% D
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 . e) v' ?( F1 w# P3 \/ [
) o' ~- `. ~7 a3 i% T, O6 H4 ^+ f- ]. h; D* i; L0 ~
clear % t% B- R' P+ ~
clc
: c( A* ]5 R ~8 C# ~8 f% 读入人口数据(1971-2000年) 1997 - 2017: `4 K5 [: L% j) p" n2 l, h
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; # S8 T/ ?0 t0 K4 L; W" o
% 读入时间变量数据(t=年份-1970) 6 S& r. |7 |2 _7 L0 C1 j9 u( U
T=1997:2017;8 e0 u- b% E; C% F* N
% 线性化处理
Q% {: i6 i0 nfor t = 1:21,
, Q8 V: s! X* \) v( N x(t)=exp(-t); 6 S: X2 u- F! D) S# J
y(t)=1/Y(t);
: p$ O1 Q" [ I9 nend / D7 u4 V! O) R B# B. ^9 \& {
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
/ O/ l% c ]; k# [( W% yc=zeros(21,1)+1; & z$ x& w6 u+ ~" k P6 }* U
X=[c,x'];%相当于30个方程组,求解a和b 的值.
( X6 r# S; f; h# F" Z3 DB=inv(X'*X)*X'*y'
7 ~$ r/ v+ D. @: u+ A0 L% yfor i=1:21, 2 r Q% p" k& U1 r& i" N. X
% 计算回归拟合值 , H4 @3 s2 p$ L- w$ q' I S/ U
z(i)=B(1,1)+B(2,1)*x(i);
+ c9 i% w! h y6 D9 x% 计算离差 \ m4 q0 a. @' g& h" T
s(i)=y(i)-sum(y)/21; ! Q( b8 o+ A- ~. \6 `9 y# s8 ?: h
% 计算误差
3 c1 l7 E' Z- h5 D w(i)=z(i)-y(i); , Z: Q% ^! x# c3 t
end
6 O ]9 p0 Y$ c% 计算离差平方和S " W: ?& \ ?9 S& x1 [; A
S=s*s'; 5 a$ R: _* x0 K/ |: k) W7 r
% 回归误差平方和Q
) F2 ^, }' ~5 y/ g7 XQ=w*w'; . h1 F0 z3 x) F- T- h9 |
% 计算回归平方和U
( d+ |7 T" J9 ^: G0 ?) WU=S-Q; 3 p8 J( V; a6 Z$ H% F
% 计算,并输出F检验值 9 N+ C' r7 ~! b8 d
F=28*U/Q & A; p Y" b r" F5 }
% 计算非线性回归模型的拟合值
' L8 s7 F# ?- I* w7 v. b4 Jfor j=1:21,
; H0 A* C$ G" V; M p(j)=1/(B(1,1)+B(2,1)*exp(-j));
7 g+ i \* E8 n: Vend 4 {, b) {3 D! e& w# u) J4 O
% 输出非线性回归模型的拟合曲线(Logisic曲线) - P6 ]& D. f- J8 L7 l
plot(T,Y,'r*')
' ]! K" O/ a9 |8 |' chold on
+ J, ~; q }/ @% w+ x' q0 ~% C( dplot(T,p);+ l% y7 s4 w4 q0 y7 e* V
( x$ v6 h- F4 ^% n! E. ]最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
% ^" L1 q( ^* R3 a; _7 P% n5 z
& F' c$ {+ u( m# c9 F9 o% \
% y! u, ~& d2 a' d) b6 V! D
! y/ N% R* O, i8 j4 d2 x |
zan
|