- 在线时间
- 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年大象老师国赛优 |
数模竞赛-人口问题
# T' ^! ^6 l/ R% ?8 ~6 q0 v. \& W j s7 S5 g+ s
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
- S) k. h4 C6 B$ O, ]7 Q8 x7 n v( l( _ C5 S4 Z* U3 r
人口问题
. @5 O+ t F _/ L" @3 T, K$ I8 Y5 j! d
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
) U3 S8 @* m$ E4 f1 S8 q根据最后完成的《实施全面两孩政策人口变动测算总报告》,
$ ?* _! g- F3 n( m. `2 W7 i2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
& ]* z+ |% Q _" X! g `) E8 v! l其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 # c% D3 y8 [+ A" {( T: ]
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
' P) b: V n0 a/ |% v- S2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 3 B2 \$ S8 O5 i r" E. V9 U
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 . w, m* n) W' ]$ {" k
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。' z: E* G3 ` ]6 |: \
. Q. W3 h$ x% @5 S2 F, S. T) w建立数学模型分析下列问题:
# V. }# D2 Z5 g7 }/ n' y5 }9 { N* D& B4 O
(1) 在现有政策下预测未来人口的变化趋势。
' `8 H( c5 v6 I; V% D9 _/ O(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 6 [- z- m+ W& f$ q/ r
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 / B' t( }$ |) ]' T o
(4) 依据你的研究给政府相关部门写一份800字左右的报告。8 Y3 X" f+ [( V" [" f3 }' v
4 |. m0 {( V0 q' r2 C- c拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
3 v# B: q: B' b' \
" a a! E# A9 n2 K) ?5 d人口预测模型; S* E4 A% x" i2 s1 h1 d/ C+ d
; I* P/ l9 H6 M0 h+ w: m( z; C先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
3 c [2 T& ?6 m) W/ V* Q8 t
; d0 A% O6 ` w5 n( t% D灰度预测
. U I/ x$ x2 g" W# e+ l0 N K1 g4 a; L* x& i3 x1 b( W( \; f
先说公式推导
0 q7 e) z7 W# WmathType的公式好像无法在makedown上面显示,我就截图吧 4 a- x7 u$ t; ]; F
X. a# J d, A( U' }0 E4 c# w" e1 j/ C( k, T" l" t8 l8 S
& m$ \" Q: Q0 Y" z9 y& I6 P) ]; _8 C/ [4 a% r8 ~4 c4 X
上面就是公式的推导,下面是matlab的代码' E R8 U" b+ e8 s/ B9 l+ x
, S0 r. \( K' E1 o8 e2 s- c
clc,clear;
M6 v( j1 J0 W; q& }! w4 @0 m0 Vsyms a b;
* R* t* X/ Q) V7 \c=[a b]';
$ Q2 ] q# x; }2 H, p4 x: Z%2012-2017
3 L) i& r" `: `A=[ 135404 136072 136782 137462 138271 139008];
2 n1 `/ Q5 G: n8 \8 l* }B=cumsum(A); %原始数据累加 + `& C& r% e+ L# @! P
n=length(A);
1 o# E4 {4 B( I7 C# Sfor i=1 n-1)
* n# }9 @, K0 ? C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 & S4 t8 X' D$ ]) e& ?2 ~. i4 N
end 3 X$ o6 Q8 r: G
%计算待定参数的值 2 {/ T x: C2 B" R _% C
D=A;D(1)=[]; # J. b1 T/ p9 @$ i; ^0 m; p
D=D'; & ~1 U- ]9 |# B# P
E=[-C;ones(1,n-1)];
( E" W; v. A, U/ |4 ec=inv(E*E')*E*D; 9 U ?6 c# T5 @$ k O3 |2 E
c=c'; 2 y: s5 Y( u; S L' {( A. L
a=c(1);b=c(2);
8 ~( d: @+ x$ j' \( m; N5 ^+ g%预测后续数据 0 I8 L7 f2 q3 ]& K9 S+ H/ B
F=[];F(1)=A(1); : }% I2 ?+ d4 ?+ }( Q
for i=2 n+5) %只推测后5个数据,可以从此修改
, b" |4 c+ G) i6 Z. y F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; , e+ u) @+ j2 x$ [/ O
end , n8 b7 {4 m5 }2 n8 O
G=[];G(1)=A(1);
- `( e, ~$ N/ ffor i=2 n+5) %只推测后5个数据,可以从此修改 ; B8 a8 v9 n: M4 { J2 C! }
G(i)=F(i)-F(i-1); %得到预测出来的数据 ( U2 d; }$ {& a) V
end ) e+ E, o+ ?! z( P0 |
t1=2012:2017;
+ c6 J7 T2 O6 I: u) G% E6 Pt2=2012:2022; %多10组数据 Z: p2 i5 a( r$ P
G- Z0 K0 x' g' V+ j# v$ s8 X
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
# T: ^0 J( u7 h) G4 _set(h,'LineWidth',1.5);4 w% ^$ L; r$ u3 Z& j/ A7 e0 f
' G7 I" z$ d* S! s# V
这是Excel里面的人口数据
& X' G- g1 w/ @6 G4 i+ Y: h4 A7 n8 t( q2 V8 c5 i* m& x( M8 I( U
最后得出的结论,感觉还是挺靠谱的。
$ B/ x/ t, q% c h3 d3 H& q
- X! {/ ~& G$ m2 V* p6 t9 F+ O" E; A, Z
logistic模型
3 f T( D# G& D& F( s& \4 ]# {$ ?+ A" i2 F
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 & x+ d; F1 E; f* O8 h# z( [
8 r+ N# H$ @: G5 Q; {
5 P, i8 ~+ S) h; aclear
! b& R0 e/ G2 i. x- cclc ; w7 O8 \ a `
% 读入人口数据(1971-2000年) 1997 - 2017) S. `7 d; h2 Q; @- W
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; 0 X, X9 {& W& C7 k- y: E9 W# l
% 读入时间变量数据(t=年份-1970) - H5 }9 @ _" D% T# I/ n1 c; R
T=1997:2017;
$ n! s1 j, h. `8 F" J! P' u% 线性化处理
- e9 s$ G7 U5 p/ Rfor t = 1:21, / P: l7 E" {, R+ U0 b- [8 p
x(t)=exp(-t);
+ }# S! b6 Z }& o y(t)=1/Y(t);
# g1 i' p9 B" J; ?end
2 |: }1 B) u, w5 \; t% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 8 I& }1 w% R5 D4 ^- k
c=zeros(21,1)+1;
: }0 |% P" v& ~ q' u1 l" h. d+ UX=[c,x'];%相当于30个方程组,求解a和b 的值. 3 D2 D. D8 f# a3 a, k3 d
B=inv(X'*X)*X'*y'
/ q0 S$ [6 Q- C6 Yfor i=1:21,
: ?, J( ^4 h f' ~# k% 计算回归拟合值 : Q" V0 D5 k% u: ^, K+ A: F" c0 D
z(i)=B(1,1)+B(2,1)*x(i); & Y9 e& {) ^0 W4 O- {6 L& u
% 计算离差 ' j* C9 e1 H. j" d; ?0 M
s(i)=y(i)-sum(y)/21; 9 `9 v+ a& a8 d" i% I' E
% 计算误差
0 O5 M9 h' b/ M9 r6 k w(i)=z(i)-y(i);
2 c+ ~* L2 @/ r# d/ y: m, W9 r1 Qend
5 e% a: e5 m3 F3 W5 |% 计算离差平方和S
0 `& f* h$ `; O6 S5 F# FS=s*s'; 4 y( c% {" Y$ M/ g+ j6 P
% 回归误差平方和Q
* l( ^; S ~ U% zQ=w*w';
; W5 l( Z0 k4 ]% 计算回归平方和U ) d* c% O2 G) p1 b
U=S-Q; ; D( T& t: S* V- B# s
% 计算,并输出F检验值
0 i" J( ^8 u. ]F=28*U/Q
" V1 D# b( M% T8 e; }! z1 u# U% 计算非线性回归模型的拟合值
5 P7 l8 c0 c+ Xfor j=1:21, 3 S4 d* Y# v# u" Z
p(j)=1/(B(1,1)+B(2,1)*exp(-j)); - |5 r( Y5 V) ^) `1 m
end % @+ U( i9 B& Z0 `" ?# ?* }: a
% 输出非线性回归模型的拟合曲线(Logisic曲线) - D8 v' K3 Z! O* {9 j+ h& ~
plot(T,Y,'r*')3 ^7 l% P, i$ M; G
hold on. v6 C) G( n7 |$ E0 E, }
plot(T,p);
6 b* h0 Q& {7 N( i, d" D6 ?2 y( L% e" M6 R% X8 z; a
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
1 m" @( z4 [8 z$ p6 v) V4 a" D# U; n, x! u6 o% @; G* o2 @( }4 `8 b% o
& V4 d) d/ G. `) T( | C0 x- J- c9 U/ y7 u5 z; d; t- p! p# L/ y
! r3 P" M" g5 J
|
zan
|