- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 554948 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 171857
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题5 P8 e: S9 b0 {, z* D
0 a7 \8 Q1 f- ~
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了3 f- V, x" m& S0 t( B
& L/ O& c% t* o人口问题
- w+ v# B) o, x* ^$ k# K; _3 _4 e; v/ `6 T! W M
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 2 o( W( ]1 T: u, @2 l- v; x
根据最后完成的《实施全面两孩政策人口变动测算总报告》, - n: j& z0 W0 Z0 I/ a) {
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 6 M; Y7 n7 Y! d4 D2 `. Y
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
7 L0 t0 U1 k; n5 [& ~% s; Z) \国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
" l2 q) q4 N9 o% r$ B2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 ) g- w2 l! O3 I! h6 J. N6 ?* n1 f2 U
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。
; d5 ]6 E- p7 X# C1 k由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
5 T/ {/ _4 [# `& ^$ A/ K0 Q
" ~7 c3 {9 s9 [7 ]$ [建立数学模型分析下列问题:" @2 z# _7 Q6 e( w6 T% d
# g. u# [1 B& H7 [
(1) 在现有政策下预测未来人口的变化趋势。
( M" `4 Y) C4 S( C5 l(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 9 T! n5 |4 x2 `
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 / \% q- m. G: C" C) ]
(4) 依据你的研究给政府相关部门写一份800字左右的报告。* b+ L- y3 {% l
* W# ^& X- |' u0 m1 b$ t4 n! ]
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
5 s9 w8 I$ r8 {% l/ F* |# ?% }
& T8 r7 R( w0 B7 f0 i2 B人口预测模型) D& y' e: B+ w( }# n% a
! `% @% l) P( R. C0 i
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。( b1 D9 `- \. l0 H
1 h( Y; O! H# S# v灰度预测% R5 d; @, A: K( T* g0 Q1 ]
$ \& ]( |+ ?( M4 k6 ~/ H: ~3 W
先说公式推导 I( U2 e) \" z* U; s
mathType的公式好像无法在makedown上面显示,我就截图吧 + T' ^9 f3 F; R, o
/ n! n7 r$ D) @+ m; h
- Z% v. P7 f5 k/ L- R; D* k' Z- u* P; f# d0 m4 V' N3 n
; U% _" A; L" s' @, D* N4 z$ R上面就是公式的推导,下面是matlab的代码
& b) Y: K' I/ {) Y5 l' [
8 b0 K: G" {) M0 tclc,clear;
; ?) y: t+ @+ F, j8 Jsyms a b; 2 L' G3 e/ w" T7 v+ y
c=[a b]';
2 u7 v1 N N. G7 I. O( M4 I%2012-2017
: l3 b" R2 x6 Z, y/ MA=[ 135404 136072 136782 137462 138271 139008];2 l: f( |+ u8 z1 V
B=cumsum(A); %原始数据累加
1 l% H7 ^6 o1 {. b! v- y" i; xn=length(A); # S8 a- m. X8 H& O Z% k: t
for i=1 n-1)
! F( }* l6 y7 q C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 9 g' ` V b* ^: a: x
end 8 p+ g7 D5 d: ?* w% j
%计算待定参数的值 * j* I8 J" Z) ]# @
D=A;D(1)=[];
/ Q9 k! \1 x5 }+ Z$ P. x* qD=D'; $ h, C% H5 m. ?# g
E=[-C;ones(1,n-1)];
+ ~9 d s) J6 o% x6 ]: N) J5 ic=inv(E*E')*E*D;
7 ]6 ^" @, t7 O1 J3 ic=c'; : Z$ M, o0 e% W
a=c(1);b=c(2); + k- ~5 m( \" `' S' X
%预测后续数据 0 H5 _0 J6 _8 D/ J9 ]
F=[];F(1)=A(1); 3 O x; |) G b) q5 j# h# X/ W" X/ @1 {
for i=2 n+5) %只推测后5个数据,可以从此修改 ; c+ q. J4 O% I6 t* N. }* h
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; * f2 I7 e9 o7 O& B& }) l
end
2 T, l3 ~/ B8 b0 T3 Q8 ~G=[];G(1)=A(1); 6 J+ T6 U* P [3 h8 m( p% g1 F' g8 Z: y9 r s
for i=2 n+5) %只推测后5个数据,可以从此修改 2 q$ d- u% n( N* H
G(i)=F(i)-F(i-1); %得到预测出来的数据
6 B& n4 v3 w( K5 g* o/ C: b, }5 nend
/ n! |& n" k; j$ i9 q1 Ot1=2012:2017; ) V Y; k8 q5 c1 e
t2=2012:2022; %多10组数据 7 d2 V0 u+ ^+ K! V5 [: P
G4 V! K8 S3 E# ?
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 $ a5 }7 I# B( Q# M" y5 y
set(h,'LineWidth',1.5);! x3 P/ K, l L2 m3 e
) X5 X9 v& O. `1 i( P3 n! ?8 U; @2 W& v
这是Excel里面的人口数据 - m+ y( P9 i9 y$ r6 P9 _2 }6 n( R
: v5 p/ K9 i5 }, n
最后得出的结论,感觉还是挺靠谱的。
- {$ l( F7 r' y0 z
) J4 j+ l6 s0 k: A$ `! }5 l# X
2 w S4 q, {" Plogistic模型
1 d% {4 Z2 O, B/ v8 t( h' J& b1 Z8 n1 Q
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 3 F0 }/ g$ ?" ~, S% C
+ h5 P- G% `+ ^ Q2 v4 w
0 X) j( d8 l/ I' a8 a8 l
clear
$ s' _: @+ v1 fclc + T& `! g" r) |3 F# v
% 读入人口数据(1971-2000年) 1997 - 2017" D2 j% j6 _$ \! B8 l6 E4 g
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
$ M$ R; e% {& x% 读入时间变量数据(t=年份-1970) : R6 M, `9 x9 ]; [" X; _. t
T=1997:2017;& j1 a1 C2 v0 f9 e; g! \) o. _( k8 t3 x
% 线性化处理
# S- T _5 W1 T: {1 s" }" q2 tfor t = 1:21,
" c( v8 j2 i# `: Y* n9 T+ X x(t)=exp(-t);
" x0 x4 c6 B; g; R% W7 d- q, o y(t)=1/Y(t);
* }/ p( m6 t# f* I! Kend
9 Y* z- c, }2 r A% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
$ Z8 W2 E7 g! ]" ?- Y% B) r& _6 yc=zeros(21,1)+1; 6 C( `" ?. d$ v q/ N3 k
X=[c,x'];%相当于30个方程组,求解a和b 的值.
& w+ c c1 h1 L, SB=inv(X'*X)*X'*y'
- {5 @# J! C( ?0 ? s; b. X: hfor i=1:21, ) Y- T0 C* @8 e9 D; G8 x
% 计算回归拟合值 3 i6 ~: C7 C. T& I) x
z(i)=B(1,1)+B(2,1)*x(i);
2 L0 }7 Z6 e8 E: i% 计算离差 ; Q: [) z$ p/ F' r) {
s(i)=y(i)-sum(y)/21; 1 o; b3 \1 L- A! k6 j/ W5 @6 R* q' v
% 计算误差
( q$ d1 v3 w1 {7 y2 {8 {+ ~ w(i)=z(i)-y(i); ; W. A7 `8 L% K% h9 R& S
end 7 \% V5 H: g6 e" T
% 计算离差平方和S
$ ~% `, C* M$ x( {: o4 F3 nS=s*s'; " G& s; z8 o. Y! ^8 V
% 回归误差平方和Q 5 U9 S* j2 i y( T
Q=w*w'; 5 d, { Q' \3 O# m* c0 o, c
% 计算回归平方和U 2 R4 m3 u$ ]" O7 t, V9 F8 y" c
U=S-Q; ; y+ r, K: F) P' W d, _
% 计算,并输出F检验值 8 c' L8 U" F5 p
F=28*U/Q
9 Q. k. [6 e3 h$ y, V. { Z% 计算非线性回归模型的拟合值 % t, S' }' z: ]! q: V) E1 V' [
for j=1:21,
6 m2 l$ G3 c% l0 F. q p(j)=1/(B(1,1)+B(2,1)*exp(-j)); 1 |' C: s& p# W
end
2 Z2 T9 G w$ x- l. {% 输出非线性回归模型的拟合曲线(Logisic曲线)
3 e$ X5 H* n/ G) w2 pplot(T,Y,'r*')
* n: R7 H4 H/ ~1 Jhold on
5 ^ ?5 j- j* Mplot(T,p);
4 v9 R5 z8 @7 f4 n
& v+ v$ ~. t4 ^! i最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 ! w" D5 d- u# ] N! N
/ a$ U. r$ h! E. u9 `
4 N! D5 I# j7 u8 c5 ^/ l. d1 T* a0 |
( i; C; S0 _- E# ?+ I1 [* Q
|
zan
|