- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 567257 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 175400
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题# V1 i5 L5 Q$ e, n( T/ c+ {
6 u4 w* U7 G. \( v! N, T( ^2 B
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
! Y5 A; G- N, [$ d- r5 y* c: ?
9 U% J# D4 ?: _- ~ G人口问题( P8 D X* w4 _7 `( t
* k: O6 ], Y O: R% j
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 ( `$ o, K# B2 z. p
根据最后完成的《实施全面两孩政策人口变动测算总报告》, ; U) @9 d9 m! A3 c& w# z$ C
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 # I% L. W( ?* f1 D9 \5 n" ]
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
' j6 B+ S6 D' S6 P- S; q, `2 S国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 ! ]5 g# l& T% F" r) O6 Q
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
. ~% j* h% ]$ A5 d人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 * ^& v$ v4 i: N. y9 f
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
' y/ ^* a" A P& Z& @1 Z" W+ w5 G2 Z# m! x& f- v" {) Q0 g
建立数学模型分析下列问题:
! V' ^. h: i, K2 C, x% R6 D
8 L5 i0 D2 j/ M" j. x. ^(1) 在现有政策下预测未来人口的变化趋势。 : P7 }2 K4 x s6 O
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
, g. K2 v% P/ p6 d [(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 8 y! E2 o0 ]2 y' w s) K8 y
(4) 依据你的研究给政府相关部门写一份800字左右的报告。
0 k9 v: _& K9 o" o! V* t# _& }6 C' d, i7 g3 W
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。9 X# I6 `( q) N; R+ X
2 _+ ?7 m' G* L人口预测模型* s9 D6 n" i3 P1 o
$ f6 ?9 Q9 J. c3 R# i" Y4 U
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。6 ?% e) O1 q! |" \- C
* ^7 h l9 b$ D% p& ^& c# w灰度预测
{9 Q' [( G+ ]# L# q
7 S) _2 k7 [- c0 N1 ?+ [: z. ?8 g先说公式推导 ! r( k' m! i" j8 Q6 z5 p* B
mathType的公式好像无法在makedown上面显示,我就截图吧
; o; w3 H' |) _7 w6 z) n4 _9 m# M7 Z" n6 F+ U% q" i, A5 |. D
9 [' X; O0 Z% {* L6 x- ?
7 V# ?9 Y+ E1 w. M- g h
# t: ^$ p+ ^) |$ f& I5 i上面就是公式的推导,下面是matlab的代码
! i% P/ S. s3 [3 F7 V$ L- n: P( v- N" y* z" K
clc,clear; * S8 n, p. C/ M1 _4 f
syms a b;
! q0 b6 r) V" {( v% [( t0 `c=[a b]'; & k' t& t( n" ]4 H+ _! N
%2012-20175 `) n/ `! I& B4 k2 c
A=[ 135404 136072 136782 137462 138271 139008];
. U, x( G( i4 V8 o! aB=cumsum(A); %原始数据累加 ) n# \8 q4 b Z% I. Q' h
n=length(A);
: l$ S+ e' Z- a2 N6 rfor i=1 n-1) * I3 k a; W* H8 L- A
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 + R1 W, i4 N8 ?: O. f5 c
end $ l$ f' O7 q8 G
%计算待定参数的值
& ?, S# |2 U! K- n4 F4 Z3 _2 SD=A;D(1)=[];
- y. t2 x' Z& I$ [4 K9 lD=D'; , U8 T+ C6 Y; e% E/ Y2 k
E=[-C;ones(1,n-1)]; - p3 }: R, d8 s+ {
c=inv(E*E')*E*D; ) M- m4 |- `$ q g3 E4 X" t) ?. T
c=c';
9 k- b/ f7 h& z. z2 A" Ba=c(1);b=c(2); ; }- s" H8 c% z3 E: c# b7 ~
%预测后续数据 1 c" J5 \2 K6 v0 G% Q9 c# [
F=[];F(1)=A(1); 7 ~. i/ {! P# `+ ?/ G5 m
for i=2 n+5) %只推测后5个数据,可以从此修改 , F8 A' j% x* T$ r$ l
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; / e+ x i4 _4 H$ z, T
end
8 E' h" [3 x8 Z' J. _0 @) sG=[];G(1)=A(1); + W* Z1 F/ O n6 ]/ x
for i=2 n+5) %只推测后5个数据,可以从此修改
$ n3 p/ J! n' V G(i)=F(i)-F(i-1); %得到预测出来的数据 1 P0 {8 B8 F0 B/ C, i7 r2 J1 W
end 2 F/ x1 c0 I; a. j( k: \
t1=2012:2017;
+ Z$ I" U$ {0 c* _) N: At2=2012:2022; %多10组数据 ) M; N/ H9 J" g' ^/ x6 R
G
5 \* V0 M# Y- y" }h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
* }, |1 a. h* ~* ~6 f2 o( W9 Iset(h,'LineWidth',1.5);
+ @+ w( a l6 |/ ]
- b8 F |# ?4 w4 U; G这是Excel里面的人口数据 , q: @- \, x% G; V+ C2 M7 P
! I3 {2 k0 i: ~: C+ N6 {$ G9 L8 }% k
最后得出的结论,感觉还是挺靠谱的。 3 \9 p% @9 } `2 ]5 t
( w3 c' n; p9 L! n1 b- L* b
- B) b9 ^9 m3 tlogistic模型3 G6 ?" M2 F& J# h! g4 [5 a. a
7 G5 } k1 h$ u: c1 m
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 ( l8 h( [# K, l7 v
, H% C; D: k; C6 A
1 }( p2 M# s* l2 r# a4 e' h
clear 7 } v4 [: u2 ]; r: [% s
clc / _3 U% D% q0 D
% 读入人口数据(1971-2000年) 1997 - 2017% {& B. v9 T2 r! h
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
! a) G- B- y2 X' E' x: ?% 读入时间变量数据(t=年份-1970) 8 U& I8 t; n) L2 X
T=1997:2017;/ q9 p6 X7 G/ L& M" h$ l
% 线性化处理
- {6 A( u2 I, v( xfor t = 1:21, ! b( g: I4 ` o+ l4 k5 J; p
x(t)=exp(-t);
: x5 i( ]) r* k n y(t)=1/Y(t); ! y* ^% g- B2 M. n, |
end ) i2 ], D$ x! K, `
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 9 P ^9 r2 I- j( x
c=zeros(21,1)+1;
' F _3 S6 o6 KX=[c,x'];%相当于30个方程组,求解a和b 的值. 5 R# t( r9 E' [8 g$ E- }( g# Q
B=inv(X'*X)*X'*y' . Z. H- v3 Z; c! q# b I% y
for i=1:21,
& K3 g X$ o1 L5 g! x% 计算回归拟合值 ; @; O: ~; ~8 P% ?
z(i)=B(1,1)+B(2,1)*x(i);
( C; ]5 M3 s. \, T. c- _ k8 j% 计算离差 - \0 c) U; n: k, }' O
s(i)=y(i)-sum(y)/21;
- O9 Z' L4 D l% 计算误差
' l: O5 |2 t; C- }* B w(i)=z(i)-y(i);
! c/ h0 b' z1 z9 P8 R6 e+ {end $ l ~0 E7 l& J* x/ C5 O
% 计算离差平方和S ' T9 a; ]2 ~% g
S=s*s'; + B p/ l2 t% {/ B! r
% 回归误差平方和Q
/ @! c# F, c9 D, u4 W/ l" _5 H% EQ=w*w'; & N/ T( T! Z" Z Y* y5 a5 T
% 计算回归平方和U
; b. F+ g7 g( M, ZU=S-Q; 7 T+ `9 P( B7 I$ X
% 计算,并输出F检验值 + E3 ^0 L* W# r: J! n' G8 F( g
F=28*U/Q + K2 T) u; k4 Z. [/ V
% 计算非线性回归模型的拟合值
9 Y* f+ Q4 p/ U& ]# ?for j=1:21, ) z% h! o+ ]1 a9 d
p(j)=1/(B(1,1)+B(2,1)*exp(-j));
* y, W) N( s7 i( Y$ W. Iend # u7 A2 L$ {- \$ X4 e& m3 y
% 输出非线性回归模型的拟合曲线(Logisic曲线) ( l* Q9 f! B- m' ~
plot(T,Y,'r*')9 I7 P9 Y4 i |# a5 W* U. c; i
hold on: }8 k# b5 L: o+ v* ~% ?/ [* C
plot(T,p);
. b9 E- r! M3 V1 j! s1 Z5 f2 {' [2 G& o- k5 M0 V
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 , U5 m& q; {0 S: f
/ y$ ~; k( R5 `9 M1 {& F) i( u* f, @* U+ d- o5 X) X5 t
i" l, v8 o; u8 Z% z1 v6 c% Q0 L
) a# d1 |( v2 e: T$ Y$ g2 |2 O |
zan
|