- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564676 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174626
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
4 I+ [" Y9 b% r1 A% g) ?7 l; S R8 g% d$ n
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
9 G8 I7 d9 k& f3 B* D
: z' L* d4 y0 }; Q人口问题
8 _8 `! C# V/ M0 N. u a. x. Z0 C) p4 O9 i& V3 a ^4 _
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
d& K- g; P3 {根据最后完成的《实施全面两孩政策人口变动测算总报告》,
# i" r) P. G; S: p) R2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 * p9 Z. R7 a% I, M7 ]8 [
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
7 w D' e4 Q5 R; j7 Y国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
6 I8 m- b. |" }9 R) M# M# g0 A2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 / N. w8 d0 U9 c: s* e- L
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 3 ^7 |( G/ e1 m% L- k6 h+ s
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。) P4 w% [5 E; `5 R* _: ]% E$ p
9 N) }. u B% {* q; T0 ]
建立数学模型分析下列问题:- M; f1 W: R' I0 s: K" l4 ?" J0 x
" J: j2 K5 r+ D: K(1) 在现有政策下预测未来人口的变化趋势。
' K" R4 z9 J" r(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
4 |: L* Y* U/ W2 H4 z(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 ' M: {) |- i$ c+ ?
(4) 依据你的研究给政府相关部门写一份800字左右的报告。
: A3 D2 e$ x) j9 n7 E y* O7 k" j4 {( j$ w
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。$ _" f+ W; w/ ~' g% N% X
; ^8 h2 F! S" @6 k' q9 l人口预测模型3 m: `2 h; B n9 ?8 ]
% d/ s' B+ t& ~! }先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。1 q) t& c2 M- s- t
9 L* _$ M6 s1 }# A灰度预测
' G! f; n6 Z1 Z% n* d
2 w/ m$ M7 k$ M4 e先说公式推导 + n! ^: P7 q% i% C. i- k$ x
mathType的公式好像无法在makedown上面显示,我就截图吧
+ k) B5 F) u, q) j* H6 _& m
$ C. p' S$ Y9 u; y1 ~4 [2 {' p- k7 x" B& V
5 X4 E0 _6 |$ q' R* A
' Z! n2 _, F5 o; G$ y% f0 Y" U上面就是公式的推导,下面是matlab的代码
, y* a/ I+ ~5 Q, P/ F
- q0 n1 n7 ] S( b+ \clc,clear;
, D E! u* @0 l' m1 g esyms a b; # d. \& x6 `; O6 m/ L( J' I! W: F
c=[a b]';
* w5 m6 z9 ?# A( Q9 T3 z# F, s* o%2012-2017
& m p* F* z) l* M4 c1 eA=[ 135404 136072 136782 137462 138271 139008];$ e! z& N [2 f
B=cumsum(A); %原始数据累加
/ b! {# J+ H7 {% V! on=length(A);
. ?0 i* q; J7 ^- ~; pfor i=1 n-1)
2 B2 X. R0 q2 V' W8 ] C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 , T" I3 d4 o% a- U0 h- U
end
9 `$ [5 ~/ C& O: O%计算待定参数的值 ( K6 x+ I- ], h. b1 z$ H% e
D=A;D(1)=[];
1 @' X. ^7 ]& L& q. z2 gD=D';
3 M( E. W$ B5 {1 q- ]/ s0 JE=[-C;ones(1,n-1)];
0 I0 j# @1 A% Y( I1 `+ Hc=inv(E*E')*E*D; % A. Z F3 g, a i4 I' N( N
c=c';
- P9 b+ E7 [# d/ ]" sa=c(1);b=c(2);
! T) I+ P2 F8 R0 D2 t%预测后续数据 ' v: y2 g, k4 B
F=[];F(1)=A(1);
0 z+ F. Y: ?' F/ Gfor i=2 n+5) %只推测后5个数据,可以从此修改
- g0 Z2 m5 Y5 ?' H F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
3 R& y9 |2 X! w* X3 Eend
! n9 b. Q! E: \2 V4 [: t3 kG=[];G(1)=A(1);
1 j2 c1 u3 s0 K9 q* {# Gfor i=2 n+5) %只推测后5个数据,可以从此修改 / R7 n6 W/ ^9 w5 w
G(i)=F(i)-F(i-1); %得到预测出来的数据
2 [9 s& a* O a1 k3 u! h$ Eend & e/ H& M0 v4 C7 T
t1=2012:2017;
, V# H5 m) F, B$ |9 A% u4 Ot2=2012:2022; %多10组数据
1 q d3 \6 d% _# J) L! IG& F9 D. ] M9 Y3 |% I$ W: e
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 6 l, a1 A1 T! m; n- l
set(h,'LineWidth',1.5);
! e2 [4 H8 q! B" @- y, N
1 P+ e* L9 V2 g& ^' t% M这是Excel里面的人口数据
2 ^& j' ?2 G' I+ t% v; i3 w& c( t2 e4 Q8 }/ B
最后得出的结论,感觉还是挺靠谱的。
3 k- \% F( @4 X/ x* ?
9 ^, t) \+ j: {& k& p- N. y8 t8 K. _0 L; H) O. U) {/ f }9 B
logistic模型
E/ w2 R0 L2 P3 a) B- c$ x) l5 `! O. i& P1 @, X
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
: m9 z' n. o, C6 p: [4 {
% p8 y3 N* k& K. x$ ` C6 K% @9 u. C0 ^; f; n8 D$ A, C- M
clear + W1 }. u+ }6 D8 B$ ^) }
clc
% L' ^$ _) j7 t1 ^8 k: z) W" w: T P% 读入人口数据(1971-2000年) 1997 - 20175 j4 h- G" X$ z0 Z: A
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
* e" x5 O" q( ]+ S; h% 读入时间变量数据(t=年份-1970) - a' ^" h4 V; s+ Q# ]9 ]& i
T=1997:2017;' s$ f* V, m2 x9 G
% 线性化处理
6 _' T4 D0 @( \/ ffor t = 1:21,
! s- ^% y) K' }8 o/ C+ e4 c x(t)=exp(-t);
6 Y4 u+ a4 v R; f y(t)=1/Y(t); : ]- o" W5 \1 B$ \2 x) `
end
$ v7 V/ w! Q. h+ v% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
/ y! y) g1 S+ [; g, I/ @/ g' [c=zeros(21,1)+1; - E. e Z! G/ a& G, c3 q
X=[c,x'];%相当于30个方程组,求解a和b 的值. / R2 ]) R; z' m5 K! L
B=inv(X'*X)*X'*y'
; W/ m. _3 U) \' T2 wfor i=1:21, " X7 |: ^7 b2 X# T. z: V" n9 A/ d7 I
% 计算回归拟合值 ' C2 v3 u0 Q; S- f0 g ~
z(i)=B(1,1)+B(2,1)*x(i); 1 u6 ~' [( D' o( v- `! l
% 计算离差
9 d" F5 V+ C, K) T! ]; j, o s(i)=y(i)-sum(y)/21;
/ y, f7 ]' I: ^ _& }" I( f6 h+ T% 计算误差 - l5 ^/ E1 k! M+ y
w(i)=z(i)-y(i);
! B$ R+ V4 @& Z2 b2 Fend
, N6 y: R( \1 E6 H+ [7 B6 P; U8 X8 m2 `! Y% 计算离差平方和S 5 l/ e' q& v: X9 |) U3 f9 [7 U
S=s*s';
2 d0 e6 O. Q' Z# K+ G3 Z1 c% 回归误差平方和Q
8 `; |' a% Z$ _' K9 L+ rQ=w*w'; & \& `; L6 _& F; w! k- R* B7 F* d
% 计算回归平方和U $ Y7 D! P1 i; D( j5 y8 f& d8 T& X
U=S-Q; + s6 ?3 x- q' R6 u
% 计算,并输出F检验值
9 h+ Y3 |4 t [0 \, DF=28*U/Q
: ?- h7 L2 @ G; c2 Q* _% 计算非线性回归模型的拟合值 % q6 B1 z8 z) M% f: C0 C s9 q1 r; C1 |
for j=1:21,
+ A, b% G. W- a p(j)=1/(B(1,1)+B(2,1)*exp(-j));
# ?8 @) b, V( b" ]" }end
) K3 ]. | W' V8 I0 q0 m% 输出非线性回归模型的拟合曲线(Logisic曲线) / R3 O# t! s5 j1 n; A- t1 C
plot(T,Y,'r*'): r, n9 p+ b- L1 C& b, b0 K- y( n
hold on
2 V5 N5 i7 ]' K8 jplot(T,p);0 d B, ?0 H. _ D' W, Q: Y) m
3 r% F! ?' s. s2 o最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 ?( ^4 m: o) m( @/ P6 o J& D
0 m+ B8 E! f& q n" A6 y8 t% j. ~5 K- H
2 K9 @, N) ?! V
! r6 i( w# T" }6 J |
zan
|