- 在线时间
- 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年大象老师国赛优 |
数模竞赛-人口问题+ ~+ _; I! u" U5 ?( s; [2 h
! M; }: X! t$ K- s0 k学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
- z# n. ^4 {) H# S' j, |
4 x" Y- X6 Q5 F' ]' q人口问题1 W* x% G, D9 T" C" \% x+ ~
4 S2 [+ g5 K3 J( c. s在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
; i: Q$ y2 U4 d" p) t# S根据最后完成的《实施全面两孩政策人口变动测算总报告》, 9 J5 I& @0 B1 N/ a
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
. T: D* C& I2 o- X" _; V其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 - w' j+ O% e* ^" \4 I
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
0 `. S h) U+ r1 k2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
# I6 O6 f5 [3 m$ p9 a人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。
! g3 q- ]+ Z5 q) n9 Y由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
. m( S3 Y8 W5 t/ G2 |, O. F4 O5 g" r& W7 p/ I
建立数学模型分析下列问题:
1 k! N- b8 v3 N- C% P3 G! C* N/ d4 B$ t( b
(1) 在现有政策下预测未来人口的变化趋势。 ! Q2 |6 U7 O. o. u9 A
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
9 l1 G. h+ b: l& i8 h. b1 f(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 & v0 O) o! c0 x8 ]8 _5 g
(4) 依据你的研究给政府相关部门写一份800字左右的报告。' i" K& h6 A9 l, j7 F% ]* W B% [
4 ^# K) }& K, {拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
7 W5 e; ]1 Q1 u' [5 Z. o) y
3 S6 K9 ]# s& N }. w人口预测模型" p3 R6 A6 c( g
9 e: o2 R0 Z! ?
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
; e1 f& Y6 _% F q0 c$ i
. f( E+ A d( ]- z2 v8 s) T灰度预测: V- d7 x& f; y1 K9 G
; @' L4 E" x4 w) A3 b1 g先说公式推导 # N- M8 N0 f7 M7 U
mathType的公式好像无法在makedown上面显示,我就截图吧
2 C4 e% P4 S" a" [# V# H; R! a* r! ^9 O6 H- M: ^7 D, P
4 H I' N9 U4 x! R
# D1 a) {- _/ ]% J
) S9 c# {5 ?0 y2 R3 J! k% L上面就是公式的推导,下面是matlab的代码) E# F, @; ?" b
6 m+ I3 I+ B7 W4 u% Qclc,clear; / n. b; T0 b; m* y# m* D1 ^9 E
syms a b;
+ Y% W D; h9 g t4 s) D% F/ _c=[a b]'; - ]2 D$ h" ?& k. P& a- L' Q" ~
%2012-2017
" Y! m4 }2 o1 y+ B# s! JA=[ 135404 136072 136782 137462 138271 139008];; p1 y, r* z3 s. L8 R! g
B=cumsum(A); %原始数据累加 2 t D8 }5 T9 [0 U7 ] U8 q
n=length(A);
/ W6 N% r- u$ V- k: x7 ofor i=1 n-1) p8 a9 E: H2 }4 ^) k* G
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
Y7 r7 k" ?* Q- Q% D7 U/ cend
! Q- }% B. g0 V8 V' o& ?1 A$ q%计算待定参数的值 ' G4 x% M8 X" D x! Q' d
D=A;D(1)=[]; ( j' P. q% Q6 f5 Q/ A/ Q. \
D=D';
' z1 f- E+ n/ D6 ?7 i6 WE=[-C;ones(1,n-1)];
: l W" z2 Z/ B$ [, X3 {9 ]c=inv(E*E')*E*D; ( [( V- z. @0 x, g6 G0 I+ c) }- w/ B# _
c=c'; : s0 U& }4 T; n, i j
a=c(1);b=c(2); + y( C5 A2 K% S4 x& U" h
%预测后续数据
6 ^" n% }! b; U; z) E! s' }F=[];F(1)=A(1); + A! f5 s0 T4 }, ]! V8 m6 m2 l
for i=2 n+5) %只推测后5个数据,可以从此修改 . ~9 }; u9 V$ A6 ]
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; : L% L$ M! _9 o) B* A. K0 H2 L* }
end
* m' m5 `* z- ^G=[];G(1)=A(1);
2 I" ~* C& ~, [* Pfor i=2 n+5) %只推测后5个数据,可以从此修改
+ T% X7 ~8 z4 N4 F$ p- S G(i)=F(i)-F(i-1); %得到预测出来的数据
) U% U5 o2 E/ Z! V+ ]; }end 2 n! C1 z8 t; r' K
t1=2012:2017;
( E. b2 ?$ B1 w$ r2 i% et2=2012:2022; %多10组数据
: |: ]1 {: Z1 e9 C q. p7 KG
- N- Q- P; d- k8 Rh=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 & n5 i3 u/ Z! K$ t& K
set(h,'LineWidth',1.5);
- K% ^5 }0 j Q( o) i) V; r1 c5 i+ K7 x* j( c6 S
这是Excel里面的人口数据 + a: `, T- j% w' P- R7 j
. i1 X% u# `, z最后得出的结论,感觉还是挺靠谱的。 3 O& w" d ^; `: u
! k, W {) ?$ S0 j9 `7 r* _- z3 E1 p+ z5 }* N
logistic模型7 `# Y$ ?0 s8 ?% H7 t7 I
& U7 \0 N' v6 k& O M
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 ; `5 K' ~( R5 O/ I- b3 T" b! Z
0 ^2 g- c2 c! q8 l
0 G; J1 |- @* d+ B: e* tclear
: c+ l: y) a1 \# }9 l% Mclc # K0 }; n9 y6 T; g E% i/ E, f
% 读入人口数据(1971-2000年) 1997 - 20179 ?- z6 U) A7 E- P6 ^% m) h3 ]
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
; b+ J$ e! a" a% 读入时间变量数据(t=年份-1970)
% M3 w; k7 y; }/ e. |: t. ?T=1997:2017;- M7 a2 n5 C% X3 i% [: t
% 线性化处理 $ w9 ]" D( g9 E$ k4 R. U
for t = 1:21, / k0 F$ H$ m" a* {! P) N& K
x(t)=exp(-t); $ X3 X' w* _) y4 u
y(t)=1/Y(t); , e; G' E0 j# R! @; f+ W* B" _
end 4 j, r. t5 g) j5 @
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
+ N' l9 U+ @' yc=zeros(21,1)+1; 9 u! |& P$ H2 L' y/ _& Z
X=[c,x'];%相当于30个方程组,求解a和b 的值. 6 w$ N X( G2 f/ t9 [1 L+ V
B=inv(X'*X)*X'*y' 7 T5 m- |/ P; _4 u. t
for i=1:21, % i8 v( S! u( c
% 计算回归拟合值
% S- h% J0 j/ H9 z3 ^9 G z(i)=B(1,1)+B(2,1)*x(i);
* w: ~4 [% R3 Q3 v* p0 T% 计算离差 * @9 T( ~% j: E
s(i)=y(i)-sum(y)/21; a: L. m6 J4 ?1 B2 b, d5 Y8 |
% 计算误差
. _, A; c$ d3 ~7 a2 F& v5 g w(i)=z(i)-y(i); 9 f" f [4 X' P: `
end - U' v* |8 P7 R& ]- c% H# d6 Q: y
% 计算离差平方和S / |% N9 ?: Q: [9 l3 e4 ?( c
S=s*s';
4 }. a! |* @* t2 ?% 回归误差平方和Q " A1 |/ P$ P4 L% k2 c
Q=w*w'; 9 n; d, V5 G- f. V+ N
% 计算回归平方和U ; G* r, G* j) Q9 B* ?. {! d
U=S-Q;
9 X7 P% `% b; ?% 计算,并输出F检验值 + Y* J5 N' ~% R; ~+ [2 L9 h
F=28*U/Q
6 M+ j# k2 h8 @, v y- z% d% 计算非线性回归模型的拟合值
" ?3 i. z4 n' ~' t9 Wfor j=1:21,
m- Q1 q- N; L5 _$ K. ? p(j)=1/(B(1,1)+B(2,1)*exp(-j)); 4 |8 I9 C7 q, L' ]
end
1 J' \8 W; V! u7 i% 输出非线性回归模型的拟合曲线(Logisic曲线)
0 F8 K8 U# E9 G/ Dplot(T,Y,'r*')0 x+ S4 t1 {& s. X2 U* D
hold on5 n9 v* Q" I# Y
plot(T,p);% K* l ]9 |; d6 Z: {, T
- D. J, B o& q8 N. H7 _
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
2 f5 d4 j8 Q# q" H6 d. T! e5 W9 {- d. g$ [; V( q( X, ?+ X8 W, a
G' W0 U/ ^8 A* ~- U
, P; Y% b; V9 a6 n; x" ]* p: E2 U6 _9 E* G
|
zan
|