- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563327 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174221
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
- ~! [. ` f! r5 [3 ]8 d( B8 l/ ^; [7 U5 j; H1 ?2 ^
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
% f$ C. G8 v/ @8 y
; L W$ b9 q# N# W1 o( B人口问题
# Z ^ [0 M& R8 }, i
" Y o/ C5 K) E; R8 J( n" d在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 * l* I4 ^8 t$ q
根据最后完成的《实施全面两孩政策人口变动测算总报告》,
0 j- @+ s7 V1 I4 F0 p& v2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 6 e' t7 m( R$ O/ G" e
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 2 r! G6 E5 B T! ~
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 ! e; G1 ]* J' o9 z
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 0 w8 Z1 m0 s% C
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 0 I& P; K U" W1 t) d# _8 G- S
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
& p* N2 I: x" M; ~' Q. P% w
% K: v9 r4 w3 \% O9 X# o; n& x建立数学模型分析下列问题:
! \% r W; Y' r p8 l6 n0 r8 q8 ?- c4 m9 ]' C; K3 ]1 d
(1) 在现有政策下预测未来人口的变化趋势。 5 f' _0 K/ P5 p6 V2 H* i& @
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
* {; j/ m3 N' J4 S8 [" t" ~4 n(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
5 I2 d, j& M7 A r2 @0 A6 p(4) 依据你的研究给政府相关部门写一份800字左右的报告。
& T' Z7 M8 C% b/ k* j* d3 |. P5 q9 |3 c+ @% O+ |: a" A
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。: F: `, f3 [$ f/ s$ F2 i7 h! Q3 F
5 v( G3 y0 m- J+ E
人口预测模型
M2 Y2 e5 ?) S. r1 ^
, \, x+ U* {# Q3 l, ~先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
. C. [& p0 F( ~# ^8 ^' j# @! } z' V7 C9 y: ^
灰度预测
- ^4 C" u: G2 s8 f7 E2 H6 H: L+ I& b! Q5 C9 A. H& o, \
先说公式推导
, ^) b3 M. I' {mathType的公式好像无法在makedown上面显示,我就截图吧 1 M2 C! }: ~% V0 w
) G9 }' T& v1 K! V
# F5 a: C5 d' A7 v6 }% m5 q
2 ~: Z! x1 A. Y4 E2 z" F
& {5 Q$ b0 ?' W0 n/ M* l% W" L; [
上面就是公式的推导,下面是matlab的代码
4 Z8 K1 N6 a% [. ]( x
8 D! T) U5 r% B2 Q- {+ x' k- y/ J; Yclc,clear; ) @2 i( J5 T* B9 J; C
syms a b; 7 V* E; P, x( d3 l
c=[a b]';
" ^, X% [( M+ P2 X2 X%2012-2017$ F3 t- }* A- {: j @7 ?
A=[ 135404 136072 136782 137462 138271 139008];
% L+ b3 M% o4 ^8 _, ^5 G! ZB=cumsum(A); %原始数据累加
( e" t- C3 K6 {n=length(A);
+ y% r" q" W' a4 U( M7 E1 g$ Jfor i=1 n-1) 4 z$ M9 e, ?3 J7 U4 N% I9 W) k
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 c: E4 c6 \; D* E
end
4 R8 l! [: ~* d9 ~* L! {8 K%计算待定参数的值
Z# Z& ~6 p. p/ i3 zD=A;D(1)=[];
( A3 T; D% W/ N+ P. @4 d7 lD=D';
& ?! U8 d+ f& S# W) X1 m7 Q4 \E=[-C;ones(1,n-1)]; 6 q1 t2 G5 s% @
c=inv(E*E')*E*D; - k" A. @3 y) P }! Q
c=c';
$ L& Z. d D: q& c& na=c(1);b=c(2); $ j1 \9 ` k H2 f
%预测后续数据 5 H+ j/ f; _! z/ S7 _% j$ G
F=[];F(1)=A(1); 6 R! {" K) z8 }2 [6 ^" [
for i=2 n+5) %只推测后5个数据,可以从此修改
0 g8 r8 z9 Z5 o6 P F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
$ o' c, t6 X( O* }0 [; W) ^$ z4 Nend 8 r' P" M+ t+ o- ^6 z
G=[];G(1)=A(1); 2 Z2 L1 q- @6 G3 J
for i=2 n+5) %只推测后5个数据,可以从此修改
4 w' j& A F; i5 i$ l& {+ Y& | G(i)=F(i)-F(i-1); %得到预测出来的数据
_: J# {- W" E/ V6 ?5 i* Zend # k6 h: m. q. Y- [! n6 H
t1=2012:2017;
. M( L3 c% W. ]t2=2012:2022; %多10组数据 z* a2 V! y/ d
G* A. N/ Y; n+ v3 q+ x+ D
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 0 m C$ J, u7 A0 t6 P7 } Z1 _; i
set(h,'LineWidth',1.5);
0 l8 E# o, v3 V% I' `2 u7 @: X& l$ U2 n+ G& m& C5 g
这是Excel里面的人口数据
, U' q* @4 h3 A& Q0 ]: s9 o. o/ Z, }) ?5 u# C
最后得出的结论,感觉还是挺靠谱的。 4 O2 ^4 c. Q& m1 H) B- z
: t4 P/ ]) N' ]! Z/ m4 O/ j! M+ p1 A( P* G6 J+ d. s
logistic模型
m6 j* l8 _% n* S1 E: n/ V8 j% @* n: _- e9 c8 s; C. m
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
0 _- @$ y- q5 i$ k2 a, n! x
L% T6 h! G. ?5 S3 l) P/ _+ ^+ K- R3 `* S& H4 D4 m
clear : }# t3 `, s5 ` R7 l0 a
clc / Z! A3 s0 t5 ^ t2 M/ i6 g. E0 g
% 读入人口数据(1971-2000年) 1997 - 2017
' d X) O+ w4 e! z# o4 C2 fY=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
! Q' J! Z$ N3 a% q" l( s% 读入时间变量数据(t=年份-1970) 0 `: t$ D* M7 Q k
T=1997:2017;+ O; A+ H1 j5 [& W6 ?
% 线性化处理 4 P2 E7 }. w* @' K$ L6 g
for t = 1:21, ' Z+ J0 W) H' m0 \# ? m
x(t)=exp(-t);
& I0 Z, U: Y& B( |. B2 Y y(t)=1/Y(t); 6 x+ X: a9 p% c; q
end ' ?- d& d% b. L
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 2 [' k/ D$ o" U" h, Z
c=zeros(21,1)+1; . W: P8 N- K" e! w$ u/ \4 f
X=[c,x'];%相当于30个方程组,求解a和b 的值.
' U' \1 o* ^2 I4 X; E( uB=inv(X'*X)*X'*y'
1 Q2 ~& g k7 q" U, U1 Zfor i=1:21,
7 k& V! j- `! h* w* r( T/ ^( Z% 计算回归拟合值
# I, f( F Z3 h: Z! n z(i)=B(1,1)+B(2,1)*x(i);
- ^) N9 M' L' v' z% 计算离差 4 G8 a* z2 R* X6 J
s(i)=y(i)-sum(y)/21; 8 ?* s) F$ n2 ?9 }; [) O! S
% 计算误差 # E0 s# y6 [7 C$ q% j/ ~# X7 N
w(i)=z(i)-y(i); ( H7 x! `0 r7 E
end
3 g2 Y5 H) v! } s' X# {2 m3 P% 计算离差平方和S
+ h7 C6 b5 }% ^S=s*s';
& @9 K$ N# D& b7 W& g a3 D% 回归误差平方和Q - Z$ Q5 H0 M" }7 {1 S5 L
Q=w*w';
+ @& X* q R- l' A% 计算回归平方和U , q( h7 H Y7 M. z5 l* R
U=S-Q;
. }& H1 N! k2 b) }* W% 计算,并输出F检验值 # A/ d4 u6 R. u L
F=28*U/Q
( O+ e3 S+ h/ l) ?2 W% 计算非线性回归模型的拟合值
2 S% {$ i$ z; Q' `. dfor j=1:21,
; {* w4 Y" a1 C# ~ p(j)=1/(B(1,1)+B(2,1)*exp(-j));
7 w( n8 U3 @0 q# D, {* ]8 Q1 Hend 2 S) b# t8 h- x/ p/ E
% 输出非线性回归模型的拟合曲线(Logisic曲线) 7 D6 r% O. e5 E' |4 G i
plot(T,Y,'r*')
' G& g. X. H* O9 U$ Mhold on
! y) [0 ]) C9 p' A9 pplot(T,p);9 O$ c0 ?; r0 x$ D( s
$ Y% i3 a R- o6 }2 b. I$ K
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
8 c0 E( c9 D0 H0 _- E2 Y
/ {5 m& r9 [" |2 n6 F/ D4 k$ V! h, A0 c2 \: o
0 V5 t) a- Z+ p4 ]% I7 p
5 [7 D+ m# J* E: d
|
zan
|