- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565659 点
- 威望
- 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年大象老师国赛优 |
数模竞赛-人口问题
3 y4 U" o) |& @( B+ j% T2 F- V, O; o; a7 ]. _$ S, J5 J/ X
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了3 Y% Y9 L6 Q# j5 T/ z' `* {
9 V4 L, [$ q. y8 Y) L$ S
人口问题+ s: Z+ [3 E8 A& Z
7 W5 `+ ^8 I: z- b' \: |
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 # F# G0 t9 z- d* d9 X
根据最后完成的《实施全面两孩政策人口变动测算总报告》, . R6 X- e; X* N
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 1 h; d$ l0 k; ^' b/ [( N9 @' ~
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 * r- ?, t) Z' z+ e+ x, Z2 n" u; C
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 ) S# |: J3 I; S' W! K) \. ]
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
, S- @ w3 N( K( _7 y4 a- Q% j人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 ( @0 {6 D+ X2 Q h: w0 |. v
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。0 m7 E0 M% P1 l' m0 n, `2 {
; F/ O/ C4 j% ]* c8 n
建立数学模型分析下列问题:
6 W) y# u6 p! X" a% w0 ~& ^4 z) W( W/ S
(1) 在现有政策下预测未来人口的变化趋势。 3 V+ F1 [9 R+ U* [* b
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
' A: {- B7 A @5 f7 F(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 . ~1 g" t( W/ S9 V% b
(4) 依据你的研究给政府相关部门写一份800字左右的报告。
+ b8 ?$ x: @) l( ^. y$ `6 F, T8 i) U5 y3 d3 }( T! G
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
3 K+ s2 M* N# g) t! J' P: W4 O- c: H$ _. @3 F3 B
人口预测模型
" n( g" e* i+ f$ N
8 v: ]' E* S0 c" a先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
: G) d( w) q) @. a0 [: ^1 w/ c6 {0 }7 r! A
灰度预测
6 l7 [8 g+ m9 i, c! G
0 U @4 `7 g" p# x' q先说公式推导
7 O* ^& ]- y% O5 e5 UmathType的公式好像无法在makedown上面显示,我就截图吧 8 S4 X) ~ \/ f
. M; |7 M, R( b: s0 ]1 Y! [
1 V3 d7 C2 H+ ?. m+ w8 u$ `- p+ H2 \8 r
' g9 K3 Z9 z3 s' p' Y3 f g1 V
上面就是公式的推导,下面是matlab的代码5 I" m# w* Q' A/ `8 E+ z
* c' F: R3 A! ?. d! m# }clc,clear;
) Q# z% f& q% b- f, C. I. j5 gsyms a b;
1 h' b; O9 d: @c=[a b]'; % C# r. k' j a! F, t/ D, U
%2012-2017
3 e o0 H% v) o% @A=[ 135404 136072 136782 137462 138271 139008];& ~3 {+ _" |# H
B=cumsum(A); %原始数据累加
. Q3 y" c1 ^5 b F: o% G& sn=length(A); : J8 x& p* w! ^. _1 [
for i=1 n-1) 4 x* t1 |3 t% q: o" W
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 3 Z; f! L' S" I; w: {% D3 j$ @
end , T5 I9 V9 K* I4 l1 P# l; m' q
%计算待定参数的值 6 u4 a% g6 E7 n# I% U- G
D=A;D(1)=[]; : s: i0 u% Z4 o" ]6 J
D=D';
5 A8 m3 p6 H$ l( z4 O2 I# BE=[-C;ones(1,n-1)]; - \/ m3 x' C. G
c=inv(E*E')*E*D; * V- h( j8 H) _) X$ S
c=c';
/ P7 D- z0 c8 o0 I2 Oa=c(1);b=c(2);
% c* [% m/ o" H' u- S: p%预测后续数据 % v6 G% T& D% i
F=[];F(1)=A(1);
; d9 T# q2 e) V1 q! s: K$ ~for i=2 n+5) %只推测后5个数据,可以从此修改 & q6 ~7 \9 y) n. N
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; , ^# `) l4 x7 W2 V2 U6 z. ~& {
end
. o" p% Z1 B: Q0 YG=[];G(1)=A(1); 6 U, l: A- ]- {0 f1 f9 i: S
for i=2 n+5) %只推测后5个数据,可以从此修改
, h Z _1 O/ Q7 `+ T G(i)=F(i)-F(i-1); %得到预测出来的数据 3 i! G. o' C, _
end ' m t! g8 `0 V" h
t1=2012:2017; 7 R. d6 I' D) O5 t4 ~6 \# h0 l- a
t2=2012:2022; %多10组数据
0 b' |! G% R4 d6 b5 e. r+ TG1 B1 n1 L1 V6 P" e+ J
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 - @' w4 e) G/ N4 r1 |
set(h,'LineWidth',1.5);, z# V8 h8 \7 g$ S+ i
; P: V4 j# G' r: O6 a3 W0 E9 Q+ s这是Excel里面的人口数据
* \/ q7 |7 }) k% I: A" \! H( K% I! v
最后得出的结论,感觉还是挺靠谱的。 9 w% m" j* t9 e
: ^% v* M* M# i& F( |) ~
% b; O& S2 _* E1 b+ s, ilogistic模型
# M8 a' ~3 Z( l0 K" n; b
% e6 r- A1 y) }5 d. F1 T前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 1 c: j2 S6 a$ E/ y/ L$ K, l
; L& }& |8 Q$ R6 }7 E
/ ?- q& L% t4 G' @% p/ V$ P8 k8 O8 hclear 0 M8 w; Z% }3 l- |7 C' i
clc 7 v- y# A* d9 H8 t5 k
% 读入人口数据(1971-2000年) 1997 - 2017
n! J" J, v8 a2 B& ]Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; ; ?: B- P2 U K0 o: i
% 读入时间变量数据(t=年份-1970)
5 m5 g0 v; q9 L% RT=1997:2017;8 M& e+ A1 i3 X( V! }# [6 U! j, V
% 线性化处理 6 J* C* e1 |: N2 a J
for t = 1:21, . C! [8 \% S0 |7 [2 O8 j& p+ Q
x(t)=exp(-t); 5 O) j k5 M6 \. F
y(t)=1/Y(t); ( C9 b: _! q2 `
end 0 ~+ T/ i' n0 Q1 M7 I/ {0 n
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
' h2 C, b6 @9 L& O2 ]8 w1 |2 Oc=zeros(21,1)+1; ! J( k' s4 q6 p1 N5 i8 S
X=[c,x'];%相当于30个方程组,求解a和b 的值. % H( T( [. F( V9 F- Z4 j
B=inv(X'*X)*X'*y'
: ~7 ^. l0 Q4 R; f( u& Mfor i=1:21,
3 v9 A r" ^/ w$ O( P' \$ E% 计算回归拟合值 6 u" r5 N6 G$ Z5 k- `
z(i)=B(1,1)+B(2,1)*x(i); ! m) x0 U3 J3 C8 L) L& H4 X. Y
% 计算离差 i/ F; j2 L3 a/ h/ D
s(i)=y(i)-sum(y)/21; . {. `* q7 P4 S$ F
% 计算误差 - N, G/ j. J: E: ]) a0 `' L9 R
w(i)=z(i)-y(i); 5 t: Z8 D: r1 O4 d2 }+ Z% D
end
4 C/ R0 D! w8 Y) q* L0 ]- G5 I% 计算离差平方和S
) v6 O& T7 m; Z/ s! `9 ^S=s*s'; ! }8 a/ Z/ _3 p4 K
% 回归误差平方和Q
" r/ N5 T. ]! PQ=w*w';
Q/ e/ w5 {' |. {9 I' f! t- A3 E M" W% 计算回归平方和U
( U$ i' Y+ ^, @# r/ p, ~U=S-Q; ) k7 @+ d' l/ D( P1 h% h& {+ I
% 计算,并输出F检验值 # L2 ~5 D5 z; E2 c
F=28*U/Q % R" \: j' B' G- F8 k6 i' O6 O7 y, M
% 计算非线性回归模型的拟合值
" L4 T+ P# L6 d1 k5 ufor j=1:21,
8 X4 J7 u! W8 P/ @! u2 F+ ^ p(j)=1/(B(1,1)+B(2,1)*exp(-j)); * u6 K: E3 K: G
end # z/ X& W8 X7 n: `
% 输出非线性回归模型的拟合曲线(Logisic曲线) * N0 R2 h1 _$ w$ B# z
plot(T,Y,'r*')+ z$ s9 z4 x, _9 V
hold on
! P2 a1 e, O- K; ?: x6 g. q% xplot(T,p);
3 v5 U! w8 z& \7 E5 B. a
" X4 P$ [- A4 `6 K; F' c$ @' @: \最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 2 J- S2 u: V8 H3 i) e6 C1 {
) P9 {4 E) i/ R2 |4 i
7 w! H3 z3 Z+ Q& v6 f4 J, ?+ k* U$ ?1 }& k8 X% V
% e K% l0 g2 K2 t8 B1 u |
zan
|