- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564698 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174632
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题: {& x- }' @) R3 C
8 u% p2 k% U9 X9 `/ Y
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
E) ~9 h" b% g. N1 }0 @2 ^
+ `- i O' ^; |' i3 A# }/ @% o人口问题
' h0 ~- m. d8 {% t8 S+ }& X- C( r& A5 N+ e) A% V& z
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
" r R7 P8 z4 ?- n2 A" B根据最后完成的《实施全面两孩政策人口变动测算总报告》,
5 e8 ~* ^6 x3 I& W2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 , m" t" o3 A) ~1 q. K
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
6 ]. `) h1 Q1 T( |6 x5 T0 D5 {国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
+ E8 x/ @$ ^5 U7 m+ ~5 J: q2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
( Z" J' j! h B2 L" t人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 & u/ S; m' a4 i& x
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
9 |5 I. u5 k. r# P6 { D/ j, t
6 I4 C: \: c3 e8 b/ E8 R建立数学模型分析下列问题:' A+ h2 k* ~: l$ f0 @- m
" @1 }4 ]7 V$ C) f' g$ U) a
(1) 在现有政策下预测未来人口的变化趋势。
5 i1 z ~ l& Z5 w(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
7 j. F: g9 n3 d' W: ~(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 ( R7 Q; E6 y6 k- e# p
(4) 依据你的研究给政府相关部门写一份800字左右的报告。1 X8 R! R: l& H3 u
' E" X: i) F4 s4 J0 M
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。# Q: T+ F! {5 @$ B
! k, F* T# @" [, T
人口预测模型6 K! T+ @/ W& s
9 D" z) b% U# y( U* p9 G( }1 G
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
0 ~! H# W; Y, p) n/ }+ g; y9 |) C% B1 {% }) {+ L O
灰度预测
- E, [+ S1 n" m! [9 F! t/ {4 S& I8 _0 C' O* B" C5 c
先说公式推导 : n( l2 W9 ]( I
mathType的公式好像无法在makedown上面显示,我就截图吧
7 i+ T( u( i4 C% v0 E6 r) \" t
& w q& a7 g/ l& G. G* a
* I% \: h7 |2 m& g& V6 g& Y. s+ a. [- ~$ t
! o3 E8 ~; J( t+ n/ g上面就是公式的推导,下面是matlab的代码
, o v" @9 ?6 t! [$ E' A7 K
0 ^4 {6 Y7 K$ r- \6 Nclc,clear;
' j" V. z- Y0 s! ]; Osyms a b; / f: D8 n4 e, b3 O* k
c=[a b]';
: d: @) s0 ~3 e4 ?7 U Q%2012-2017
; `7 I! H/ k8 T. b+ r( G& OA=[ 135404 136072 136782 137462 138271 139008];1 i6 Q) g) B0 Q# N6 p% ^- f
B=cumsum(A); %原始数据累加 * h* G+ a7 ^7 `/ K
n=length(A);
, y# J5 K& E: M+ b8 v' X- d( r; afor i=1 n-1)
6 H/ @1 e) M: m+ | C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
6 M% A; s7 F) wend F3 q; W0 Q! e! \) S: z- j9 f
%计算待定参数的值
5 J+ \7 L+ V) T7 XD=A;D(1)=[];
. ?9 b$ E# d, D3 dD=D';
" j1 _( k. ^% B E, {9 ^" mE=[-C;ones(1,n-1)];
, R+ p) r8 ?# `5 Gc=inv(E*E')*E*D; 7 q. E8 ~- z8 Z1 P, k( E
c=c'; ; p* W1 F: Y$ p" m! e* m3 r, ]
a=c(1);b=c(2);
6 a& ]1 t, [' _* b9 ^0 r2 y%预测后续数据
( J0 y1 @$ ?# _" ^F=[];F(1)=A(1);
3 f7 @- ]7 {9 I! P" u. g+ s* vfor i=2 n+5) %只推测后5个数据,可以从此修改
# |6 _3 ?8 @8 n3 K; l" D4 q F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
9 \3 b# t0 E. V3 E2 d! ], M, Fend
$ U. G. K' b! y M) q hG=[];G(1)=A(1); 1 ]( W/ Q! R2 }& ^2 l) C
for i=2 n+5) %只推测后5个数据,可以从此修改
1 G. Y" s& o) A) D4 } G(i)=F(i)-F(i-1); %得到预测出来的数据 ' T4 S* g5 M3 V- R/ [3 h+ _
end 3 \7 U9 S% F9 d# F% M. N/ H: O
t1=2012:2017; 0 B: I7 d U, n& R9 ]
t2=2012:2022; %多10组数据 ; H) x6 o' C7 k5 q- l Q( n
G- t* @8 w$ Y' o% U3 _. ]" y
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
6 ^) T5 e& ]% U! p/ A4 D/ A) D2 Wset(h,'LineWidth',1.5);
9 {9 P- U4 w# U6 D' m% _
& j f& W5 N9 s/ ~$ A这是Excel里面的人口数据
6 ]8 S7 G9 U% [3 ~- `" q$ S, g; i& }
最后得出的结论,感觉还是挺靠谱的。 0 e2 z* S4 c/ H
% y, Y5 K. X; `; h V8 ~
% o, R6 Y3 ]& y% Z2 @logistic模型7 g v% x/ k G4 i- Z
0 a+ X( \1 r1 E6 d5 n* V
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
0 C' M8 h9 v. |! }; E) K
& H; c; h5 V- L9 ~* c5 N2 t" m# ^
clear ' P0 [. j; u& B a! ~
clc
$ q+ h1 R6 y. Y6 H- C% 读入人口数据(1971-2000年) 1997 - 2017! H, y" m6 U7 i8 i$ @
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
% t+ I1 S5 ?. c* Z, U% 读入时间变量数据(t=年份-1970) ! A8 s9 k6 o$ q, g. s% W$ h
T=1997:2017;; y. G1 N8 A, e' \
% 线性化处理
( r& S% k! ^3 W9 f! ufor t = 1:21, ) ?7 h; j' t [# u
x(t)=exp(-t); * B7 T# Z1 b0 H
y(t)=1/Y(t); , L2 U. S( H1 x* t
end ! R& ~! {, T L! D4 h
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 " v- ]& ~8 x: |$ u" Z+ E
c=zeros(21,1)+1;
" S+ r/ ~9 r( |0 z) r4 G" wX=[c,x'];%相当于30个方程组,求解a和b 的值.
1 t; A3 t& \- y0 NB=inv(X'*X)*X'*y' 2 w' I& V. r# G) y+ x
for i=1:21,
; h; n8 c; z% C4 Q& a0 Q4 B8 B% 计算回归拟合值
, N9 ~, T. L6 n: A# c8 I) S z(i)=B(1,1)+B(2,1)*x(i);
, G5 n! B' y, h3 p) X9 h( k% 计算离差
/ ]+ Y$ I& K, ]# ~ s(i)=y(i)-sum(y)/21; 9 w/ T" z% D* K; |
% 计算误差 ' n" q; V4 E* a$ G; R7 u: r
w(i)=z(i)-y(i); / k# f0 e. g a8 W* i1 I3 X. Z
end . J% Y3 q6 g1 M7 }8 n' F
% 计算离差平方和S 1 k0 C' m) v1 A2 M! ?# T
S=s*s';
2 S3 \ H4 v" f8 L& k% 回归误差平方和Q ) {7 [+ ~( y8 @+ e# j
Q=w*w'; / |9 u" F* T. |: c$ B
% 计算回归平方和U
/ l8 K! h- F8 d5 c; R0 uU=S-Q;
: E' B0 N" I# S! c( }6 t0 [+ Q1 s6 L% 计算,并输出F检验值 1 a; w* U/ P; i3 v( l, m$ W
F=28*U/Q
6 Z9 Q( l e1 Z: t; R6 x# `, F% 计算非线性回归模型的拟合值 1 n; W2 j% a8 l$ W) j+ N1 s
for j=1:21, . I0 D' {5 [5 P- k( l
p(j)=1/(B(1,1)+B(2,1)*exp(-j));
* X! I; a2 K4 O. `* X6 kend / p: I8 d2 d& u8 R/ C# h4 P- W
% 输出非线性回归模型的拟合曲线(Logisic曲线) & J0 V t9 }$ H$ g7 J
plot(T,Y,'r*')
" r- z0 M; A0 x% J5 K# Whold on$ a2 ?- ^; Z* Q) c. \
plot(T,p);2 e# @5 ]' e" y% X# s8 b2 F
/ n3 _4 C, o. ~1 `2 ?
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 & a0 _4 @' a( l: S& X& P3 b: n! y. ~
2 m1 y3 R7 X" o# {- p& k, q u0 }0 f) \ x. q# l
2 r8 { [( s7 e1 z( c+ o
) I! Y4 E8 d* ?; l |
zan
|