- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 567243 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 175396
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题) ?! Z. L0 u A/ K
% d7 o1 ? k1 B+ s4 N C4 [3 O3 r学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
[0 N/ \# [8 j# O% q9 w1 m) @, E
人口问题
: [4 f* f/ l, J4 H; g& Q5 D7 ]' D- n! H' x+ E. S
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 % d# A, M) V0 q
根据最后完成的《实施全面两孩政策人口变动测算总报告》,
* O' H* ^& S* F2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
0 |8 c2 V, N, S% j3 R( p其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
, i: C/ [0 y7 y$ ^$ L2 z$ ^9 c$ o国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 n `! [( [% G) s4 M
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
. P: A% s$ |# k0 v) }0 H人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 * a- T0 ~( y Q0 `2 v$ j
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。+ d( S& E2 S. n$ B
1 B7 R2 V6 |2 e建立数学模型分析下列问题:
" A& Q4 r7 ^, Y* k" L2 s" f9 u6 _
8 ?$ b% Q- b; L) P8 n(1) 在现有政策下预测未来人口的变化趋势。 2 [1 ~) S; P2 H( l& M9 ~+ }7 O
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 A8 r' X6 _1 p. z8 v
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 5 ^7 ?0 ?/ }# D w
(4) 依据你的研究给政府相关部门写一份800字左右的报告。
# ]2 l( b; R: @) q' ~
1 U* N/ u4 w" K t0 ]' c" S6 |! y拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。7 F+ z/ p2 b" L# q+ G
; n( @/ y) z; P8 b+ \ J H人口预测模型5 A8 ^& k( `/ e" B [: @& g2 a
$ k; W2 k" m# q1 t! H- p
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
8 q" S. {, k# s6 ~0 b) z e: \0 t% R
灰度预测- w+ N: X6 s, n# y2 s u
8 B! j l$ C) p" q& s' m; K
先说公式推导
. x w* c; T5 w% ~: B- Y" NmathType的公式好像无法在makedown上面显示,我就截图吧
3 ~3 m& j; ?$ j
# v& K& n' P2 ~' o) k5 E" K" @% x+ _* {" h& m
7 @8 A7 A6 W7 l- F `
& j- `) b2 b& k# Z1 v1 R/ d上面就是公式的推导,下面是matlab的代码
" V- y+ b) o0 }* ?7 `' C- |; |% C
clc,clear;
6 @* W$ k1 b: M n m% v% |% [syms a b;
- w( c) \6 T1 f8 u4 u" c: Bc=[a b]'; . _) M" P& A& P; }/ N7 t( h
%2012-2017
4 T' d: d6 Q; j5 i0 q) \6 Y5 IA=[ 135404 136072 136782 137462 138271 139008];
* z/ T- x; h. n& UB=cumsum(A); %原始数据累加
$ u& E1 A! A9 M1 Dn=length(A); 0 M+ k9 [9 s$ f% B
for i=1 n-1) 2 U+ W% L0 x \! _3 W
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 ; }- w; a& @) L" h* Q
end & a/ K% Y% R% O" N
%计算待定参数的值 " [+ w4 t: S* z) w, V2 ?1 u
D=A;D(1)=[];
$ B- `; i, F# [' B- ED=D';
! W" e3 i- M# iE=[-C;ones(1,n-1)]; & `' o/ x" D5 Y0 K
c=inv(E*E')*E*D;
; R0 D$ _# |. f4 f2 U/ A7 g2 T8 ]c=c'; 2 p. G4 O0 ^" m: `, A; D7 G
a=c(1);b=c(2); ) J3 A; S! r6 D+ Y9 W5 Z
%预测后续数据
, ?+ N5 x. \7 p* w& J9 d) e. |1 {F=[];F(1)=A(1); 3 u0 y% ? W g
for i=2 n+5) %只推测后5个数据,可以从此修改
, F4 Q% ~4 N6 `- z) \" n; i) @ F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
6 n5 Y" X' B% z6 B; M& bend $ G2 s0 x* D5 ? K- J/ x
G=[];G(1)=A(1);
$ V+ E# x' w9 g4 g4 @8 J- Q3 ffor i=2 n+5) %只推测后5个数据,可以从此修改
4 Z N( x& C7 U* d1 u; r4 u! d2 t G(i)=F(i)-F(i-1); %得到预测出来的数据
0 w% _. A& Z% P% `6 _end 6 y" U! \$ ^9 H7 k Q) `% m7 d
t1=2012:2017; , \4 j& Z* {1 D& Y
t2=2012:2022; %多10组数据
/ @% z- A* Z. Z; X; TG1 Y( ^6 e1 r& d7 @8 k/ w p0 H
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 # @8 q2 N4 k' s `6 Z0 f; c
set(h,'LineWidth',1.5);/ v; _3 ^- D0 ]/ f4 @
+ p+ t5 |0 V. i4 g3 j% f( x+ O0 _6 `- r这是Excel里面的人口数据
" |* I( j2 ~4 ]1 d$ d. }/ g! X! L
最后得出的结论,感觉还是挺靠谱的。
0 N, J- a8 \; E) _7 j! \% p& u8 ?$ [' w
7 c0 g& E6 x/ J3 J- t
logistic模型
; J) C9 f" t. p0 p+ X
. p4 F, d0 K/ T+ q* t6 b, W3 m3 v前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
+ D0 P T4 e x3 K5 K/ O" `8 R! Y8 f+ m3 V' }
- Q2 G+ q! ?2 s1 F+ c, nclear
$ K: M" [4 A! b- P3 vclc
4 } j; g8 |/ L! w% 读入人口数据(1971-2000年) 1997 - 2017/ ?/ C0 V7 l: i6 D1 w
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
, t& j3 a' T0 n q3 c% 读入时间变量数据(t=年份-1970) ' g: j* k" K2 U! u
T=1997:2017;
( r# b3 H$ v, w0 C! Y }2 V% 线性化处理 ! n2 S F+ V1 j, H0 n$ I; ^
for t = 1:21, 0 e- ~8 y$ x1 t" G/ T3 K
x(t)=exp(-t); 0 E: j6 u$ b3 ^' m
y(t)=1/Y(t); / @) s/ o4 R) a) T3 e* t0 O( W
end : b2 i& t; {1 N4 A, ?' d
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
$ t+ H/ D: s0 `$ `- Ac=zeros(21,1)+1; 8 }% I: ^$ ^8 B8 M) ]8 Q
X=[c,x'];%相当于30个方程组,求解a和b 的值. ) \7 o( }5 l) k6 K" Y" Q! X
B=inv(X'*X)*X'*y'
9 p" I+ E) h7 w1 zfor i=1:21, & L6 ] G5 T8 d3 n( e' P5 D6 b
% 计算回归拟合值 , [. l" v! a; R6 v- t$ ^! g
z(i)=B(1,1)+B(2,1)*x(i);
( t- c: i( K( G. F/ j S6 f4 I0 z% 计算离差
( ~) X: M( j/ H- V" O s(i)=y(i)-sum(y)/21;
* n: j' ?8 p& j+ V2 ^4 ?% 计算误差 0 ~7 ~% H+ r7 [" c+ l- _
w(i)=z(i)-y(i);
( P$ a4 V1 N4 ]$ L/ Gend 1 s" ?4 w# D. [. M" R& ]
% 计算离差平方和S
z# d. m! `) TS=s*s'; 8 V- C: c* t3 t9 R
% 回归误差平方和Q
& {4 L, ]7 z1 O5 f% `0 c+ [Q=w*w';
6 R# k8 ?6 m4 Z/ D% 计算回归平方和U * o$ F, w! L, Q8 E
U=S-Q;
4 {& \1 J: K3 O& @% 计算,并输出F检验值 $ ~$ G4 r9 D' d5 T8 |
F=28*U/Q 8 ~* D) n c+ p/ d/ j
% 计算非线性回归模型的拟合值
/ Z( L* H* u2 S5 a: l; `for j=1:21,
6 M$ [# z& @' X! h p(j)=1/(B(1,1)+B(2,1)*exp(-j)); g4 y# p {+ `' I
end . g; _: L2 I' G1 U6 n
% 输出非线性回归模型的拟合曲线(Logisic曲线)
q' L; s1 ?( f' o( N3 Rplot(T,Y,'r*')2 G) i7 w M' o- E: h- g
hold on
: ?, b. @6 A. Fplot(T,p);
/ g6 c8 p1 R& R5 b9 e
+ |0 y; J0 o* G# J- i最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 2 u6 i [* r; w! B2 ~
& R! w4 s3 H9 P! q8 B) @- B" E3 L4 z* ]) a% d: I8 ^# ?
v! l. [' U! L; U6 a: V) _
w6 @6 d% r( p% r
|
zan
|