- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565622 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174909
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
' ^, I) a0 O$ ]* z" }, [6 S
' F1 a N$ Y1 M3 |$ l学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了; m$ E: h, e5 i6 ^! |
6 X$ W( z5 T( ]! g9 w
人口问题
; S$ y6 [7 _0 l; P$ O- O! K4 B f5 @" L7 k# H
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 - W) y* ]- ~3 q
根据最后完成的《实施全面两孩政策人口变动测算总报告》,
4 ], x7 @4 S- q- ~2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 # M4 o; \# ]/ ^, D
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 2 I% S2 f0 K1 R9 L1 [% O
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 * [ ]# l8 X+ g- |8 o
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
7 n# u1 t$ \ J人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 1 l; y5 Q% r" u2 R' n2 M
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
- F6 ?) A+ }. {# r U5 q
% M6 o+ s5 F8 E& V建立数学模型分析下列问题:
8 |2 w. M4 h' d6 B' p. ?+ ?, S% g g' n
(1) 在现有政策下预测未来人口的变化趋势。
& l: s4 t% h8 b: Y* T! U: j2 m: R8 T8 z(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 - T4 J& q& a+ ]( n, T& e
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 $ |' J( ~) u! S; w6 V) u0 M3 D6 {: [# Q0 o
(4) 依据你的研究给政府相关部门写一份800字左右的报告。
/ Q* Y& D4 @. ~4 ~2 L8 S
9 z1 P+ ^% m5 I* y拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。9 N; C5 [# {) I; k4 u
/ F1 a0 Z1 P7 U$ `. {人口预测模型
+ I# {/ |# Q5 C; [* g5 m& h6 a4 o5 Z3 ^( w; \! r& K
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。9 C* r% j" L9 W! j* s8 C# U
* s5 u9 `( p; I/ a7 c0 |* v灰度预测8 _' W6 h% F3 s8 d/ {
8 {9 _# |* d- r$ d1 E2 ~+ G先说公式推导 / w. N# X* s. `4 S' K+ C+ I! Y3 A4 I* a3 c
mathType的公式好像无法在makedown上面显示,我就截图吧
$ f% l- D- y3 V! h% _4 h# B8 M# J( c4 P) \
5 l6 o" A5 ?0 Z0 f1 @
2 W0 ~0 m% \' D1 j2 J! ^
& C# P2 B5 B9 V% x上面就是公式的推导,下面是matlab的代码
) S ]8 y! s# X: S% [8 N) a9 Y
6 ^7 i' f$ ]/ o6 Z" F+ u' U7 rclc,clear; 1 K) @0 P5 V7 n( Z: v% M. I8 _6 l
syms a b; " L* N- @6 k8 P6 s' o, D
c=[a b]';
: ?4 E8 q1 i# s* y \%2012-2017" R- f% {, v. O: w, d, B- k* D
A=[ 135404 136072 136782 137462 138271 139008];: T) e' L; k X. C& W0 h
B=cumsum(A); %原始数据累加
2 Z3 L* q& x! q& q/ `$ Sn=length(A); 5 b0 X+ D$ W( w3 ?. l0 y
for i=1 n-1)
5 D5 Q |/ C5 B4 S, X C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
# H! c( c6 X6 ~1 A& m$ D6 S- {end 3 t* n" w' x X D/ J' C
%计算待定参数的值 ; u: p4 I! s$ e. e$ d) d z1 z
D=A;D(1)=[];
6 |3 @( {0 V `! K7 `) U+ KD=D';
1 B8 S% U. H& L f9 j2 g' ~; ?E=[-C;ones(1,n-1)];
. F& s. Q$ M: D" u3 S; A$ I8 u6 v5 x0 Lc=inv(E*E')*E*D; * g& c. F) p( S
c=c'; 3 i2 M) @8 s) {" n
a=c(1);b=c(2);
7 I8 z/ M5 p) M* s0 F- b%预测后续数据 % ~4 n7 ?$ m0 m* n3 D. k: U
F=[];F(1)=A(1);
9 G' l. M8 E$ o" ~4 qfor i=2 n+5) %只推测后5个数据,可以从此修改 : K/ E2 [; B* V4 G; F
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; 8 v* h4 M+ l2 ^: W) [
end
' n3 h. c7 l0 B4 T S3 ^. q$ LG=[];G(1)=A(1); , h, g: y0 I+ H* A
for i=2 n+5) %只推测后5个数据,可以从此修改
! C, ]3 x$ Q5 o! Y8 I+ W0 H3 y/ m G(i)=F(i)-F(i-1); %得到预测出来的数据 $ ?/ B+ d0 F. H: o: y5 `
end + z8 D% P& k1 ^6 n1 t
t1=2012:2017; ' B4 b. q+ \9 `2 b
t2=2012:2022; %多10组数据 + V, j \; m5 h
G
6 o3 c6 C* ?' I0 b4 }5 Dh=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 3 v I7 o8 J% }7 Q2 f
set(h,'LineWidth',1.5); p! T2 ~$ o, f3 f8 z9 b
1 F: @) h0 T5 E: ?" L
这是Excel里面的人口数据 ( A" ?% B3 `1 u! v3 q( P) ^( \
" _4 c* ^% h& O+ B& t- ]
最后得出的结论,感觉还是挺靠谱的。
( R6 u1 ~; D8 S3 ~; R: \8 Z
3 b/ T+ V" U1 h2 B6 @! n& \: s# y; }' P6 |
logistic模型
: g1 o$ F( G. y* s" c" Y
- Q# c% N' u0 q4 W. g) Z前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 ( e9 o- W5 P8 ^+ V9 p$ c3 D( {
2 n9 z+ S: ?2 R( E& I+ Q
+ Y6 v# ~' C x0 Q7 w& Sclear
. K+ o0 V7 p' @clc
3 y4 p) m4 q1 S; N+ R X% 读入人口数据(1971-2000年) 1997 - 2017; U+ n6 ^ ^) R" z
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; 4 u; q; j9 v6 C* s# M
% 读入时间变量数据(t=年份-1970) 8 Y# I5 O% q2 r
T=1997:2017;
1 }) ]5 r1 y4 k/ r9 X% 线性化处理
2 s1 N0 b, Z+ R* Q& Cfor t = 1:21,
0 }5 \, E* p9 |$ b9 Z/ w8 m x(t)=exp(-t); 2 {6 J" E G {5 @; s. b+ l
y(t)=1/Y(t);
2 ?( \" f5 H* U/ i- x7 xend
4 G$ g/ _0 ^! [4 e ]$ Q2 A, K9 g% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
6 q" b9 u# B( |! @" T Nc=zeros(21,1)+1;
5 i" {% K5 N8 u2 k* P$ F* _X=[c,x'];%相当于30个方程组,求解a和b 的值. ) A1 C4 y7 m% f: {$ e
B=inv(X'*X)*X'*y'
/ [' I0 a! m9 c& M; xfor i=1:21, 8 Q0 C+ `2 R I& X- e. d
% 计算回归拟合值 % [: U; `3 A }( x' h
z(i)=B(1,1)+B(2,1)*x(i);
# `. V! _, O6 r# `7 W# a' X% 计算离差 6 C+ G: }) D, o1 n$ q( I- q
s(i)=y(i)-sum(y)/21;
0 ]- x' E! {1 R) S% 计算误差
3 {" C9 y! m7 r' P5 f; h0 r w(i)=z(i)-y(i); 5 a w# `9 ~* @+ ^/ n& ?( y
end
& ]6 G# K+ C9 z4 z7 M% 计算离差平方和S 0 b' R2 H7 K: i+ V4 c
S=s*s'; % C' i* g% x; j; t X1 D/ d, U
% 回归误差平方和Q
# B6 A3 a: k; e1 B- zQ=w*w';
3 j# j7 C: P- U+ U2 [# V% 计算回归平方和U $ _ _1 B" c! t2 K/ }" e
U=S-Q; / Q+ L, p. n( E% p4 H2 v8 x4 V
% 计算,并输出F检验值 5 @3 ^+ @+ G9 v9 z% k- k* u) ^- d
F=28*U/Q 1 J% H' T1 r q( t4 B3 G" P
% 计算非线性回归模型的拟合值
0 _4 @6 {# ]7 j! bfor j=1:21, k+ \& ]7 J! E
p(j)=1/(B(1,1)+B(2,1)*exp(-j));
6 {, I6 y5 ]8 f ^* `" h% v2 |$ ~end
1 ~9 U0 F* N& p. }, Y, J% 输出非线性回归模型的拟合曲线(Logisic曲线) 3 T2 r" @, {7 d# e5 ]
plot(T,Y,'r*')
& X. V$ C7 [: C9 v# J0 Q# Bhold on
' f4 I e4 V0 t Lplot(T,p);+ L5 y: q# J5 e8 y; ?2 d: u
, e& d. R' {+ _" R
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 - ?5 l# a, G/ O P6 z" M- m7 P- t2 O
) T K5 E3 n" N; q
" @: S0 m% F+ x6 x" [+ W+ O. A) {, t. h* x: w4 ]
3 g# r& e4 E A" K' n |
zan
|