- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564663 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174622
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数模竞赛-人口问题- ^ `1 w4 A1 C1 @
0 _5 Y. ~" j# K9 Y$ _
学校最近的数学建模比赛,刚好组内同学也有想参加的,就一起报名了+ g2 b! N t. P- G
8 F( P. g+ r- q* Q; R人口问题+ y8 s0 D$ K* K+ u" j
- [9 p" P/ p; d" m6 }& _2 O
在全面两孩政策正式实施之前,卫计委牵头进行了全面两孩政策影响生育的预测研究。 3 d( Y8 ^5 D0 F% t
根据最后完成的《实施全面两孩政策人口变动测算总报告》,
* E8 ^9 s4 A3 J4 `2016年放开全面两孩,2017到2021年5年间增加两孩出生数将为1719.5万人,平均每年增加340万左右。 : B( q3 o' E8 a4 ?6 n
其中,2017年出生人口总量将达到2109.9万人,2018年达到峰值,为2188.6万人。
, N1 E8 C/ D5 w3 [+ n国家统计局2018年01月18日公布数据显示,去年全国出生人口数量和人口出生率双双下降。 1 T5 J7 L; V+ a; \0 E$ d9 v
2017年全年共出生人口1723万人,比预测数据“少了387万人”,低于2016年的1786万人。
' t" p$ F2 R# }# ^& K0 Z人口出生率也同样出现了明显下降,去年全国人口出生率为12.43‰,2016年这一数据为12.95‰。
5 Q" P _9 K# g* s J7 y, ~! `由于与之前预测相差甚远,这个数据甚至令不少人口学界人士感到意外。
?9 W( ?6 }; B! A4 w) ~ ]. o3 h4 D
建立数学模型分析下列问题: p8 {6 V# O7 ]6 F2 A& ?! k
4 h! u4 }, g8 V k6 X
(1) 在现有政策下预测未来人口的变化趋势。
) e2 E* I# V9 d; H' }8 M7 C2 _(2) 如何才可达到《实施全面两孩政策人口变动测算总报告》的预测效果。 # o: F% Z3 s" p' t% @
(3) 分析人口变化的主要因素,建立人口增长与这些因素间的关系。
- @' D' z+ N9 U* Z8 V- W) i(4) 依据你的研究给政府相关部门写一份800字左右的报告。. ~. l, s: o8 \* V" p
% o [' q* T' }+ y, P, [
拿到手感觉还不算难吧,网上应该有很多这样的分析,但是网上大部分都是时间有点久的,这个是考虑全面开放二胎后得人口变化,主要还是用近年的数据,这样得分会高一些。
6 O( G3 ^% ]& g+ m
$ L9 f$ m& W+ d* Y; x0 X: I人口预测模型
4 u/ T7 w0 z7 E/ F2 ^+ ?; X2 k- x8 w- V
先说我查到的几个模型吧,指数模型,灰度预测模型(这个网上被吐槽得很水),logistic模型,Leslie矩阵,大概就这几个了,然后论文里面用得是灰度预测和logistic模型,Leslie矩阵我很想加进去,因为它用当前人口年龄结构来预测未来的人口,感觉很切合题目。但是没找到合适的,就不了了之了。
. A; k5 g* b& U& z2 {6 v3 ^
( A/ S; S+ z9 W3 n- c灰度预测
( j4 r. M8 {+ n0 A4 @+ ?3 L- v) a3 w' v! |( ~$ T
先说公式推导
9 }9 D" ~' Y) {mathType的公式好像无法在makedown上面显示,我就截图吧
$ W" _5 i {) i$ @/ Y
. J1 G$ K* _; M3 W: p' M; p4 _" I4 L6 v5 S
# j% X+ `% `4 p0 t+ l
1 Z y0 e1 `. G) s
上面就是公式的推导,下面是matlab的代码9 J# A$ J# @; @2 ?
" i1 I. }. j5 x8 ?
clc,clear; 3 v ]1 P7 ?9 x* _/ C; S
syms a b;
; o/ I: i, R0 U1 x2 e$ @c=[a b]'; , W' `) N( B4 X
%2012-2017
# ?0 V0 V, s K8 q/ u( `" mA=[ 135404 136072 136782 137462 138271 139008];' p6 B9 x2 P2 P. {. V- `
B=cumsum(A); %原始数据累加 * S* n: i/ V; Q9 t
n=length(A);
! ]$ i4 x- P8 _% h( wfor i=1 n-1)
- z3 c8 b5 S% Y; U! j0 I C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
+ L4 d8 m2 ]4 W9 aend - ~. W! J1 {* s; y }. p% K) l
%计算待定参数的值 8 X1 T5 B0 b; y& I* B( J
D=A;D(1)=[]; " P6 b, I' c! d; O5 J d
D=D'; u1 D- z5 A2 ^) s; {
E=[-C;ones(1,n-1)];
/ H. h* v0 Y' m" S8 w) Gc=inv(E*E')*E*D;
! D" V& {: `/ {/ \# W0 @( fc=c';
$ b' ]9 }6 B$ E ^7 o' Ma=c(1);b=c(2);
4 V8 X$ J: V8 C%预测后续数据
+ B5 c( i p2 I9 sF=[];F(1)=A(1);
5 L4 @3 E; ^. F1 hfor i=2 n+5) %只推测后5个数据,可以从此修改 % L+ a1 P# @- h6 k( Q4 r' T
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; ( ~! e0 Z) h/ M7 f1 d/ r, Q, P' H
end
4 b8 E( x7 K' D9 ~; ~# \G=[];G(1)=A(1); * M S% |0 Q% }8 B+ o5 p
for i=2 n+5) %只推测后5个数据,可以从此修改
5 [5 i1 v" n: f8 P3 A G(i)=F(i)-F(i-1); %得到预测出来的数据 " u3 O! ]6 p: k1 T k" s
end
/ H H6 O: U) p" S- ~1 tt1=2012:2017; * \2 m& I, r8 `* D% a8 I
t2=2012:2022; %多10组数据
) E2 K& y. Q, G: A* q. CG$ O6 n' {, T* A: U4 v
h=plot(t1,A,'o',t2,G,'-'); %原始数据与预测数据的比较
. C7 p7 K& ?2 }5 rset(h,'LineWidth',1.5);
9 {7 p* m) l8 z* L7 A& x7 D f4 A# G
这是Excel里面的人口数据 5 q. F# t) t8 D' ]; p/ @
" k& R; G' N' U/ H0 h3 C最后得出的结论,感觉还是挺靠谱的。
$ j/ R) E$ E& Y, T, o. i
9 C# K5 J. L9 P# i/ B7 o! M
7 c$ }; t$ w; elogistic模型5 ?( R) P! c. `8 ^/ @ Z
% L: v5 n5 G8 o3 x/ _3 D6 K6 d, L前面说了灰度预测只适合用于样本量少的短期预测,logistic更适合中长期预测。 ! v. @6 R! T5 C& _
' G {+ v3 H& |7 w: w* j8 i# \8 {: g6 P' b
clear
6 E% O$ J# n5 ]7 l4 g2 Y' F& _clc 7 z# @/ X7 C4 @$ z0 G: ?/ H+ O
% 读入人口数据(1971-2000年) 1997 - 20179 f' Y7 H$ G, X2 P, t1 e
Y=[123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072 136782 137462 138271 139008]; 7 W& F$ y* P" n* p7 T
% 读入时间变量数据(t=年份-1970) ! `0 I0 L. ~; ~% {. L
T=1997:2017;5 F7 q# q3 d' `* t5 c$ r" D3 @
% 线性化处理
4 U) ~7 h. {# W0 G- j8 j; ]for t = 1:21, 0 ?6 r! K {6 D0 y' }8 R8 C
x(t)=exp(-t);
& g5 c' E$ V$ M1 M0 ~ y(t)=1/Y(t);
" h- ]$ a1 i& p% G& x! {6 u$ t% Jend & w# P/ h, N. N
% 计算,并输出回归系数B,即计算回归方程 y'=a+bx' 中的a和b的值 8 a6 P, W7 q& j% L& J
c=zeros(21,1)+1; # j" `7 \4 D. o& ]' ?
X=[c,x'];%相当于30个方程组,求解a和b 的值.
: I) H6 j) g0 E* lB=inv(X'*X)*X'*y' 1 H& s. F8 B, a* k2 j, f- \, r! r% P
for i=1:21, 4 m7 v. f _, H; Q
% 计算回归拟合值
* J6 J1 _5 u3 y7 b2 ^ z(i)=B(1,1)+B(2,1)*x(i); . r2 u c' S* z; U/ J
% 计算离差 8 R: K, n3 ?( W1 p1 [: b
s(i)=y(i)-sum(y)/21;
. f" p9 Q& ~- {- Q7 g- e! |% 计算误差
! n8 Z$ a9 b# p( t! E8 f w(i)=z(i)-y(i);
+ f. x/ n5 b' l4 b. ]# C8 send n2 x, G/ d3 z
% 计算离差平方和S 0 P* l8 u1 h6 n; ~, t
S=s*s'; ( r2 z0 Z2 P5 L% a7 _3 C8 l+ }
% 回归误差平方和Q ' w; B7 h+ f* S
Q=w*w'; 5 }* g" |% ^) B3 e
% 计算回归平方和U
) T$ k9 G5 U0 I- W" {U=S-Q;
( s7 e) k' k* Y( E8 a2 ?* E% 计算,并输出F检验值
0 z+ s0 b1 f0 ^( r! iF=28*U/Q ; S: U5 M, `7 b3 F
% 计算非线性回归模型的拟合值 . x4 R, b4 P2 O( Y: E* x% K
for j=1:21,
8 q% j. `; Z4 A, F p(j)=1/(B(1,1)+B(2,1)*exp(-j)); 2 L4 h" T) c2 i2 _$ g
end : b: A2 H/ N0 r- I4 z
% 输出非线性回归模型的拟合曲线(Logisic曲线) 4 Y$ d4 t: _2 ?5 u9 Y
plot(T,Y,'r*')- L% J: j2 _7 r2 R
hold on8 h4 T: ~- {" b; }# ]# a
plot(T,p);
; d8 t. C7 M; [; q7 D7 p* J3 u- r
+ k/ r( A% D3 o& n最后拟合出来的效果,无敌爆炸烂好吧,我也不知道为什么,等自己以后会了再来改吧
5 w6 Q/ O+ r. o2 t- P* q. q
8 C" ?. d; C. u; `& g5 q* i
& b8 F/ \* L% M' v; W9 Y4 [
) g; s9 B! y- M; M6 F5 \7 `
$ B a# W O- r. y |
zan
|