- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565638 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174914
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题7 h9 F2 b* B' N4 N# c$ j$ k
8 J) J; B, @# \4 P2 Q$ B& O3 {学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
+ H k! G9 a1 C/ v
) C: U9 | F! O: |2 P人口问题" e8 x. j' E6 K$ P5 R: f
~. B6 t4 d6 f7 e) v4 B9 {) o
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
- j) U, x- U5 J& Y根据最后完成的《实施全面两孩政策人口变动测算总报告》, ! F, s' Q! D1 U
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。
* }- x/ O9 b3 O: H4 P1 h其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
% Y! Z1 x2 w1 @, B$ L8 B国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 3 l4 [+ D j" f
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。 ( X0 I3 }5 w; g0 z$ ^
人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 , _6 {* {/ W# w
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
7 _0 D% o6 l) r5 Z, n! g
+ H! R o H- O2 a建立数学模型分析下列问题:
7 e; Q" E# T/ F- k2 ?4 v
* d( e$ I/ R+ e2 V) B' o- ^(1) 在现有政策下预测未来人口的变化趋势。 ; v' i h$ G% a5 |8 R6 v$ G+ q3 [
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 % J" w5 ]( o( E/ c$ u9 e
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 & {: h% t: R1 z, a
(4) 依据你的研究给政府相关部门写一份800字左右的报告。5 E s+ A+ c+ _; x3 F$ x6 @
2 j: Y7 ~4 I7 z9 _1 O
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
" I/ g! r. Z. e
* S0 \ M/ f7 z' Y! u$ W. \4 ^# L人口预测模型
3 D- f6 B( K/ ^0 G) X0 j ^! N, ]- _- f( i3 I
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
5 j" P0 I- I4 e1 [- r1 G( ^2 X, \( D5 j! ?2 |# B
灰度预测' @$ b' K! B2 |+ K$ ~8 M
. o" x8 x% M2 M7 q& W! [
先说公式推导 - h4 m/ X9 T, u) B4 \ W+ F1 e( ?- Z8 z
mathType的公式好像无法在makedown上面显示,我就截图吧 / e* {/ P4 e2 r) i4 Y5 O+ ?0 u
- U# @% g3 v. g4 `0 C' ?, g
8 R, A, I# `3 k8 n
1 U# y! Z& {8 v
, X+ u. K3 H* z6 R2 V上面就是公式的推导,下面是matlab的代码
6 |3 K" E6 h( m6 ^! V* p; W4 z& D/ g# \7 Q& q6 r8 w% i7 T, J# l! ?0 ?
clc,clear;
# [5 {: D6 G7 G F q {1 R( Xsyms a b; 0 t7 |* V( H) |
c=[a b]'; 5 Q9 {' |- z% t2 e U7 s
%2012-2017( V V7 v8 N& N
A=[ 135404 136072 136782 137462 138271 139008];
$ i" B" z% s* @, {B=cumsum(A); %原始数据累加
, e) c. ^7 m. S3 D% `) Sn=length(A);
2 h- @3 r% W# ], ofor i=1 n-1) * R: Z' T* b, ~: @' ^: M
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 0 X4 v( _. k, [7 l- p
end
# z: i: H4 A4 }& N9 J; v%计算待定参数的值
" ?2 b0 v- u. e4 S+ UD=A;D(1)=[]; ) d( l% z6 h* N
D=D';
& r9 e u0 q4 ]: ^! D8 X8 n9 Q+ b8 nE=[-C;ones(1,n-1)];
* \, s' D P7 ], A# a- E* {c=inv(E*E')*E*D; 6 L8 v6 r! F# p/ d
c=c';
7 t' [. d+ Z' O6 w9 v5 _, ^; La=c(1);b=c(2);
9 P- r$ {4 f4 C* n%预测后续数据
" j0 Z" N4 P9 ^* \& y! XF=[];F(1)=A(1); 1 u/ V* ^0 {* L+ Q, G
for i=2 n+5) %只推测后5个数据,可以从此修改
" l% M9 y$ ^7 f- m F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
" _. C# a3 b% l$ w% c+ Zend
+ Z( q2 K" C7 N8 v( V* W6 QG=[];G(1)=A(1);
# V5 j+ @4 `# Ffor i=2 n+5) %只推测后5个数据,可以从此修改 : d7 `+ h' p: K- H) |
G(i)=F(i)-F(i-1); %得到预测出来的数据
- B/ I/ }& f5 n1 Fend
. ^$ a3 h+ k+ m, xt1=2012:2017;
' g/ ?- @4 I; _t2=2012:2022; %多10组数据
9 _( ^! V- h# |G" B. O) r7 ]- q) Y
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
; F* r. Z W3 n* l9 A, {set(h,'LineWidth',1.5);1 T$ O/ g/ M: c/ h+ l9 _
. U( u' ^' A( ~; h$ ?+ T
这是Excel里面的人口数据
" a5 F1 w5 e) `" R2 p
4 ]& h) w! h1 @- G2 o, C: X# @最后得出的结论,感觉还是挺靠谱的。 $ _/ j; H" w: d
9 L1 U8 e, U! k r9 g9 k) W7 k. N9 X/ m/ Y7 A
logistic模型$ j" n) s& U0 w* y' ]( ]) Z
+ s- P9 R# R) k O4 z
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
. {: x6 M" `* A( Q" Q# o. ~; S) L' ]2 h7 f) C( O7 v
1 n9 b* |1 c5 g4 B2 r; P: H+ {' U
clear 3 f1 t1 e, j* m4 B+ L, R
clc
+ l I( s" V. W% 读入人口数据(1971-2000年) 1997 - 2017( Q) c5 j2 y0 `( N! n/ l
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; S: u* v5 g c3 V
% 读入时间变量数据(t=年份-1970) 9 ^9 t2 u- R0 X2 [8 e: {5 b7 s6 V
T=1997:2017;
. m0 g, u6 v5 W* q, T4 }% 线性化处理
$ e; F3 f+ K( r$ D) z9 }1 K; h( {( rfor t = 1:21,
6 w J+ Q' T( b$ F x(t)=exp(-t);
) Q/ y; t* G5 r5 U! j B y(t)=1/Y(t); + S' A% @9 i& D% e& G5 ?4 C" z8 V
end + f+ E1 y* o% b" N5 a9 e
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 * `. u' ^3 d0 }/ k8 N
c=zeros(21,1)+1; ; f5 b/ @! y/ c2 O5 b
X=[c,x'];%相当于30个方程组,求解a和b 的值.
K3 I c* m; k! WB=inv(X'*X)*X'*y' * @4 Y. b, `0 Y" k2 Y9 g
for i=1:21,
6 W% s7 O, V4 h0 G% 计算回归拟合值
7 p/ y/ ~5 l2 l; [ z(i)=B(1,1)+B(2,1)*x(i); + f5 F! J: C( b, F
% 计算离差
" t0 B/ _, B @/ q! X: o8 s: M1 [ s(i)=y(i)-sum(y)/21;
9 Q4 }7 |3 k: `1 N4 f6 ]% 计算误差
. C& d; p# z- C3 F w(i)=z(i)-y(i);
% s( r, w8 M# l$ g& R4 t3 ]' O# Yend
4 R# _$ i' r% o$ _% 计算离差平方和S . L* X3 a/ u8 g0 B/ ~# ^
S=s*s'; }9 M3 M' y- W! u* k
% 回归误差平方和Q 5 F" N$ J8 S( d& @: O! \
Q=w*w'; ' A# b- e* ^+ Z8 @: I E9 U
% 计算回归平方和U ; f) x. I/ \0 l( u; F0 f8 z
U=S-Q; 1 J$ ]- {. s& s! t6 X/ H
% 计算,并输出F检验值 ( s+ s; k/ m* L( z
F=28*U/Q
6 P0 i* ~! L( L, K z6 f0 U1 u% 计算非线性回归模型的拟合值 * D% @/ \& S0 _
for j=1:21, : N5 u% R5 B; t7 g4 Q5 |
p(j)=1/(B(1,1)+B(2,1)*exp(-j)); ( L( E& s$ @. N8 a
end 2 h, ^* s. m+ J' F3 b g; d0 o
% 输出非线性回归模型的拟合曲线(Logisic曲线)
' E& `2 {7 F+ z' A2 Gplot(T,Y,'r*')1 l5 P" r8 c! {! v8 Q! M- d
hold on
( X+ C7 I+ T ?7 M& Nplot(T,p);$ \' b+ y G8 j( @/ _/ @
3 y- B" f. ^, ~: k3 P
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
+ @: i* f5 F$ q2 P G7 w; V/ {+ ^' k- L& y1 ?9 `4 ?! z+ Z
/ t. r0 g3 H; K* |
. g1 e+ O2 m- F& q
. e5 u( @/ L Y2 g" P, C |
zan
|