- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 555553 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 172039
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
9 x+ s+ d3 [7 _5 P, @ Q7 z& x* } G3 n: G) W4 S
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了+ E) ?+ k# G, H. n8 T: J
! N& X: V$ X/ l, V3 n Y; }$ a) W人口问题 X4 n2 r$ W F$ b' u6 t! |, J
% r3 p1 Y9 I6 R( v @
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 4 k3 l& E/ c0 w& N
根据最后完成的《实施全面两孩政策人口变动测算总报告》, 2 s1 k( e. y" \3 i. M
2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 , M1 A" ~& | s' R9 u0 _
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 1 J( V ]+ z/ w2 D2 ^! u6 f! T
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
+ e+ l) H1 I' V. r2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
% |7 Z' `8 _0 V# s8 t6 p人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 1 T. N4 l6 B8 R) u- |
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
4 a1 }2 U# q' |' P/ y( y! o, p
! u/ I5 K2 T+ {+ x9 d0 w- t7 Z建立数学模型分析下列问题:
0 @: i( o3 Z5 r0 e* H
3 z9 M' v& a0 e3 P* z, O( G(1) 在现有政策下预测未来人口的变化趋势。
+ u6 \6 j5 s8 \0 ](2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
8 h6 [) b( [3 F5 L(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
) R; K$ q4 e/ y9 s(4) 依据你的研究给政府相关部门写一份800字左右的报告。9 l3 R# \7 r" n
- H N* V/ V% z: h, X
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。; L! O; j1 A) s) x2 Q, F# z
~- w3 I- k' i* k* B7 i人口预测模型! B% ?7 m; i, M! T/ Z
8 \0 q* H* E2 ~$ e6 `, p9 R
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
6 N: P( p; Z" Y& X
# g* d9 l4 ~( J灰度预测
4 q- n/ s6 C. {+ @; k: \, `$ c' e- B! \! o4 F0 O
先说公式推导 + j: l" P( x% {
mathType的公式好像无法在makedown上面显示,我就截图吧 / j+ y. Q- d* \: d
2 s: ~, Q% e6 D L* ]
! Z& E2 a9 g+ o
* ?4 U% U# ^6 M$ P: T( o
. b4 X9 a+ o* A4 a2 Y7 W上面就是公式的推导,下面是matlab的代码
% e4 @3 C! K1 k/ Y6 ^2 B
. a7 C* z1 ?; ]/ r$ z) b8 gclc,clear;
3 M3 S/ J& |5 Q, E: @, S2 g6 Xsyms a b; # ]8 N2 M" D1 Y! x3 M! r
c=[a b]'; , p# q- H9 j* v9 d; z* L9 r5 A) s6 N5 |
%2012-2017 W! Q9 y: |$ U4 P6 y! `
A=[ 135404 136072 136782 137462 138271 139008];! X$ X1 k# d! `# y# W, e
B=cumsum(A); %原始数据累加 ; B" U- e- {* q& o# J3 K' u
n=length(A);
% {9 X0 T, [) C% Mfor i=1 n-1)
T& L0 a* K C0 @ C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
, m( x/ a( J* C$ L6 ~* cend
# z6 W8 r9 O, W0 q%计算待定参数的值 ( m0 i& Y* U6 g, E" L8 \
D=A;D(1)=[]; : ~. ~8 d& H5 @# ?, U
D=D'; / c5 e, x, [9 g$ r- F, |, ~/ `! H
E=[-C;ones(1,n-1)];
! {1 w% N! D$ o1 p5 U5 [+ Yc=inv(E*E')*E*D; ; C1 {1 b( B; I2 A3 r1 ?
c=c'; % A0 ]1 T1 R) H7 r( u. f* s
a=c(1);b=c(2);
0 u( c# F& o. t%预测后续数据
( j6 M6 _! b5 aF=[];F(1)=A(1);
, |3 w/ c- e) w9 Q1 N$ qfor i=2 n+5) %只推测后5个数据,可以从此修改
, e& [+ t: A: j& {( T5 w' d8 [ F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; , S0 j1 l( E0 u0 }0 t8 B0 H7 @
end # n! p6 v1 d4 Z D$ [9 }; X3 E- H" ?
G=[];G(1)=A(1);
" q3 {9 J# H# Jfor i=2 n+5) %只推测后5个数据,可以从此修改
( K+ h5 C% i0 Z" c G(i)=F(i)-F(i-1); %得到预测出来的数据
u" j& F3 _/ ^* s/ ~end 9 y. b& T5 S5 v7 P1 u
t1=2012:2017;
. \' o$ p$ F# e& o: K3 s% B2 ft2=2012:2022; %多10组数据 : d- \2 i7 O/ g! b2 [; @- g
G
' s3 ~: P9 L( }! ~- [$ Wh=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 ( `9 n8 E" q C5 A# N& z$ s2 S
set(h,'LineWidth',1.5);0 q5 E& V9 o. c& b. J" h6 C
4 W1 K' z6 t% d; F3 f
这是Excel里面的人口数据 * m" R5 O1 T2 l9 n
' V) J* n6 Y* S7 @' O) ]' {- {
最后得出的结论,感觉还是挺靠谱的。
! }; ^6 T9 [8 v! K D
+ ~. V; o5 `, T5 P$ R9 W2 [& G7 o) p) M7 S
logistic模型
! B& }# M3 K W. ?
5 P* {) m% Q. a) q( D+ ^5 B前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 1 X. v4 J2 c. F1 P+ p; y5 k7 {
. E7 T% g6 i1 C1 \* m" i# Q) o' v, g: A! J6 O2 j m
clear
5 F: ?: R7 _/ s6 ?! Fclc
! r9 \8 [$ B% ^% 读入人口数据(1971-2000年) 1997 - 2017! W; g: C0 c0 J; d S8 K
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; / j; u; n$ m( p0 o) ?# ~
% 读入时间变量数据(t=年份-1970) 3 F2 V+ \3 i( G9 a' X
T=1997:2017;1 E' A W3 ]- \" ~+ m- N* i) w
% 线性化处理
0 T, p, X' Y0 O. ~% q2 T3 H" J/ e& j! bfor t = 1:21, 9 S9 g$ ]6 Q+ m; o% Z) ?( p% c
x(t)=exp(-t);
& K5 ^! ~# {. [: L y(t)=1/Y(t); 3 [2 l) c( A; E& Q* Y! X5 z
end : R. c3 N, h% k/ h$ u! t: K: Y
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值
& K' d5 A4 a6 ~$ G# xc=zeros(21,1)+1; 3 N+ T% U3 `7 }: I5 R$ i, m
X=[c,x'];%相当于30个方程组,求解a和b 的值.
5 }1 _3 \8 |) ]' l: P$ I% qB=inv(X'*X)*X'*y'
4 ~4 f. e4 G0 A- I/ m3 f- wfor i=1:21,
# P! Y" }+ e2 Q, v, e1 }% 计算回归拟合值
* E4 J9 E9 ? _ z(i)=B(1,1)+B(2,1)*x(i);
- t3 u% J* c1 c4 G% 计算离差 ) S7 ^& N8 _9 ?. M4 B
s(i)=y(i)-sum(y)/21; / ?, ?" Z( `6 ^& E5 v
% 计算误差 ) [6 @' Q8 L' p2 i
w(i)=z(i)-y(i); $ _1 A8 P1 E3 G+ {2 b) |
end ) {; ^7 T( H; V! g5 O c' G6 Z2 }
% 计算离差平方和S
9 a7 w D% R N. O1 V, d5 cS=s*s'; 4 O7 u; U. c$ o: y
% 回归误差平方和Q " x$ a4 v) `6 G
Q=w*w';
: t' \7 z9 W& Y$ L% 计算回归平方和U
# H$ [1 W% z/ o- Y; @U=S-Q; + \- J: E* E" Y X
% 计算,并输出F检验值 ! \& e; F, a5 J0 k5 ?3 d
F=28*U/Q
9 r' s) i, y+ B$ ]% 计算非线性回归模型的拟合值
) T, k! g3 ?1 G- s sfor j=1:21,
9 ]( g9 O( j1 P6 `0 e p(j)=1/(B(1,1)+B(2,1)*exp(-j)); - f* f" |% c+ [9 I
end 5 {4 n) B9 Y) j# S) ~2 f- d
% 输出非线性回归模型的拟合曲线(Logisic曲线)
. _; V8 c/ d2 M0 Z8 D7 Z1 M; }plot(T,Y,'r*')
5 l# f8 N, @# b* ^0 `- x0 @1 l' Whold on& d4 O6 C2 T' M9 j
plot(T,p);
7 Z6 t! `0 ~8 }" Q6 P2 b. [9 A4 H0 @# K1 Q" R% S
最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
f0 } w" I' t8 U* n2 T1 }$ _& q2 n0 z! A9 ^' B s1 y
! ]5 A' o/ K' x: Y# l/ b2 b/ p! |; @" W; x
, `8 o9 s- Z8 n$ T |
zan
|