- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36311 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13854
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 616
- 主题
- 542
- 精华
- 12
- 分享
- 0
- 好友
- 225
TA的每日心情 | 开心 2020-11-14 17:15 |
|---|
签到天数: 74 天 [LV.6]常住居民II
 群组: 2019美赛冲刺课程 群组: 站长地区赛培训 群组: 2019考研数学 桃子老师 群组: 2018教师培训(呼伦贝 群组: 2019考研数学 站长系列 |
灰色预测是通过原始数据的处理和灰色模型的建立,发现和掌握系统发展规律,对 系统的未来状态作出科学的定量预测。目前应用较多的灰色预测模型是 GM(1,1)模型、 灰色马尔可夫预测模型等,可用于预测交通事故发生次数、死亡人数、受伤人数和财产 损失等指标。GM(1,1)模型适用于具有较强指数规律的序列,只能描述单调的变化过程。但是道路交通系统是一个动态的时变系统,道路交通事故作为道路系统的行为特征量, 具有一定的随机波动性,它的发展呈现某种变化趋势的非平稳随机过程,因此可建立交 通事故灰色马尔可夫预测模型,以提高预测精度。但灰色马尔可夫预测模型的应用难点 是如何进行状态划分,故对于非单调的摆动发展序列或具有饱和状态的 S 形序列, Verhulst 模型,GM(2,1)模型等更适用。% Z3 _4 |0 L0 |/ s; @
& W6 C; s/ N: p& WVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
7 Q! z) z* \9 Q0 A r. _" Z3 ]6 h: x5 f, N0 N7 D1 U3 B) P% A9 p
1 Verhulst 模型简介. `1 f& m# [2 x
Verhulst 模型的基本原理和计算方法简介图下# H1 n7 t$ O# H. h- \; b
: Z( D- v8 t1 u$ }& O# ~) z ' V& F1 ^% ]6 X. ?, K
# t' ^# f/ H- E e$ E3 f {* F参数列的最小二乘估计
! I" ]" g+ r' |* E
8 M9 U5 |5 i; z% ?' A, F" ~6 { # D. l: ]9 o: g( d" e' j }
1 `/ V- W0 y! H$ E& z
! C/ B3 n2 b3 k" w& D4 X 定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
! N9 }" ^7 y% x- w. g5 K
5 M! p9 ?; ^" ^1 _8 E" d![]()
' d4 o& M; p9 ]' C9 r5 A) ~( ~: x
. k6 S! V Z+ a! H, V1 Q5 S灰色 Verhulst 模型的时间响应序列为& E- ]+ |8 n( U0 m) z: M' h
/ |& P1 p' {$ N. h/ e1 ?4 C
![]()
9 K9 H) x8 }# v/ S5 L4 a, W1 d6 g# B' F6 {) N
累减还原式为
G! \' P2 U! S: L( B1 J
; y( T7 o1 W8 a3 j2 j, d: q3 Z % n7 m( P* K1 e) A; w; _2 k. `
8 w1 G# Q" V8 ?
2 道路交通事故 Verhulst 预测模型
, v0 n% [ |# ]+ S' H9 V1 K# o1 i! Y3 V% G# d
![]()
# f; y: g$ h3 S# K5 z1 O7 \$ ] @" i# W: [. R8 a/ E- R0 z2 g* ?
1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
( @3 e9 w( H& R6 q$ i, N( M; }# y! a- g# W" x& i( [
![]()
# ]( a C/ m2 D+ @
( U4 p n/ o: `& x6 {! A + {- ?3 r7 ]7 w- w) o+ r
3 }4 ]8 V) p7 l2 { I7 T3 L![]()
! b. _8 ~, R2 {" ?$ i3 }1 V& V% O) q7 q! |& o$ e
, f5 z' ?; _& `! F& K. t+ i
# G9 W- v7 P& z' P3 b
(7)模型精度检验。
8 i7 h) Y8 J5 Z" W; e% B+ y' ]( a% x, `$ B, d- ?8 {
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。. b+ O$ {, k# m* i1 M7 T4 R0 L
! }; d' q. k0 \$ k
① 残差合格模型
" O* f3 q0 W G4 o+ h) }' E& V# p ^# C7 J3 Z0 F3 c+ o
![]()
' v% T W, T' P) D* f. h. O6 ?2 @7 b, e, v7 b
![]()
) o( ^5 J; l0 i3 E# H
4 @- ~, ?# \9 y3 {② 关联度合格模型
+ X9 F/ N8 Q5 H6 {4 ^" `9 O7 l! h9 ~8 q- S8 m
![]()
" N2 W: S( n2 ^. ?3 a6 {" R* H2 u8 d$ Y5 l6 n! I% g$ k
③ 均方差比合格模型: \7 j2 S1 X, l2 J% F
* p4 l b% p& c. }6 G% x. g
0 c4 L+ X7 o! K/ f: n! Z! C0 \
+ }6 V- \& E( J: [* v
④ 小误差概率合格模型
, Z& C. t" h: U: O5 t& \ r
/ J+ l+ i1 D3 e! a5 e2 k# ?/ e6 U0 Y& @![]()
; N& U# s! y2 r6 p4 m. b. l
: a7 ~; r& k X5 ^$ H+ ?由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
. @. @) M2 O' U! K! O0 n+ [1 o. [$ K6 h4 g
9 | v+ m2 o: Y5 b' _$ v+ U. ]# `( S
0 l# Y8 Y3 X6 \! s% _
由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。( [' W+ B+ k. m$ @ Z8 Q
% s2 J' p- |, W7 \' l/ U& m( `7 z
![]()
2 K' m( @+ o* t+ @+ s y( Z$ `$ ~8 _
+ E$ Q4 k5 n) {) d c0 _ : W6 I+ f. r1 |5 L, s* e: ^
: o) x4 V) m9 K. O% D9 w计算的 MATLAB 程序如下:* K7 P/ z* L7 t$ R% ]0 A3 Y
4 K, A2 L$ L4 K4 q- Q' G
clc,clear; K+ M0 F* ?- l/ ^
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35+ B$ m. I- W) u0 T9 U. v* z( C5 A
9.39 10.59 10.94 10.44];2 k1 ]/ |- q, q: {. a
n=length(x1);
/ W+ I$ W$ L c. {. L9 hnian=1990:2003;
3 x+ z7 w3 M% M1 t5 A3 Nplot(nian,x1,'o-');/ r5 L3 f- g( }, y L9 |& O1 w5 L
x0=diff(x1);
% [; A3 P: J- S: x+ kx0=[x1(1),x0]
5 R. f) a7 b% Ufor i=2:n
* K& u0 o# g. b5 a: Q7 u$ L& g z1(i)=0.5*(x1(i)+x1(i-1));+ g" T8 X, W2 O2 _9 P5 H
end
. L+ n H$ d0 B% Kz1
- @$ j9 H+ G y8 T3 t) s. kB=[-z1(2:end)',z1(2:end)'.^2]
* v- e) g; q2 ?- t2 `" qY=x0(2:end)'
8 u4 N+ ]& F9 R9 { Aabhat=B\Y %估计参数 a,b 的值
2 G! d" r! k; E$ B! vx=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程% ] D/ L9 X2 b: U. ^
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
( ^" n8 ]$ D+ A& E. B! eyuce=subs(x,'t',0:14) %计算预测值
1 Z. J, `) `% @, idigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
9 J. C& | _( F/ ~% O/ S' d1 U2 dyuce(16)=yuce(15);
* p$ V- v5 I( z' k* fx1_all=[x1,9.92,10.71];- t5 c; t6 O$ F
epsilon=x1_all-yuce %计算残差: c2 l2 M- q7 H' B: K3 V
delta=abs(epsilon./x1_all) %计算相对误差
9 z* g# T) q( m( X4 L4 q& Vdelta_mean=mean(delta) %计算平均相对误差; v& D& h% O% s+ w/ K5 g% T
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像- i% ]8 G" I5 }7 L$ B( E
yuce_0=yuce-yuce(1); %数据列的始点零化像) p$ b8 j4 ~0 {8 l, k, e2 q0 ~
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));" ~3 r$ X6 F7 c4 K2 a# |5 o
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
. W) _+ i+ Q( u+ ^tt=yuce_0-x1_all_0;
# d. z" q' ?" S* G* G. Ws1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
9 g) [+ d) |( n* m' _% eabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度* H# Z% s! g E/ C4 b9 G! r) m
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值; L/ Z2 H, x; O) m7 a) Y" t! O
. G, g- S0 k' ]
3 预测结果比较
1 P2 \( q' c# V![]()
8 `1 J% _4 @3 b4 H! K4 S ?
5 m4 A0 S7 Z1 f * |0 W! ?; c- n. d# P! P2 y
/ j! Q) p% o( a4 \; `' C比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:; t0 L6 R# g$ V, g0 G
8 f% C1 e* t7 \9 x4 L5 I( Xclc,clear
3 X* R! e9 W, S0 i0 X/ ^x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35. K; a( {: z" q% U( H. ?2 u. Z
9.39 10.59 10.94 10.44];
7 S' C+ x2 G! ^6 Q- a( jn=length(x1);
/ V! b3 @5 q& V: y5 Q: Mx0=diff(x1);. }* L- O: f' `5 O, m" K
x0=[x1(1),x0], R! z! j2 A9 L9 i
for i=2:n
. N l' g1 J1 Z- W z1(i)=0.5*(x1(i)+x1(i-1));6 }4 G; q; o/ ]! j
end
- C& \- s% l4 E. G, S' }B=[-z1(2:end)',ones(n-1,1)];7 o8 e6 N' q* E& T6 k0 B
Y=x0(2:end)';6 i s: `, I7 l
abhat=B\Y %估计参数 a,b 的值
2 d* @, Y4 ?" e4 M% J( K7 ?; Fx=dsolve('Dx+a*x=b','x(0)=x0');" `. v' z' w/ V T4 q& f
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});+ l+ }: G0 W- N2 l
yuce=subs(x,'t',0:14) %计算预测值% b3 d7 B" l+ b0 \1 s% F% C* q
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测$ n3 G( B9 v; V
值之后,或者不使用该语句
) J: ]4 T. R/ j- O' c2 cyuce(16)=yuce(15);
6 C, S# a4 e* H; E3 l' m$ }& _x1_all=[x1,9.92,10.71];) g: G3 c+ Z8 r& z) I7 a
epsilon=x1_all-yuce %计算残差; a1 j' E( [+ {- g' F
delta=abs(epsilon./x1_all) %计算相对误差
6 j# h0 ~ i1 ` x& Y. ~: Fdelta_mean=mean(delta) %计算平均相对误差
p+ \; m5 K% V0 p7 \/ yx1_all_0=x1_all-x1_all(1); %数据列的始点零化像1 i' B7 \" b, E4 p
yuce_0=yuce-yuce(1); %数据列的始点零化像
7 x: c2 V9 |6 I- _s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));% F: x0 D6 h: Y* p7 |+ a
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
7 e4 i9 p* M$ k4 utt=yuce_0-x1_all_0;
- S5 h- N; a" }9 Ys1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
0 [ S* t( j/ z1 ?9 D, n pabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度9 w; Y4 ]0 C" I. k& _' n# C
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
) y& e3 u) l7 ^
: r0 ?' Y1 d- e$ D9 _ 4 结语) {' s0 c& S' I4 w
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。$ ^ `# i* e5 a# i! U* w1 y
————————————————$ t) x; b0 r0 p, K, [ D2 @/ O
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
p$ J" G: ?0 `3 q/ D# P( e原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039$ M w. W$ K3 R/ v) {
# }/ W) d9 O- O9 p$ O- b7 W* J, z
6 T5 Z9 u* F+ f1 ~& u! p- D6 \
/ Q) a$ w) Q7 z4 j3 e$ h |
zan
|