- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565630 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174912
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题- |' n' i3 \' g: o
) m2 P+ q, b' z) J B9 p
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了- B& r( R4 k3 [6 k. w+ Z
+ ^" z% v. a5 R3 d! a人口问题
3 _* Y8 r* ~" v
# t# k6 Y& h/ P1 j6 ]! |' `; }5 q在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
" r* {% q: q6 n3 _; }( ]根据最后完成的《实施全面两孩政策人口变动测算总报告》, ! I K8 `1 B- c* A7 G/ ^: d3 k
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
+ {& ~8 A2 D9 G- M/ z' d4 p( }其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 ' L' P4 b3 S. O, S
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 " s8 F: F) l1 K
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
4 ]3 ~9 F1 W/ _' u人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。
9 M3 D7 B4 D3 L由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。* m* t( \: a, R9 u1 T' n
7 G6 Y6 O: ]/ r! q& {建立数学模型分析下列问题:! }0 C [. U3 l; X4 t3 O1 K
5 s( m1 O, P" H5 k! H( `(1) 在现有政策下预测未来人口的变化趋势。 / E6 c5 z" }& i( j
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
/ e& S3 Y- G* g: k* |(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 - b4 M6 ^1 R* u; [& S2 [
(4) 依据你的研究给政府相关部门写一份800字左右的报告。3 l. i( v, s& Q8 i" g2 j* C& M) _
+ N' e J% E& ?& t4 p) o1 `' _拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
, W0 p& x4 }( n5 C. r/ e' n6 C; l' R: M0 z% \
人口预测模型, g# R8 U5 P! A6 A: L1 @7 `' W
* W( Q3 V) K2 {+ h/ x( N先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。5 ?0 J$ Q3 I+ ]* `# I/ ?
' L+ \# m3 w" I# X9 ?灰度预测. ~+ l' ^8 n" j: `% ~
+ E) X: t1 x/ u* ^3 l
先说公式推导 9 Q0 @( y4 }6 X# _5 p
mathType的公式好像无法在makedown上面显示,我就截图吧 3 X8 x8 V) s! i- K: S7 e) d% D
. w Z5 b* i! m
. V% Y, K: i! s0 U; O- `+ g! C0 \( ~. i1 e/ U
- Q$ [+ J( p! v6 f! a
上面就是公式的推导,下面是matlab的代码
/ c8 Q( }2 A/ z) n3 K% L4 t& z7 m
clc,clear; & o0 m( F+ D. S" z9 P& O) u
syms a b;
1 C: @7 Q. u! M) G/ E1 s' R* }. yc=[a b]'; % d3 _2 ?1 I2 a* F* D+ Q/ o6 c$ V
%2012-2017
. W( `+ T3 Y8 I9 }4 ~- P1 D0 EA=[ 135404 136072 136782 137462 138271 139008];
3 _' q+ x) N4 p" }B=cumsum(A); %原始数据累加 6 ^) m% e" A6 e3 Y% K
n=length(A);
5 X ?+ b! b _9 M0 Cfor i=1 n-1) 1 g0 _) a$ n& p! p$ y7 C/ c
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
7 O4 N: s/ k8 n7 c) tend
/ H. {. Z) D$ |3 S# X%计算待定参数的值
5 o8 m" ]4 t p+ O, YD=A;D(1)=[]; ; T* P0 G5 V" t; M6 ^: r
D=D'; 0 x& w# K3 x' j
E=[-C;ones(1,n-1)]; 0 I! V' z( m! r0 X- ]. j8 e
c=inv(E*E')*E*D;
, `' x1 i& }* k0 |, ^0 l) t2 nc=c';
7 Z$ G- a2 y: n2 O& R+ ma=c(1);b=c(2);
, v7 j3 ]7 `, O6 F9 ]%预测后续数据
% |1 }* j7 N* A& R( l f3 i' U$ M& A. LF=[];F(1)=A(1); & |: S' k0 ?0 Z2 r
for i=2 n+5) %只推测后5个数据,可以从此修改 ' \- W, ~2 `1 Q, }5 I8 d3 h
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; . }, q7 i: ?2 `4 |6 s
end O9 ^# u& P. ^/ q1 U O( ?! P
G=[];G(1)=A(1);
$ a7 F9 j- G( r3 g' h# F: c& \for i=2 n+5) %只推测后5个数据,可以从此修改 6 W& D7 j \# }) Q9 V$ j1 y
G(i)=F(i)-F(i-1); %得到预测出来的数据 ; J' ~+ L ~" v8 d8 a( M0 d
end
g3 i: _% `2 t; }t1=2012:2017;
7 C( c4 T7 z! i Gt2=2012:2022; %多10组数据
2 n0 {& w' O5 J; k( OG
, ]- D( d6 q0 m1 P8 G7 A4 Z6 ch=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
. j! c0 V' W0 {set(h,'LineWidth',1.5);
5 u# a' Y* {- S6 @& S9 \: e! q+ y4 J6 B1 ? U9 e
这是Excel里面的人口数据
. v) m' x M1 |3 p! n f) p
0 J) q1 _% L& \% M+ e0 J最后得出的结论,感觉还是挺靠谱的。
" Y# @* o# t1 \& }' G% b7 g, c
$ \% W0 K$ m+ [+ ^
' K4 R( Z: X5 M- f1 d1 N2 m( C- wlogistic模型
+ M* X9 B2 |/ z/ X/ `
8 T8 q0 p! E8 P8 d! n9 R* x( H前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 ' Z# @" W& Z' s0 J
8 Z' i" J" V$ ?
& a2 Q5 S ~1 Q) ?. n8 L
clear 3 L* R% X5 `$ I
clc D- B4 `6 Q! A4 z- P2 c
% 读入人口数据(1971-2000年) 1997 - 2017, Z$ [+ V/ H8 }. g# F' G( k" w* `5 x
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; / y3 l2 k# q: a5 w
% 读入时间变量数据(t=年份-1970)
5 C: S( R6 a9 k+ K. I' ?5 zT=1997:2017;2 Y' ?. K! S! V$ o( W, S3 O( d" W
% 线性化处理
) Z8 N9 x. _0 L e* E5 y3 r, Zfor t = 1:21,
, ]2 e1 p+ L/ j/ Q$ y7 m x(t)=exp(-t); / v1 z9 T7 |- ]3 `% t
y(t)=1/Y(t); / ?8 V% q# g( h) B3 h( r b! a& P$ s
end
" W4 M, }6 }9 R; B4 E' J [% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
: n% `( m0 G2 y. tc=zeros(21,1)+1; 8 L! K' R/ n8 t
X=[c,x'];%相当于30个方程组,求解a和b 的值.
4 \8 ], c" |! H# VB=inv(X'*X)*X'*y' 2 f) b* V+ _! o( F
for i=1:21,
6 t, ~7 I7 b8 H% 计算回归拟合值
. N+ t E* k5 _' T7 E$ Z" ]2 V z(i)=B(1,1)+B(2,1)*x(i);
& m6 S" {; q, F- ]% 计算离差
) J+ S2 `" s" I' Y' ~+ ^ s(i)=y(i)-sum(y)/21;
7 k' T0 e, A, h% 计算误差 & I5 d0 N/ c. Y( y. Y* l' q
w(i)=z(i)-y(i); 4 c5 G# x0 _1 P; v4 `& P
end
1 ]/ N) D" A U$ X5 b% 计算离差平方和S 0 J# s0 h7 h: T* |
S=s*s'; 7 p x _9 X, L9 h" e5 a
% 回归误差平方和Q
5 v% j; U, U5 ^4 Q1 `8 b4 TQ=w*w';
( G+ q( o* Z' {4 \" ?/ w; t" S% 计算回归平方和U
+ |. E& W9 h# G. b3 g1 FU=S-Q;
. J* I$ y" d7 F- ?: N2 h% Z* G( P% 计算,并输出F检验值 5 W5 z* q1 Y; J' z/ v" t, x) ]: L
F=28*U/Q " X. R9 P" M+ f! P, D# F
% 计算非线性回归模型的拟合值 8 J7 Y' B2 c0 T' P9 e
for j=1:21, 3 {$ M# ^- ^$ _# v
p(j)=1/(B(1,1)+B(2,1)*exp(-j)); - R `9 h2 C( [% P0 H3 N/ j
end
O3 a" ^ L( Z/ V6 s3 h7 n% 输出非线性回归模型的拟合曲线(Logisic曲线)
) V2 p- A# @/ ?. H# g5 L/ m6 Pplot(T,Y,'r*')1 t5 ?! ]6 |5 ^4 x6 {0 [: y
hold on8 H! l6 H. z5 w$ o( m9 }& F3 m& h
plot(T,p);7 K1 S+ C. {1 L! o' J' n% h
& h& }' H9 m% X
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 " y5 R" h# k( W
' g9 Y9 a7 k" }! E
, M6 \$ _* |/ Z( S% R
' {- B& a2 d* I- k0 Z9 g; I0 T( S7 e# J; @% l
|
zan
|