- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 554753 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 171799
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题% n& I, _' _7 C4 z4 |/ p8 u% c
/ D/ s$ x% u' k3 f5 ~! k8 \学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
: q( T' r5 X0 m, T" @. J ]3 T; g' r( I5 ?7 v% O5 I6 @- J8 a
人口问题/ c- n% R$ q& E# N7 E
, }: r1 W3 _' j4 u) x
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 6 c2 [2 v$ `5 Q2 h
根据最后完成的《实施全面两孩政策人口变动测算总报告》,
1 X/ O0 Y1 g( I1 K$ Q8 ~9 o2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 5 h) E% X' M3 ~* V; Q
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
9 H7 G0 Z* w- H; {; t- ]& E国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
) w4 }" I2 |; Q% h" ]2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
+ k w9 X" f. _5 P: C) _" G) z- H$ W人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 8 F- c: t8 e9 f4 e2 ~* f# V
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。. W E& h* {- b3 F
4 {: ^$ A" ~/ ?2 J8 j/ a8 p b& c
建立数学模型分析下列问题:+ N: F4 O7 Z' {9 @3 K$ w. `, C
0 O" x! ?$ Y. P- H
(1) 在现有政策下预测未来人口的变化趋势。
) x: K/ n6 Y7 G(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
8 N/ b) |, X" n6 u0 _% _(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 9 a- D }3 q2 T( y) R
(4) 依据你的研究给政府相关部门写一份800字左右的报告。( m* |6 W9 I& M; n
5 N. J& Q# f6 G6 u! Y8 u拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
3 H- A5 y, V! v0 I( O( Q! {
7 o p, \7 g" x. s! f: [4 W$ n人口预测模型
: \4 W7 I/ J) S1 e L
: \( _. X, S9 Z6 [! b4 e( V! _ J: T先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
" T7 J, A5 P4 l6 g+ u, m; A
% t' r) P- l+ j* J' k6 m0 g灰度预测3 R# F9 s, z1 R9 H8 u H1 c7 [
) a/ f6 ]$ R) e2 a5 C# s; r
先说公式推导
6 p7 ?3 a3 ?+ k' K/ vmathType的公式好像无法在makedown上面显示,我就截图吧
; i M/ r2 G, m* M+ x1 _; i8 P% |) }/ P8 t
2 o* z( c: D4 N* s/ S& n& l: e. C% p- ~4 A: @& |
4 a+ O \+ ]3 ~( k5 M( M/ a' W$ t
上面就是公式的推导,下面是matlab的代码
+ B' k; m% D1 Y) p; {+ D9 j" A0 ^7 ^9 t2 O. u( |
clc,clear; 9 |9 K; @% X, ?& {) ^ N
syms a b; ! k% ]) o' z3 H% [, I5 H
c=[a b]'; 3 t- \9 [" B2 z; L
%2012-2017, u0 S4 [, c/ N* x, s( k
A=[ 135404 136072 136782 137462 138271 139008];
3 ?' r4 c* K& Y, d8 [! g/ z. l3 c% @B=cumsum(A); %原始数据累加 ) d1 Y G5 n" i' K
n=length(A); : K r% R3 s, d/ O: Z5 ? H
for i=1 n-1)
8 O0 V, f7 |7 w# f# D9 y C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 4 x. ]$ k' K* B# u
end
. p: s, G5 v8 M# Q%计算待定参数的值
" ]9 H4 A3 n* |" S3 vD=A;D(1)=[];
H; g+ q- Q2 s ~5 z Q6 RD=D'; , T! B6 e3 j( S( T# K8 O
E=[-C;ones(1,n-1)]; 7 n: @, E. P: k
c=inv(E*E')*E*D;
$ s% N8 P' U2 J& o4 b3 oc=c'; : D" X P; ^3 H! U) s
a=c(1);b=c(2);
! m- z+ g2 `. z%预测后续数据 $ B' Z- t0 Y, v }. T1 {0 t
F=[];F(1)=A(1);
% _* v) J* M2 ~for i=2 n+5) %只推测后5个数据,可以从此修改
0 ]4 ^- M& t, i: b; C F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; 9 Y, N4 \; w/ ^0 a# k
end
0 l S7 N, H: T* U* U! o, d) G$ YG=[];G(1)=A(1);
3 W" x: x# ]4 m2 F) {$ _8 u0 Efor i=2 n+5) %只推测后5个数据,可以从此修改
) i8 P5 o# W4 ]$ w G(i)=F(i)-F(i-1); %得到预测出来的数据 , w; z7 `. X- Z# ^8 O
end
8 |0 B. o9 F' w. Y2 j( ^- gt1=2012:2017;
8 F& V, I& r, {9 c3 t7 B, lt2=2012:2022; %多10组数据
0 ?6 D( W+ G7 B7 {. y5 S5 DG
O; J* F% y6 P0 `h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
v+ \7 C* m6 q. |set(h,'LineWidth',1.5);7 i m) z: D o' p) |
' m( q: v* H' f3 @/ E5 p6 \: L/ O这是Excel里面的人口数据
7 A( i5 ^& X+ A' }9 H' T, l$ l( m4 `0 m. k0 {! n- s
最后得出的结论,感觉还是挺靠谱的。
3 ^. f- x& w4 i* A$ f1 e
: A8 [' J: W9 A* Q, }) a) |& k) Y
0 r; }. q0 n2 O, [& ^8 d" ~1 Hlogistic模型
* w! G: a5 d' v" L( W0 c5 \9 S3 {5 k1 |0 A9 X: f% D
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 $ {6 B: b) U! O# b8 e6 V
6 W2 E/ H1 k4 [$ k% T I: j* s5 o3 f5 [; e' G& \
clear 5 U# u1 C+ Z+ }6 x. ^9 `' v
clc 0 @( i6 c4 C5 F8 [1 d5 E) ^7 G
% 读入人口数据(1971-2000年) 1997 - 2017
' h, i8 ]( f1 H- ^' L0 w, f2 O# ?Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; 3 |( T+ l$ L$ N2 w d
% 读入时间变量数据(t=年份-1970) - t7 {' A8 f" P9 F/ [1 G& ~3 e
T=1997:2017;
! O6 U0 n5 I6 Y% z% 线性化处理
) S) b( I" }8 dfor t = 1:21, : g/ V/ l& [( Y3 B# b" E
x(t)=exp(-t); 7 D) r9 U9 `4 ~6 U* j l. Z
y(t)=1/Y(t); ! _/ b& E; ~& X& y
end
& Z( S7 s# t, ~) Q5 d4 J/ d% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 & [$ ~, |! P6 E$ C) a' g$ i
c=zeros(21,1)+1; 7 E& ^' ?& }! o+ z$ h* E" H
X=[c,x'];%相当于30个方程组,求解a和b 的值.
- A0 C! P! e) [, PB=inv(X'*X)*X'*y'
/ w7 H4 u( T# V+ xfor i=1:21,
; o; e; }- A/ V7 [6 |8 p6 M4 ?% 计算回归拟合值 3 x) t* \. X9 z1 M# F' I
z(i)=B(1,1)+B(2,1)*x(i); 4 l7 R7 L, n2 j
% 计算离差
8 l2 j2 [0 [" ]0 ]5 l, B s(i)=y(i)-sum(y)/21; 6 y$ h# A; w1 ] k- s- `1 F
% 计算误差
3 X& j7 n' z7 a5 y/ W w(i)=z(i)-y(i); $ i+ S# q9 l$ g& w% c
end
$ ~- |) S+ q5 t, f9 `* p% 计算离差平方和S
( {3 A8 s3 t8 A. L) @S=s*s';
x* n2 v3 J9 k4 E5 K* Y% 回归误差平方和Q
' p: q' n4 C; ?2 X( Q$ Q4 o& CQ=w*w';
A; r/ D" ], ]8 O$ n/ c9 w7 m# Q% 计算回归平方和U
; ~6 Z0 O( n: W) JU=S-Q;
" j, Z' o8 R& u$ _7 c4 r% 计算,并输出F检验值 ' ?% U* P! f r! s; X& j7 l
F=28*U/Q
0 a: ]" ]+ g a- M- B% 计算非线性回归模型的拟合值 / F0 `1 t! p4 P( B3 b1 I) S
for j=1:21, 0 q7 C8 V6 P$ E, W: z0 R* k' f
p(j)=1/(B(1,1)+B(2,1)*exp(-j)); - B( O, _0 B/ M2 U) y4 ?
end
2 t9 w2 Z( l) l5 {9 ]( m0 g* ^% 输出非线性回归模型的拟合曲线(Logisic曲线)
) L; q) T1 ^! k7 B* ?5 T, z) G3 Pplot(T,Y,'r*')% Q2 E1 J1 ^$ R, R9 r
hold on
+ b$ b. H3 p; g3 X: O4 Gplot(T,p);
- l+ q1 h# g) y% G1 C5 G6 G& `* l( q; r3 W+ I" N7 o
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
0 O/ t, k% h$ i. m# h7 s* K2 ?8 H. V
3 e& B& K. F. m5 e# z$ D) V" |6 F
/ ~: g ^. B6 g6 Y' @
4 @2 F5 y+ B% R' b
|
zan
|