在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 565660 点 威望 12 点 阅读权限 255 积分 174921 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
数模竞赛-人口问题
1 ^. K6 X$ U* |& \' b' W* d
, ?% A7 L1 r' ?& D1 P8 T3 d/ p2 R 学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
# j' Q9 c* ~. b8 R$ D' E' e5 D
: b1 F+ q8 H5 C- ]8 } 人口问题
* s( X/ R. o; K+ P' K* ?- C ' v" j8 M+ k0 `2 X( H+ \; x) b9 \
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 g/ Q. r" z7 F. e$ X5 Q
根据最后完成的《实施全面两孩政策人口变动测算总报告》, * G" k1 m2 r6 v# ]. s5 G6 O
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
# K# `8 o6 G' t- ]* h 其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 S0 ~0 E0 j; f. {5 a7 C( g- e" B; Z# @
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
) q; r; r+ I0 R% l' M+ V 2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
2 B: g! ^, t$ d1 r( G8 L+ l1 o: W, ^ 人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。
) Y1 t/ B7 g I3 T- `' m 由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
8 ]6 o8 G/ R* \% c6 j " j$ a$ q. Q @( G7 f
建立数学模型分析下列问题:2 n# u* [* ]# I5 ?8 W
9 E1 w g% ?! p+ \& G (1) 在现有政策下预测未来人口的变化趋势。
; u' p$ A( U, w (2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 J( y1 m3 r) f2 f
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 $ p- @, X0 X4 }( W* o0 C) @2 g
(4) 依据你的研究给政府相关部门写一份800字左右的报告。
( k* t U, |4 b) e7 m7 A+ s" K D
6 y- S' g6 L e& S w) Q 拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。! l3 T) k$ o4 E C2 M5 O* _
0 @9 g* q/ U7 U. x6 z6 ]5 X 人口预测模型
" X8 `0 w; h; K) v- |' d; | " O7 P( d/ e/ W' z' ~, G! l
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
5 L8 u4 n) j+ S# @' m + ]: u3 C" W/ \" B* V3 j' ]
灰度预测6 U! D* s# S$ d- O" @! X7 ?
+ Y+ l7 P5 H! K2 x- i/ L2 z! u
先说公式推导 8 w5 L* C% n6 x0 D. j# i! u" j
mathType的公式好像无法在makedown上面显示,我就截图吧
# K" R: W; }+ v4 p+ ^$ _# ^- G
1 J1 q; c! S5 w/ m8 \ 6 B) u! p9 V" \/ O
. G+ B; J" i% j' q
; {+ z0 {1 e7 J. T* R 上面就是公式的推导,下面是matlab的代码
2 O. }+ Z3 O) X 0 ^- Z N' w, @' {: [* u
clc,clear; 5 M/ M% ?# I3 k" D* w
syms a b; " i4 s: w8 q9 J
c=[a b]'; ; S$ t; k$ ?5 a* }5 s0 l
%2012-2017# U5 e5 ~! h* n" _0 s
A=[ 135404 136072 136782 137462 138271 139008];
$ K# t2 a( v" n! |/ d1 n B=cumsum(A); %原始数据累加 , I2 c# L! V7 c0 ?
n=length(A); 8 K& h6 M( f, p. e0 Z
for i=1 n-1)
. s& ?1 I7 J$ H* i/ k/ J' E C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 * z% O2 `3 e3 b4 k; Z5 H) j
end & v9 n0 l2 n" y; Z
%计算待定参数的值 * B: ~2 I! e7 o: |, j& C! }
D=A;D(1)=[];
9 |6 X3 W; a9 A1 } D=D';
9 H v' o- J- ~2 ~* n E=[-C;ones(1,n-1)];
1 _8 \) m6 ?/ S5 y: O c=inv(E*E')*E*D; , e2 s K0 G. {; t6 d) r
c=c'; , E! a5 k& ?$ [. W; E
a=c(1);b=c(2);
9 A" i) v4 _; @ C# _ %预测后续数据
$ O$ T3 k$ D1 \/ j4 n, [# z x F=[];F(1)=A(1); 4 Z5 p5 e! H& q" e6 F) u! E W) T4 c
for i=2 n+5) %只推测后5个数据,可以从此修改
/ [0 a' ]' D9 | F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
6 l% M- ~9 c7 w2 p. T end 6 q( Q& F6 G. e( E9 V
G=[];G(1)=A(1); ! c% ]. W* K! e! v, _ U% X! F0 Q
for i=2 n+5) %只推测后5个数据,可以从此修改 3 C7 z& B* g' \2 c4 _7 T
G(i)=F(i)-F(i-1); %得到预测出来的数据 $ g3 N1 E) T. O, D
end $ h8 f( c2 w4 ?- {. \) l& j) c
t1=2012:2017; 7 R1 q" [$ p" M& _
t2=2012:2022; %多10组数据 0 z" o4 e6 x: U& Q% Q7 B' n# x8 t
G* Z6 u6 a8 n) k5 V7 c0 g/ R, Z
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 - m+ Q9 @' V% [( a$ n4 Q4 M
set(h,'LineWidth',1.5);6 L, o/ ~- \, \
* n5 f. Z" r) U: K- j
这是Excel里面的人口数据 6 y2 C( H& d5 T. `
4 h- V% Z& `. f, ^% l( g+ R3 C
最后得出的结论,感觉还是挺靠谱的。
3 _+ `8 S' j" @8 W+ d! v 3 l. y2 B; E, a, ]: i
5 I+ I2 C$ Y0 K; p5 a1 C
logistic模型
1 x$ | G% e" P* o+ I
2 q. B) Y( o/ y* X1 }( u# @ 前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
2 E8 X' \# e- f* W
3 Z z' F+ H2 `8 G$ [: g5 S1 t
* r! L, C' d5 }; e clear
3 B9 D, h' I# {! `4 |' N: s! h clc
" h/ i( y# _4 A/ Q* n; v, W % 读入人口数据(1971-2000年) 1997 - 2017
, {: E$ g$ A$ l% D9 H* G3 `( x Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; ! U& d' o0 w8 c, |5 L: s, b5 x' k
% 读入时间变量数据(t=年份-1970) 4 O/ V5 E+ x3 C9 U; _8 y, o
T=1997:2017;
* g$ Q Y' O& p' b% g& C % 线性化处理 , A" x2 u$ v: a
for t = 1:21, 2 L) @% N$ i5 n) l+ n3 S* B
x(t)=exp(-t); * k+ t1 q" _9 R
y(t)=1/Y(t); ! a# a. U& w' k& B
end ' m( Y4 y9 x% h
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
' a+ `& G* t6 `! d' `8 _7 }& y" K c=zeros(21,1)+1;
2 \5 `" F& I6 o X=[c,x'];%相当于30个方程组,求解a和b 的值. 2 X% G; f+ L* o- U8 E( w. W
B=inv(X'*X)*X'*y' 2 I! M; ~/ i. ^- \# N
for i=1:21, 7 e, O8 A) U; ^; ~- v- Y
% 计算回归拟合值
7 k7 ~/ b/ F7 ?, B7 O! s z(i)=B(1,1)+B(2,1)*x(i); # m0 w* i# B8 ~1 ]; T7 ~1 z
% 计算离差 " ~9 p8 B! ^3 I
s(i)=y(i)-sum(y)/21;
, y9 t9 A6 g2 Q+ ^" n& `* ]: v % 计算误差 * a: _( y' j+ a) \# f: `
w(i)=z(i)-y(i);
6 P: h: `1 ?$ V4 p* S end
% N6 k7 g6 T/ G4 |% h" b % 计算离差平方和S 0 f9 B( n2 j9 K: d
S=s*s'; ' U! G8 j3 [, ~( v/ r, V- r( Z1 y
% 回归误差平方和Q - n$ c) S' V$ {- ?6 g- G* p
Q=w*w'; D' [' Y/ U3 f) B: V; [ h7 a a' A
% 计算回归平方和U
' X/ G. P- b$ O" m1 \ U=S-Q; 4 u" H v. u- T' c3 K1 m4 \
% 计算,并输出F检验值
6 `5 k% L. H. R F=28*U/Q : a; V1 V! ?2 O' s
% 计算非线性回归模型的拟合值 & S) Y9 ?6 n4 G$ _9 |0 V. k4 |
for j=1:21,
2 n/ Q, g9 z4 g1 _8 P p(j)=1/(B(1,1)+B(2,1)*exp(-j)); $ Q" b6 z' P9 I) f9 }' G
end * B1 W; W5 T8 F8 e7 p
% 输出非线性回归模型的拟合曲线(Logisic曲线) 3 s$ K9 I1 ^) N/ y3 c, o4 v0 W& q
plot(T,Y,'r*')) y8 L, F4 u9 e9 n) {4 [( d
hold on
* f2 Q+ e0 F, R3 O4 H# | plot(T,p);, {& E4 s8 p7 U& k1 O/ W
1 V5 ^# }* _. t! Q! Z1 y 最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
' U5 h$ q7 R O* @ 7 _& @ D7 ]' ]; M+ e3 m2 B. B1 W
2 G$ E- e: U! i5 H9 @7 a; S( L: R# [
% t) L0 S2 d. l3 I( r" E
# ?+ |) V6 [$ F1 q. I
zan