- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563297 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174212
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
( g8 s8 E: {9 }9 O; |- V$ t! K0 ~! D0 o& ?
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了# B& M$ r9 V0 o9 M# \' i
( Y/ V+ v6 O+ ~0 l人口问题& B( {7 E0 w! B% a5 s
8 n0 B) }8 y3 | x6 F在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
: G9 I1 u! S0 F8 I2 R根据最后完成的《实施全面两孩政策人口变动测算总报告》,
% [3 B% v! N( G, N$ H6 r- [: Z2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 ; d0 V) i" a5 \- p
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
. u$ d# m" K+ ~. ~, m' [* A国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 4 u0 @& f T$ a. r3 { o0 n6 l
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
2 `; h- Q! w( Y5 w, B! e5 X人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 9 j1 ~; A5 d/ @- I9 \$ F
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。- k* o) Q" i1 A- b9 Y6 m& W8 e
: r# r1 u* \2 W. x( A2 D建立数学模型分析下列问题:! y* ]3 @- f4 ?
6 o; a0 S) j" N
(1) 在现有政策下预测未来人口的变化趋势。
0 c8 G& T% w0 {(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 ! H( Z8 q6 r: F3 R' p
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
1 ]& e5 Y o/ S4 d: c% y; j$ s(4) 依据你的研究给政府相关部门写一份800字左右的报告。
8 ]$ o* j2 [2 z2 E8 a# Z1 ?. @& h1 s7 h* \+ x' X
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
. ^# F, f* ]' X4 @: i4 u0 |* d! x7 B! k4 o" Z1 @
人口预测模型- V+ N7 S, Z+ g
8 ]" H; D: l1 }# Z \6 Z7 P n( c8 M
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
8 w; I8 |0 ^' P& Y# W8 O, w- X$ }. k. D3 b9 j1 Y; b5 ]8 r
灰度预测
2 B' k" P' E! F% z) @8 J
% W; Z7 c: X: D6 @1 Z0 D& |' q先说公式推导
3 q2 U8 a9 Z+ k3 D% QmathType的公式好像无法在makedown上面显示,我就截图吧
" }+ N$ P8 l6 ~6 q. h0 D7 J3 T+ a5 D, r% I# O5 b3 `( x" K
) p- Q$ f) U4 s5 _
% S8 }% s- I& C2 u( i8 J1 c
& H. _1 P2 q E* L上面就是公式的推导,下面是matlab的代码
3 B; h) @1 \+ p& U6 x& ~6 [3 U9 W5 v+ e' `# ?
clc,clear; # o, K# M% o7 t9 Z8 Q
syms a b;
' E0 E7 A, _$ G* B+ I! P bc=[a b]';
, `4 w1 W& E( m* s% k%2012-20176 Q! `) @& j/ \
A=[ 135404 136072 136782 137462 138271 139008];8 e$ Z* O4 N+ S6 r, c D1 U
B=cumsum(A); %原始数据累加
3 v& y2 {/ c: V* b& x0 s$ @n=length(A); 9 N! R; ~3 H* _% L7 S4 k
for i=1 n-1)
* L( b- C# d, F* W7 r% y5 J C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
6 K3 B! S4 n0 N- }4 ^2 Xend / z! B1 R& H! x+ N9 K
%计算待定参数的值
% x& [' C* ~) ^. l; I$ PD=A;D(1)=[]; + `8 Z7 d! c$ i! s9 a8 A
D=D';
0 {! d# B* i- G' ^8 SE=[-C;ones(1,n-1)]; 5 D% v* s2 N6 ]5 z0 z8 |
c=inv(E*E')*E*D; . j# u D4 y% y! |2 ~% q
c=c'; % w# ~ C3 V9 F/ H$ [
a=c(1);b=c(2); $ z1 u) y) E* b- x9 `
%预测后续数据
& p1 O9 K7 O7 Y1 hF=[];F(1)=A(1);
' ~; n# P$ q3 `5 n2 I7 F* A& wfor i=2 n+5) %只推测后5个数据,可以从此修改
$ |+ k' F8 g- t8 \ F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
( b3 ?1 K. c5 B6 n4 g9 kend " i) G7 i+ V# t# P( }& v, J
G=[];G(1)=A(1); 8 f9 b% P) S% Z- T
for i=2 n+5) %只推测后5个数据,可以从此修改 ( D8 t9 }* j$ j0 G1 u4 Q
G(i)=F(i)-F(i-1); %得到预测出来的数据 * P. w+ L0 C7 @& E( ~
end
3 a! p0 b7 w& i/ a Tt1=2012:2017; " y0 ]; Q3 B" j Q$ Y& j) C
t2=2012:2022; %多10组数据 # X9 i: k! c! T5 t
G4 j# w+ }1 h' M
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 ) M& h8 n0 W& d6 P
set(h,'LineWidth',1.5);, }# L8 w, ~7 i, U2 b. R9 F
7 |! Z0 o; c/ u1 K/ |7 j8 E
这是Excel里面的人口数据 ! r4 I# E k- |2 m' ]+ L& K. S- W
* J# p$ `" @, s* `; T: p
最后得出的结论,感觉还是挺靠谱的。 6 ]4 y- y6 z9 k( V. l
& G6 x/ U( S0 z) @
$ m9 L; Y2 Z& E7 @logistic模型1 U- `4 K( J6 M6 r; R4 V
/ d/ ^4 e7 N/ O+ j* N2 l4 A/ X前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 `- W' s9 c9 ~
# p4 C! m4 c8 b# `. Q/ d1 S2 b$ i# x T0 T9 B
clear 3 z8 S3 H' s& z+ U" v
clc * F2 C+ g7 j( }: |- e
% 读入人口数据(1971-2000年) 1997 - 2017' F0 q* B7 ^9 a' j% j+ E; E0 W
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; 4 L% ]! ?, @9 m7 w2 z
% 读入时间变量数据(t=年份-1970) 1 s9 t8 f) K% P+ x9 B7 W
T=1997:2017;1 d, B1 [& h& G' G3 O" G
% 线性化处理
3 p9 B. _ [3 t, K2 k7 A, Qfor t = 1:21, ( o& s8 |/ Z) y: g2 F
x(t)=exp(-t);
a. y/ y6 B+ a, Q; {0 j) }, e2 g y(t)=1/Y(t); $ g# _3 S/ A; j' E
end 7 m+ K$ W2 `6 I( l( s$ f2 x
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
+ b$ B* M1 z, Y: A! Qc=zeros(21,1)+1; ' h$ N- w& p! b3 n; ?* U
X=[c,x'];%相当于30个方程组,求解a和b 的值.
. `% G( j+ \$ g2 b- gB=inv(X'*X)*X'*y'
n' K% h# l* cfor i=1:21, 9 V* G. X: \1 f8 M# D
% 计算回归拟合值 2 \3 S" L+ E! S4 {9 i" | l
z(i)=B(1,1)+B(2,1)*x(i); - F9 } @" @ M8 P' M
% 计算离差
. V$ S' w* q* ]' W& `, D5 \3 S s(i)=y(i)-sum(y)/21;
- O* b# i8 o% I0 ]$ l% 计算误差
$ Q0 V7 E) X4 E @ w(i)=z(i)-y(i); : j' ~! d7 s* r$ V) f6 g
end 5 j8 A6 X# Q. Y) k7 ?. v: d8 M
% 计算离差平方和S / e1 u, J( W$ i, h* T( C
S=s*s'; {& L4 ^' @# r* ^6 K f) j
% 回归误差平方和Q
4 k# A$ m: R! m6 YQ=w*w';
, ?# A9 M! q' D) X _% 计算回归平方和U
8 `( j" [. t9 u( [; VU=S-Q; ! f2 D# f6 _- e4 s- G
% 计算,并输出F检验值
1 o$ h( |' s: J( w( h( ?/ k FF=28*U/Q ' z/ }" G9 e2 h7 ]: k
% 计算非线性回归模型的拟合值
/ M9 }8 z$ z9 E, Y! ofor j=1:21, 1 p1 b" P+ l! z
p(j)=1/(B(1,1)+B(2,1)*exp(-j)); ; ~# ~9 N/ X" U; w; g5 C
end
' C; v* M* T* G' G- ~% 输出非线性回归模型的拟合曲线(Logisic曲线) - a3 V! C* q9 X$ M& ?- D
plot(T,Y,'r*')
7 n/ d7 u. C% ohold on
* G$ X6 D3 T! b) P" b* eplot(T,p);
2 S, G% ?5 |5 g; v
: Z" l1 |; e$ s) \" A1 t- M最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 2 f& E2 g4 v* M" ^/ D" m1 j
) j2 [/ l& V! x J& i
% D, y+ ] k' m, T
/ p/ i3 x5 p# S: O
. v+ m8 _: y( M% ~8 m: S |
zan
|