- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563322 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174219
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题
. c& ~4 E9 N1 K8 a
( W! e" \0 M: j8 z! O; \/ T& P: K学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了
5 h3 O) K4 P8 d3 X l8 q
/ \ M) A( n! Y$ A, f; v7 \: p人口问题
' O) @- p) a+ J" n) _" X ]: G" j
6 `" l8 a* t$ ^+ z* y- C在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。
) d+ g4 a: O. Z$ y根据最后完成的《实施全面两孩政策人口变动测算总报告》,
' [! l+ k4 Z; J" ?: c$ _! W2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 + I; A& k) G; y* @. G! m
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。 % a4 g0 a0 B# K+ c! U8 b* F+ M
国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。
! l# V9 Y9 `5 `. S" Y% q2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
* c: ~: t/ k8 k/ f人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。 5 k) N$ E7 T1 {& c/ l( ^) U$ P
由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。 G+ n% p, J& [7 M# y+ w; h$ l
$ t; X; H* I; V建立数学模型分析下列问题:
' s. O/ V, ]3 q, l* j! k# B- T c H3 n& K
(1) 在现有政策下预测未来人口的变化趋势。 2 g' x7 Z& E/ K
(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。
1 u2 x4 ]- G" m- T' ]- y3 {5 }(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。 ( [& y; p# M9 x& A% z
(4) 依据你的研究给政府相关部门写一份800字左右的报告。
9 W7 t7 [* e- c) w0 M! C
/ ?/ J5 k2 A' e1 m# ]0 d( L* W拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。7 n6 I% o( S- r' v; ~9 [
6 b( Q6 `1 s2 y% z
人口预测模型, r" k# [" s: K! S0 y, r/ O2 s) @
& w6 a* f+ H" o4 d: \0 S4 B先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。: D' M4 p6 S1 ?+ D0 n- m4 G
A5 H8 y6 q+ T/ |灰度预测' e& j$ v; Q) N' `1 n7 r( e
4 S2 y$ \! Y) t7 T% b
先说公式推导 . a8 j$ y% e, n2 _" x
mathType的公式好像无法在makedown上面显示,我就截图吧 ! z/ M% S5 u& r6 d" Y( S) Z
5 k. P- q" T% h5 E% z" K' \* k
! [8 f/ `$ I0 s* ?: a; r6 n
( w* b( g: [7 D# u1 e9 Z8 |9 q0 {4 A% r! @' g* U
上面就是公式的推导,下面是matlab的代码: y) ]; ~7 y% Z: h4 K
) R* J; m9 k# \3 v) T w
clc,clear;
! W, l7 Q- y4 H) f, P- j; ~8 P6 A* Msyms a b; 5 J v. l/ K% S$ x" W0 ]' u
c=[a b]'; , B1 |" q6 m z, X/ T
%2012-2017
9 O9 n" f/ Q% ^0 I# W) B. RA=[ 135404 136072 136782 137462 138271 139008];
' A% s3 J5 `, s& t8 pB=cumsum(A); %原始数据累加 a7 j, Y) C) \" J* y9 C) p
n=length(A); 5 T& j" {5 Q8 Z- H7 ~; {
for i=1 n-1) ( Q; W0 K4 e6 }+ j/ M8 H' @
C(i)=(B(i)+B(i+1))/2; %生成累加矩阵 2 `, t1 I3 D4 W( G
end
0 T" s- }0 z# ^+ M! z%计算待定参数的值
! P. S& x' U: VD=A;D(1)=[]; + a- U: r" ~2 M e- r" [
D=D';
: L& U: r; z; O) RE=[-C;ones(1,n-1)]; 2 {$ Q" b% g8 [
c=inv(E*E')*E*D; 8 F; H. H, L. K; ?
c=c';
; }' L8 p& J* t* [3 F3 }4 Ea=c(1);b=c(2); 8 u$ {: a7 O: n) E
%预测后续数据 * D. _3 k" C+ V+ m
F=[];F(1)=A(1);
- ~ D- _" }" ^# N3 u9 z7 l9 l% ~for i=2 n+5) %只推测后5个数据,可以从此修改
, Y! d" a" A5 h- ` F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
) \8 x6 Y' y! g q7 ]$ J3 uend
5 o" s9 y& S/ f3 g' Y" zG=[];G(1)=A(1); 3 o+ N2 X- u; Y7 W
for i=2 n+5) %只推测后5个数据,可以从此修改
( g- ~) d- Q4 _+ O. P; [ G(i)=F(i)-F(i-1); %得到预测出来的数据 4 X; q" h2 W, x, [# `; b
end
2 H3 x g$ E2 f1 H3 x+ _8 K3 R6 Zt1=2012:2017; 3 E/ k; }2 o3 i! o3 u8 }6 a
t2=2012:2022; %多10组数据
. O0 i' s3 [0 dG
; R+ y5 A& z) d; [* D* ih=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较 " V4 @) ~# |% d/ u8 U' c( Z
set(h,'LineWidth',1.5);
* [% T& c2 `6 v
: c' O% ^7 P) U* ^; ], b6 k9 N这是Excel里面的人口数据
+ S q0 z" x g* F+ c- I# {6 B8 e u+ f) _
最后得出的结论,感觉还是挺靠谱的。 8 f4 p! l7 O* T
; Q( J- F6 k( H, d9 d
3 q6 O$ M! A: o
logistic模型
3 `$ R3 S: h& }' j2 O+ S$ q; q
前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。
* ?- ^: G0 A- s8 s9 M9 \7 f& N" z6 B$ K$ N2 ?. ?* `
: c7 D: [# g; ?# I5 d$ t$ Wclear # u& n- V# p- u/ M+ S# i9 M) ?
clc
* R+ `2 o; w3 I" [5 z$ Y; k% 读入人口数据(1971-2000年) 1997 - 2017
- l! A$ ~# a& r4 a- _+ Y& {2 NY=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008];
9 p% d0 x- ~ l0 \) ]% 读入时间变量数据(t=年份-1970)
" f* r6 C1 v UT=1997:2017;- p N2 W! e; w g" g% m& Y3 M1 B
% 线性化处理 , |, V5 M6 t% S' C% | y. e
for t = 1:21,
+ }/ U I, x+ _: a6 {2 { x(t)=exp(-t); ; N( [/ n* g3 @" {; H4 b# B# p
y(t)=1/Y(t); & C H2 G9 w* r; }! Y) P5 E
end
$ S+ |% D& Y; J1 E8 \% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 6 B( [8 V3 G; f" Z
c=zeros(21,1)+1; ; H5 Y* x, l- b" d
X=[c,x'];%相当于30个方程组,求解a和b 的值. - W. n' d0 S* u4 e6 ~2 L
B=inv(X'*X)*X'*y'
; s8 {$ z8 S1 V7 V$ `for i=1:21,
% p* i* F7 Y, `# n! c B5 v; m% 计算回归拟合值
G! {; I' h" _/ f q z(i)=B(1,1)+B(2,1)*x(i); - p( e v$ K3 a+ P
% 计算离差
0 A2 a! d, i0 L, h6 p s(i)=y(i)-sum(y)/21;
$ C& V K) u6 E2 O$ C% 计算误差
: y C" H/ W' x/ s3 b# ] w(i)=z(i)-y(i);
3 i! @& P# s: S* Jend
7 k* `4 A! K# B& P/ [8 C. N% 计算离差平方和S
* w7 e4 z0 _7 f! D: qS=s*s';
$ N. \) f0 \" n4 j) W# D0 f% 回归误差平方和Q
) L8 N8 g$ R. ] T- B* sQ=w*w'; 0 [. |3 ^& c# [! l3 I
% 计算回归平方和U 3 k8 x& n L4 r h- k; i5 L% ?
U=S-Q;
0 v% V1 c7 Y" ?) N- w% 计算,并输出F检验值
: p: q7 k1 t$ n; |. SF=28*U/Q
9 q: C& ]6 a" E4 [8 S$ k% 计算非线性回归模型的拟合值 $ O a- X( C8 K" |# W
for j=1:21, 5 k# j8 A: ~/ i+ ?
p(j)=1/(B(1,1)+B(2,1)*exp(-j)); " {" e. {0 p& Z5 r: M
end
* ~( C, X$ U/ A- r$ ?4 W7 l% 输出非线性回归模型的拟合曲线(Logisic曲线)
" t" C( D- y3 u9 [0 jplot(T,Y,'r*')
7 W( v: {1 i+ O+ V: Chold on
) V) @, @/ l7 @6 k; a( Eplot(T,p);) X1 v( T6 q, }' r0 h( P5 C
5 U J, b3 m5 v9 d& I* _最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧 - B. T1 r& Z( u) X7 Z: {" U
) G* s0 e7 r$ \( x m2 y0 s& a. M R$ q
4 q5 a9 r& G3 |- j
9 Q, c' D" O \& b* H+ c2 O# N
|
zan
|