- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36352 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13866
- 相册
- 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)模型等更适用。& L! X$ }4 _% k% E) H. i
1 b% e4 e! k8 s% O8 \% jVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。7 W8 G+ d0 J8 U
- R& }& p2 j, [8 P1 Verhulst 模型简介% [0 _: Q6 `( P0 ^ |& o2 N" w. n
Verhulst 模型的基本原理和计算方法简介图下5 d* c" w* C; Q
+ J8 W0 N& A) v: d, ?& k* U- ]![]()
8 q- C/ Y: ?" `) z3 B( z
" S" u ?; n4 ^, v参数列的最小二乘估计
$ o/ v( n n9 `( O$ L$ `+ M4 `7 c( d% T2 X& ~& U
![]()
: o3 Z4 p# }% Q' y0 }' O4 D! U4 C
2 [* [- Z& P! v4 b1 U7 o9 w 定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为: {5 z1 a. L# g) M* a' \
! o% ]; h4 O% H
![]()
% q+ V! m1 ^5 S9 L Q' `$ I$ u9 ~2 G; Q# u9 o4 F. h( l6 ]6 u
灰色 Verhulst 模型的时间响应序列为
, q/ `# U P) G- Z
( @; e2 i* R5 p* j. @ " X6 \6 Q2 X* H6 q& l
5 U/ y. @9 d, } i8 J2 ?) w4 a累减还原式为
: e9 q) t1 s4 W# M& S2 m5 R
8 x4 _4 U+ p$ k+ j, o- D![]()
3 R% ^4 h! _5 p8 O8 R3 }7 _6 s5 Q, K4 W" R" S1 ]' x
2 道路交通事故 Verhulst 预测模型
& w2 _; d- [1 H) |+ Q$ |
9 V6 b, \1 P6 q4 I" W- T , E# l6 B |4 h! L: R9 F2 i
8 l" t. v% s) u' H1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。5 |4 C$ m( y* R2 L
, I& V/ R3 V( h+ p# X $ {8 @. \: z4 ^& [' n
' l, A/ X8 l9 ^0 t![]()
$ Z$ ?2 P5 y, ^& X" u9 y% M. H3 B7 n
![]()
; |# U4 _, x8 N6 e- f' _, T% G& A5 g
* Y1 ?/ _) N4 z" }) V% t" p7 I, [
' h5 s' F1 [ _4 C [) ~" R$ [- A
(7)模型精度检验。( T* O( Z9 M2 G, ~0 [2 ^9 ?9 _
. C: s c. a8 J4 Z一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。" Y3 w! f) Z0 E5 |
+ `$ N1 Q) H7 E7 P+ W: ?① 残差合格模型2 G0 F$ y. ?& k" L
8 O% v( D& _4 s + M. q5 t" {/ ?
1 @4 W+ w) V" Z2 K& z
![]()
t8 h* T& ?* I7 l3 C. x
2 t+ D% x$ T! q; o+ g1 Y- ]. v: i② 关联度合格模型
. r1 a* ~; `# m K
" Q2 F4 W H* J. u! }* d, }! z![]()
, y7 u0 K' ?5 r( q' b( N3 ~: N7 j. _- c5 p+ R
③ 均方差比合格模型& [' s( {6 _$ e, v0 ^- I, A4 f8 f
2 @( C& ]6 ]0 Q& w6 \' O
![]()
) u7 A# P9 B0 ^; t
0 P/ N& S( p) [6 d, p' E④ 小误差概率合格模型
) g; U% v' u7 K7 r) e' p- X9 t/ q' v: y! z: }) U: Q
9 `% q- O: F* D' Z. \ ~3 k( O
5 t3 V4 E! |( b1 o$ Q! m) b
由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。 w4 r, T0 \( }' V, T" k
3 E4 ` p5 ~4 b& x5 E. x9 J
![]()
+ k C; S1 I% w; E) C4 s
2 t- I {- t) B) |9 l9 c由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。5 I" @8 g/ h: }+ b
9 n) B$ P+ J5 x$ t7 V
![]()
`1 W) D$ `# d" t$ Z# D4 ]& g" G4 F' f" H9 t3 o0 G6 N P7 d
1 V% h @8 Z/ D9 U- |) G9 Y3 z
; V0 t' f' W- @' o6 g计算的 MATLAB 程序如下:* L: E6 J/ Z3 I# Q& \
$ H9 z3 r! h& I' k z/ }clc,clear
- W& f2 e* R- e3 `x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.352 e1 d5 I: Y" y) j( Y. {2 ^
9.39 10.59 10.94 10.44];5 c0 ]: a5 u8 O$ F; ]6 c$ R' E5 h
n=length(x1);" T- i' ]5 Z" H
nian=1990:2003;
5 x+ y& n: j- Q/ T# k! e/ Nplot(nian,x1,'o-');
8 ?9 q0 G# @( l9 w" rx0=diff(x1);
" B# |3 F5 ^2 x5 c+ R: ax0=[x1(1),x0]+ n6 p R9 O- n. p
for i=2:n' |" L5 a) ~! e) b) ]* `+ D# [
z1(i)=0.5*(x1(i)+x1(i-1));& y+ G6 X$ O3 \2 ^4 |/ A
end
7 C, V. L' }/ w" b7 V8 a! e# V5 gz1
; o/ A7 x5 p# U- r7 d4 YB=[-z1(2:end)',z1(2:end)'.^2]/ U' L9 K9 ]9 p1 ^6 w! G
Y=x0(2:end)'
* L- B9 c. X& R/ e$ Y7 v) tabhat=B\Y %估计参数 a,b 的值! V4 j! h" W! q, l1 p, X9 @
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程5 E/ v/ O; `" D6 K* w
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值1 w2 j' Y: Q* o( W5 W; A0 \
yuce=subs(x,'t',0:14) %计算预测值
) m1 G0 I! Q2 c" C0 i9 adigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
( b- y% Y0 l/ ]4 Y% pyuce(16)=yuce(15);' J, p0 T+ [6 t. E
x1_all=[x1,9.92,10.71];
; n8 s3 |8 q7 x, Wepsilon=x1_all-yuce %计算残差9 w3 h/ O8 r$ e
delta=abs(epsilon./x1_all) %计算相对误差# F4 j1 T: Z, j9 c
delta_mean=mean(delta) %计算平均相对误差$ K- \8 e; r/ u8 q" k
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像/ `3 O5 R: o9 o1 n
yuce_0=yuce-yuce(1); %数据列的始点零化像( e; H# R" g9 s8 n3 y- Y
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
; I! P# i* h9 p: v+ Ns1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));4 e& s7 j( k n, }/ y' \5 h, [7 Y) r) G
tt=yuce_0-x1_all_0;1 k8 k0 b: B9 p
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
! Z3 [9 c& B6 Sabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
2 h3 l' k& y9 @3 j, V* Z; Sc=std(epsilon,1)/std(x1_all,1) %计算标准差比值8 p* A4 R$ M" w! H8 D! B) _
$ u2 N; i: J( w9 f
3 预测结果比较5 Q+ A' u3 n& ]% s& e
![]()
" e) k8 u$ M# g/ G0 v% g) _* R# D
& B' l) M4 f0 s0 ^ ?! r8 Y( z: @9 }: r
3 `" W5 Y& l( A2 _" q# C# c比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
\6 U: S0 |/ P+ N! ]# S0 q# k4 G2 K& w# P- i
clc,clear* F3 B) O) Q! T/ Y! f, E
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.355 N; O' w' E" L8 P1 s
9.39 10.59 10.94 10.44];
, t8 U" f7 x- I! q" @! O8 @# Qn=length(x1);: ~% `/ [& s6 w- L/ H! A
x0=diff(x1);6 l5 N: n3 _+ o( D9 ^. `4 D4 _5 j
x0=[x1(1),x0]% Q* Q8 \9 r7 h) u5 p! J
for i=2:n
# z" a+ J) |2 G9 c0 A6 ^, s z1(i)=0.5*(x1(i)+x1(i-1));
- q6 Y/ x( F! i2 u; Q3 Oend
" V- F; m! r& m& e" p% `: VB=[-z1(2:end)',ones(n-1,1)];- N7 s- Q! [! w7 k# ~6 A
Y=x0(2:end)';9 ], V( x+ z% ^' C. i) e
abhat=B\Y %估计参数 a,b 的值
L0 j; Z/ H. F8 L- X* W/ Px=dsolve('Dx+a*x=b','x(0)=x0');5 g% h; O& G4 p T* x' U- v
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
) a# o" t7 I& B/ L4 |yuce=subs(x,'t',0:14) %计算预测值
5 r* n% m' N4 ^% o' e8 @digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测 K& ~4 R4 j" b6 n0 Q( j3 O
值之后,或者不使用该语句
2 ~+ X0 i& K- l" [; Y; x/ H: V$ L8 |6 s) cyuce(16)=yuce(15);
, j% l. E) y% C0 ^x1_all=[x1,9.92,10.71];1 S, {+ F2 Q7 U4 B; @2 S
epsilon=x1_all-yuce %计算残差' p: i" \/ [$ E" Q
delta=abs(epsilon./x1_all) %计算相对误差1 v5 _0 s7 p w* D: V% M
delta_mean=mean(delta) %计算平均相对误差
# X7 u& {; r; l, h3 {& M; ]x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
! S0 V, p$ O* Q( D! Eyuce_0=yuce-yuce(1); %数据列的始点零化像
" `' F# |$ {; `: ^% Ds0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
1 X: H2 M# C3 k+ E# u9 a$ Xs1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));7 {, c) d+ v6 J) D, y; J
tt=yuce_0-x1_all_0;; J7 W) R+ C: W# g9 R' g; @" `) i) O
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
. X( E+ x- u, d. pabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
8 j3 i! i, ?9 Ec=std(epsilon,1)/std(x1_all,1) %计算标准差比值! y% T. f7 v4 J- g
8 v( @ \5 X, k+ _: b 4 结语- v! d0 B/ V9 g! t' H. K# L8 I
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。# j8 r2 V7 U3 G9 C2 m) }) Z( \( c7 O
————————————————+ Y- f3 q, f% j3 v' y4 ^
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' E) ?1 a2 t! ~: ?! ~
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
; J! \9 `$ N- S1 W( M( |/ D: _, N q# b, K T) ?, W, @* d0 i2 M
$ R: x Z; N8 ^# V, f) j j
$ M$ U2 E- V5 U! H |
zan
|