- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563300 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174213
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题" L" j0 I7 C4 s, I1 Z; @
" C$ c8 c z& X0 K r
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
9 y! O0 a7 b0 S( [# T1 o
/ U2 D2 u3 U+ L9 r- V4 V人口问题
, @7 |5 P- K: v2 @) F$ A# Y9 ^" v
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 " h: Z) \1 T/ f) m4 k
根据最后完成的《实施全面两孩政策人口变动测算总报告》, . s; Z% O0 M" f% h* V+ Q
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 / l0 A9 o* I: I- p
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
+ p5 W* r9 j' T国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
9 R- r% g1 [/ r, a8 q! _! w! v2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
1 K) c, M& D7 S# i5 b人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。
1 ? z1 W% w% Q" m0 O由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
, B+ _8 I5 |2 y5 K. Y1 I5 U: W
# C& E; Z# J$ _1 R+ O建立数学模型分析下列问题:
3 f* A) D1 e( i- K6 j
2 o2 y( ^! V' W- r(1) 在现有政策下预测未来人口的变化趋势。 5 d0 ^$ ]; x" ]1 U
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 + l: c' ^6 X3 _1 r+ @8 A
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
, t) T4 t* i! R+ O3 l(4) 依据你的研究给政府相关部门写一份800字左右的报告。) b0 W; R' K. Y
$ O6 y% o H- h5 [: ~$ m拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。* r6 P: k* |+ K3 P
5 n1 c) g4 l3 i/ T) U. l人口预测模型
% Y3 u6 i: q6 }/ z- [2 w: S$ [+ }
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。 R% t9 E- S' n$ \1 h. d
; ~( X( G! ?$ u b: D( j- e灰度预测2 z9 k5 L. i* f: Y R% D/ v) b! A
" v: G- r) u+ C1 L+ v% }
先说公式推导 & F) Y' f* |& C2 D6 _3 D
mathType的公式好像无法在makedown上面显示,我就截图吧 2 F+ x2 T/ ]0 |, ^9 `: ]4 A
6 t7 K% \) A, F/ `2 u/ N9 T+ f- s, ]" Y* ?! W+ r. @6 W
, O! M* e$ Q1 D
3 f5 s9 }9 T3 G: t* S9 T( x上面就是公式的推导,下面是matlab的代码
/ y C- k# Y4 i0 T; Q6 s; k/ P- k, E, D8 {7 Q' u
clc,clear;
% v1 {! W6 T1 n/ xsyms a b; ! k5 L k" F" Q1 l
c=[a b]'; % B4 }- N% ?% N/ ~8 I1 W) u3 i" w; S
%2012-2017
* f/ K; F" N w5 z; T& AA=[ 135404 136072 136782 137462 138271 139008];
; F5 ]% T. }. u5 ] e3 @6 f) OB=cumsum(A); %原始数据累加
* @$ _6 Z9 `- B+ h$ _6 s9 bn=length(A);
) o6 i! p/ b! D4 W! V5 pfor i=1 n-1)
) g4 r7 X( P$ X4 V6 t2 P5 ?$ ^* t C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
+ j1 N0 S8 S" h( v6 `" |9 e& vend
9 J5 `2 m. u( h/ |: S%计算待定参数的值
) Q% o) o) _6 k6 x" zD=A;D(1)=[]; - k* {' I' r! E q. x7 F; r
D=D'; - j5 H" Z) H' g+ n3 b' J% T2 ]
E=[-C;ones(1,n-1)]; 4 ~5 i7 p/ z; P8 S+ I, o
c=inv(E*E')*E*D;
: G: r$ C6 h0 _+ S2 nc=c'; ( W& a1 i- W+ _6 |( {0 v
a=c(1);b=c(2);
" r1 J+ @+ s$ z7 g%预测后续数据
; a& G) @' u, ?% T# |" H4 l& xF=[];F(1)=A(1); 9 b \6 L$ q# x2 \8 g E. p
for i=2 n+5) %只推测后5个数据,可以从此修改 8 f# b1 Q+ \3 N
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; ) o; `- F. C* P
end 7 b+ j' r- m, M4 D0 ?
G=[];G(1)=A(1); ( x! a, ]7 n/ n& J# _
for i=2 n+5) %只推测后5个数据,可以从此修改 9 X% N; n4 P9 a+ H
G(i)=F(i)-F(i-1); %得到预测出来的数据 ' Z% p5 t' x3 t- G( U
end
: T& n' L5 t, e f# K/ A! b5 gt1=2012:2017; 1 @: }* L2 c" U# H4 u
t2=2012:2022; %多10组数据
X' \& _5 r3 q2 M* Z; n/ zG1 j3 \* U4 C* i4 j$ l5 x9 w
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
) \8 j4 d% e) B3 R7 U }2 v7 Aset(h,'LineWidth',1.5);2 V. h8 a9 P5 D; M) y3 Z$ C* q
D- U; P/ @- ?5 \
这是Excel里面的人口数据 ; o3 V0 s" v6 v7 \+ r1 b
8 X* u7 `" v; m; x/ w/ d
最后得出的结论,感觉还是挺靠谱的。
, f6 l6 V3 C5 V: I2 i4 _. _0 _$ r' V0 b7 y* C9 q7 @
, @' z2 X8 A7 z% b) L. {
logistic模型# z! \' b7 N c3 ]
* g! \# ~8 e) d, B6 H
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 , j& [5 f. {1 w: b) d; H
! N/ U. u. l7 h: Y' b
# Z. _- {: e, A" g+ N$ {+ ]) b- M1 N
clear 6 ~' Z7 i' ~$ u/ Z9 L: e3 ~
clc 4 ~: ~5 A8 b- L- j6 E! L7 R
% 读入人口数据(1971-2000年) 1997 - 2017" F; o& O9 f% w! x4 U
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; . P! h/ P3 A' T; b0 n' [. U
% 读入时间变量数据(t=年份-1970) ! v1 t% D* D6 c" N6 a
T=1997:2017;
! r8 m+ u# q9 B8 h; T. e% 线性化处理 & D6 e1 W/ D/ @! Q& y3 O9 A6 h; v( F
for t = 1:21,
7 W/ q& W; Q" E% v/ T! y x(t)=exp(-t);
, j' s6 v2 {' k, D y(t)=1/Y(t); 0 c+ c8 M" G5 F
end
+ d& y5 H" ^/ Z0 c/ ]9 g+ p% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
. Q5 ]* N& S/ g E, Cc=zeros(21,1)+1; 0 I/ ?) d/ C- _/ C6 M
X=[c,x'];%相当于30个方程组,求解a和b 的值. # l2 w* q0 e# {" C: c
B=inv(X'*X)*X'*y' / R, {1 Y! O( i
for i=1:21, # N% V+ a9 B6 p# k! g p3 t# i
% 计算回归拟合值
/ T5 B( ~1 n* N3 O: d" S z(i)=B(1,1)+B(2,1)*x(i);
- L: e; o, S1 D; p% 计算离差
) Y8 V2 k5 B, O% y1 E- b* H s(i)=y(i)-sum(y)/21;
( n. U; `* K' t3 X( B$ B. ]% 计算误差
3 x# c) y6 h( R. U w(i)=z(i)-y(i);
9 s6 E* ?" l9 l: b2 s* y" ]" jend
6 e7 e" C, g# { N% 计算离差平方和S
8 S& M+ G% k3 J& g$ B" l9 ^6 l' L0 PS=s*s';
h) W, E- X5 X% 回归误差平方和Q 6 X5 _5 Y* @9 P$ L6 d, H
Q=w*w';
4 o& w5 S, j( G3 O$ ^% 计算回归平方和U / M6 Z& m- \6 X, | _+ ?0 b7 M
U=S-Q; / h4 p+ O' ]1 y h: R) `2 y
% 计算,并输出F检验值
' T2 x+ t9 F' L( t" FF=28*U/Q # w& ~. s. I$ g
% 计算非线性回归模型的拟合值
, ~! X) Q1 I# j. o7 vfor j=1:21, - v! @% a4 I" ^- X+ T4 o& ~
p(j)=1/(B(1,1)+B(2,1)*exp(-j));
: ?, T/ q/ M5 ?! g. t8 _# g. l- {end ! L# Q, J0 V h1 y5 v4 F& T3 s
% 输出非线性回归模型的拟合曲线(Logisic曲线)
$ S; b- `. F( Y0 W" j1 E, lplot(T,Y,'r*')* c8 D, m' @2 V. R, }: G
hold on
3 p) F7 }- a# L1 ]+ y& p0 oplot(T,p);, X9 |/ k5 h* d4 j
+ h) d1 l* Z9 I, z0 z5 _最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
S3 q! a& a" c! P3 a8 f, g/ `# i0 \9 S- N& H$ g& n' P! n) w
1 C% `& o/ Q* j3 t; S
/ h4 X' j& a8 {, _: p7 c E3 c+ D( p
|
zan
|