- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565632 点
- 威望
- 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年大象老师国赛优 |
数模竞赛-人口问题
! [; ?6 ]) z4 ]! q5 }: O3 g! ?/ N3 i! P1 d
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了3 j$ l) T* w+ _+ H" i% G- V& E
6 s; Q# j O: Q: M
人口问题
" d2 k$ d7 ~9 B2 u! S8 v( ^% e$ q4 k# r& a7 \- _
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 6 _5 c& e/ z. \3 N1 q' d: r
根据最后完成的《实施全面两孩政策人口变动测算总报告》, . I: L/ H# Q5 N( E, V
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 : y! E3 @% Y$ Y, d; E4 d
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 ! g1 ^0 \0 U) l9 m. c+ b( n: u9 J
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 5 g) l, C+ q1 g0 L
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 ; D' g( s3 ]6 L- Z* A+ o( x
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 # i7 q1 K$ c$ w8 Q0 w4 ?
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。( U) q+ c8 i7 D1 x
& F4 t0 v7 ~/ H: u: M- [
建立数学模型分析下列问题:
) x6 @7 M7 J* P$ l$ ~+ P8 Q$ i9 f& }- T" a& W
(1) 在现有政策下预测未来人口的变化趋势。
0 ] [$ L& B; F& P$ j* E$ Q! b* v(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 1 [, t; g& H7 q1 ]6 J% ~
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
3 {; v( x% l9 e0 a" Y(4) 依据你的研究给政府相关部门写一份800字左右的报告。 H) A0 h% ?) L7 ]) J
5 ]& s) E& i0 O拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。* v% B( B1 q- S2 e1 A
+ O0 h+ N( a) ? p6 k人口预测模型
7 Q5 B! v& _9 @0 o! k
( E. T7 }, I5 g% Y& G7 P先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
: G/ v& e# V! \4 |7 {' c1 D; k9 I( _! F l9 \0 q
灰度预测
- l F f3 |, h. n" k# [8 n3 D0 C: g+ b3 h7 K& h5 ]4 B% x
先说公式推导 8 U, @$ I9 ` d; O
mathType的公式好像无法在makedown上面显示,我就截图吧 , O- ] A, O$ @1 v1 N' R
$ `' F' l. I8 c! [
, ~7 \, d7 u0 y5 e( N, `' }3 ]# x8 X3 U' Y' h* v, s
' j! S8 p2 Z* |0 I- p2 Y3 Q' d; Z
上面就是公式的推导,下面是matlab的代码
B( [0 v& ?% Z0 p+ L6 Q5 Y7 w
0 i) `1 N# \/ c/ Nclc,clear; ( _6 i* a0 x2 Z( o
syms a b; ! M- t9 b3 W1 V$ O- e
c=[a b]';
' d' \& O! a5 B. ^9 @( z%2012-20175 l3 i0 E' C6 @5 l' a5 \( k" G
A=[ 135404 136072 136782 137462 138271 139008];9 E- t8 Q; n1 x; Q# J$ ?. \
B=cumsum(A); %原始数据累加 2 k. K0 u' f; K# k' A: ]
n=length(A);
7 f1 ]: _; T7 W3 P( D! p$ `1 Q! C, wfor i=1 n-1) $ Y$ m: q8 R9 o. O
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 9 B2 r0 z5 p: `& T
end ( X" y9 c, y" j" ?6 T
%计算待定参数的值 0 n" c* Q' U" y, D: Y7 h
D=A;D(1)=[];
1 D: _. T3 u/ B! o, sD=D';
' q" Q8 L1 x! _+ s* YE=[-C;ones(1,n-1)];
# w' D K& c9 r4 S3 Yc=inv(E*E')*E*D; 7 T& O( z/ C. T/ d; ]' N3 D
c=c';
% Z8 }0 @) E: w8 {: Ba=c(1);b=c(2);
9 T5 v: e- ]- w" ^* }( U%预测后续数据
" \. t- Q, ]& R1 g! Z- pF=[];F(1)=A(1);
+ V2 U( H( ~+ h; c' l T& ufor i=2 n+5) %只推测后5个数据,可以从此修改 : r* U6 V1 L+ B7 n3 b3 f
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; " |3 i8 E0 ~# }7 F
end
' z7 b3 s2 c/ A+ zG=[];G(1)=A(1);
3 g. {% h; k: B3 tfor i=2 n+5) %只推测后5个数据,可以从此修改
& P8 F/ |+ L, U2 b$ q8 y0 @ ]: V G(i)=F(i)-F(i-1); %得到预测出来的数据
. f& b( i: z0 `( m$ L( vend ' B ]5 K) P# W, b/ v
t1=2012:2017; 5 Y* s% K# R' x+ Y# H9 l+ t
t2=2012:2022; %多10组数据 0 ^& l1 m' g0 u- _+ `* ]8 k
G
^$ P) ~$ G( H8 f' ]" Eh=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 ; k/ R5 V2 i. j2 L5 S5 f2 L8 w6 M4 q
set(h,'LineWidth',1.5);
# v* E p f& q7 J" n& a7 }' D0 Z t" L. ]
这是Excel里面的人口数据
$ ?" U- |# r* e9 N1 q; O& _" F4 m/ @. Z+ |) y: K( t$ T$ C
最后得出的结论,感觉还是挺靠谱的。
1 r4 x& c" _$ p; N* k
5 b# H8 O6 {* w# {) a& K6 S5 x2 d- {
logistic模型
8 O8 c8 q2 \6 q, s3 F5 w5 w2 @2 t- B/ ~9 m1 l) P; L' |( M8 [7 j
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 ) g; G8 Z4 D" b+ A. Y; a* ]
2 s& Z' C. g& o6 C" l6 n" @8 X- D' K. E1 `4 u6 b
clear 5 ~, |! j$ }, w8 U a
clc
4 Q1 a4 G* p: l3 n' ]% 读入人口数据(1971-2000年) 1997 - 2017
4 A t' N% ~) n, j; i# KY=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
9 E: ^( D m- W% 读入时间变量数据(t=年份-1970) ; x1 ~2 S- |* g3 y S9 B
T=1997:2017;
" I. C: v$ ]- F& {+ f% @% 线性化处理 $ K2 d+ y, r( d4 e; V
for t = 1:21, * i6 w7 r* d$ \+ [
x(t)=exp(-t); % R* o' u' ?- {3 T' z. a
y(t)=1/Y(t); 8 V" n7 S4 C( d7 o! |7 g; n2 s
end
3 y! _. S) \( M% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 # M+ f% j# t% t$ `1 ~3 b
c=zeros(21,1)+1;
: C! z1 v. `9 o$ y. kX=[c,x'];%相当于30个方程组,求解a和b 的值.
: ~- Y- w- n! d2 }1 s7 HB=inv(X'*X)*X'*y'
C8 d9 s0 {6 l' Z( ffor i=1:21, 1 _5 h7 W# L M% k
% 计算回归拟合值
* _. q |3 Q* T! `6 n( n z(i)=B(1,1)+B(2,1)*x(i); ; h g+ ~4 e/ i% n
% 计算离差
3 [# E, y! d3 V9 T: J& K s(i)=y(i)-sum(y)/21;
7 }2 S% h: q( V; R- r% 计算误差 ) I/ a, C1 g, M* b
w(i)=z(i)-y(i); 0 P" I" N1 g' `3 b
end
4 D2 j/ b, _& c% 计算离差平方和S 3 p5 \6 k9 |# W1 e2 p1 W# q( ~. _
S=s*s'; 2 e5 |; ]2 O: m6 u- N% ^0 |: T ]
% 回归误差平方和Q % w2 b4 h0 k2 {" d$ O9 }
Q=w*w';
2 Z! m/ ?3 J- G j5 F% 计算回归平方和U . e7 I% D: M) D' Q, t4 f( c
U=S-Q; ' |+ a; ~- |" Q- e
% 计算,并输出F检验值
1 ~0 K3 \: J% s% jF=28*U/Q + p, `# C$ i, j$ k c! j
% 计算非线性回归模型的拟合值 ( _7 ^$ F# Y$ b( e; I
for j=1:21,
}% q& u0 v$ [0 j p(j)=1/(B(1,1)+B(2,1)*exp(-j)); / T% `7 V: Z* u' ~2 c
end
& Y, L, R5 Q0 _# x6 t% 输出非线性回归模型的拟合曲线(Logisic曲线)
6 t: k( |. y6 \! t! Qplot(T,Y,'r*')7 i5 S! u0 d: K" m2 \ j* c/ @; P: ~& o
hold on( }9 u/ c$ U. o. A* {; `
plot(T,p);
/ N2 ~& N) ^, u0 b& x+ c1 q; g
2 k, i) R6 J* f* p' p, ?6 D6 z$ v$ k0 u最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 1 m' c% m, z1 J$ m
* k5 @# ^8 @( x) f
+ x# M, R2 {% Z4 h5 f: i3 x' u
% g3 W( V8 R0 d' F, @$ r% s5 X: R
8 V! l; z `4 P7 E& ^3 M
|
zan
|