- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36305 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13852
- 相册
- 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)模型等更适用。0 ]9 ]+ m5 T7 E* j. j! j
# r+ \) G' v! c+ ^- I) z' Z
Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。( W. t& x1 I4 o% o
1 {: E6 o5 Z/ F2 m1 Verhulst 模型简介
! ]" s2 V& E$ o& W1 C3 i ^Verhulst 模型的基本原理和计算方法简介图下8 y) {/ D/ E5 k: d+ T
* z* h+ t# c+ ^5 b% `& D
![]()
1 g1 Y. `) \4 \' k) ]6 P! O. T5 b& x! o- g. j5 f
参数列的最小二乘估计) ^6 N" @0 L: g/ u
4 g0 J! v. m$ V, F9 V( l4 u7 o; X![]()
$ u' y2 |# H, z& \0 \& @- u) K3 B# S& |2 L/ F
2 e( C. y: K2 G0 l1 k 定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为' S; L f8 F4 F& Y; Y
1 j( L5 s- U3 R$ L& I
![]()
! _3 f9 k9 {1 d; I+ \4 n
& L; p6 e5 I& g, [( h灰色 Verhulst 模型的时间响应序列为+ D# D6 U5 M6 N+ {! r9 ^
0 _) V9 @3 N: d% J$ K6 w ( L- s7 e: U5 D; ^$ H: y
9 O, D% y" P+ a, N h$ j4 q1 d- N累减还原式为
# Y3 j* Z. s! G+ g* ?+ m R0 k3 P _7 f5 M- [ d) |2 O% ]2 d$ `% ?
& s1 V6 h! k) V& G9 k) T
+ [# }; d+ I4 Y0 a/ K5 z4 v* [4 u) }
2 道路交通事故 Verhulst 预测模型
7 `1 ^& j! x W) A
$ p& I( u( e4 s" d! @![]()
6 j b) B7 b5 V4 g4 i! h6 L
5 n2 n. x% d& K$ Y" ?; i" y1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。0 K, Y+ L' R/ Q7 ~ ]
* W m7 t* `5 [$ N3 W! D![]()
4 k$ p0 P1 o8 A5 u4 I$ L0 o+ d$ T- U+ l
![]()
) @2 r" c2 W: Y7 V* j9 h) b( t0 a; ?; x" m5 V
![]()
8 F6 O/ p; C A5 J R9 w7 S) b" N
- ^) x: C5 ~" y: X' Z/ U' G$ e
1 F D1 \8 }. y. ]2 k; z3 J g) V. ~, u% R# r
(7)模型精度检验。
+ z$ K! D7 z& c: e7 P* V4 I
) k) Y6 S7 E+ q( u; i一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。. L/ g/ j4 x# I2 X
5 p4 ]$ J+ _- X3 ]5 r
① 残差合格模型0 _. ^( a# O) Z, Z/ _
6 r/ _( @* ^. F* G& }6 a; O' O , s. E# t e) p) C, T9 M3 M
! {+ W% ?4 q: `3 k8 y, S4 A" i![]()
: r4 |) c% x1 v( N0 T3 H6 l6 y
6 g0 | T B( b7 s. i4 ?3 J3 N② 关联度合格模型
1 A2 E }, g- S8 C! Q
9 Y. i2 Y/ L0 p7 }! o4 e+ {![]()
5 @, v& B7 `9 ` X6 Q5 r
! }. u& e3 Q% {/ r/ s ③ 均方差比合格模型
" i' M. @0 {/ J6 L7 M& w0 s2 T# ~- A5 ]
7 Q1 n4 w( \2 h/ ^9 X. ~5 m& \4 m
+ w7 W* @9 d( p3 f9 H* @' F
④ 小误差概率合格模型
4 _* K( L! v% o
( z5 f1 ~8 g, m! p+ e7 i- L![]()
& i1 }9 b& ]' C
7 Z; J0 K3 s5 ?1 y由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。5 u3 @; {/ Z) }
# {9 U! D/ L: z. H* k
![]()
8 Q9 ]2 K/ H) k9 V0 A- v) V5 s8 s- _. _
由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。6 r1 R/ Z6 K' Q" S0 U& s6 l3 B+ Q0 e
% F/ J( r* m& c: h9 D- ^& Z
![]()
& i. u' I7 m: K; U. t, y& r# z8 s- A4 B
![]()
- W" ~, m4 k$ u1 H
" Y% a; s' R- v计算的 MATLAB 程序如下:7 M0 O2 j& p( T# g7 ~9 }
5 V, T' n( f2 X7 j6 {
clc,clear- K8 p7 I5 N2 ]( s7 U, D$ {( j
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35% h* e5 h1 [3 ~8 i2 r) D
9.39 10.59 10.94 10.44];% {( g7 {9 q u8 W# N4 Z# O$ n
n=length(x1);
6 t7 p9 x5 f b8 z! Rnian=1990:2003;
+ H6 d. v7 ~2 w" F( yplot(nian,x1,'o-');
B; O% y9 Q. D4 p5 K" T8 @* px0=diff(x1);
2 ?& T- Y( O8 ]1 l, F" E1 k: tx0=[x1(1),x0]
; ]8 y2 |) j- M, gfor i=2:n
- \* J! F4 F: }2 `9 Q6 \/ } z1(i)=0.5*(x1(i)+x1(i-1));) e$ n7 p! A3 x/ i1 x/ D
end4 \$ Z0 M' k9 l% ^5 M2 d
z1
. v3 ~8 [) y1 K/ gB=[-z1(2:end)',z1(2:end)'.^2]
- i l. }" D, j8 b$ rY=x0(2:end)'5 {; s, ?8 m8 H( f# `2 D. L
abhat=B\Y %估计参数 a,b 的值
$ P# E4 ]5 } u5 Bx=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程7 K9 k/ ]# y3 }& s9 ]
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
7 C9 D8 }- H7 d- Xyuce=subs(x,'t',0:14) %计算预测值* J( N" {+ C1 S0 u: Q
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
; U. T; {# I8 [% oyuce(16)=yuce(15);1 c$ u& V0 m0 l% ]& O9 x9 Y
x1_all=[x1,9.92,10.71];9 j* v; A. r, |) C3 z: O
epsilon=x1_all-yuce %计算残差9 ^) y+ q J, p- g/ f! q: j7 x( k
delta=abs(epsilon./x1_all) %计算相对误差, u5 d* R ^- P9 V' i! u# t. p
delta_mean=mean(delta) %计算平均相对误差
" t- A/ `2 @$ C* @6 e1 I" U c- lx1_all_0=x1_all-x1_all(1); %数据列的始点零化像! c9 S: \* n3 |* p0 B3 A5 O# Z" Q
yuce_0=yuce-yuce(1); %数据列的始点零化像
; S: L0 h: l. {! Hs0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));0 m3 C6 p- R. [( Z. P
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
$ p2 K& Z, i6 E: }) y& qtt=yuce_0-x1_all_0;
: `3 p t# q' n, h2 Js1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));; o0 t6 _( \. t# ?
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
1 U1 S" O+ D8 Q' p& \0 Uc=std(epsilon,1)/std(x1_all,1) %计算标准差比值9 U( f8 H: D. f; `; p
% o$ S, Y+ R$ n& X. [* E
3 预测结果比较
2 n! v. L! ]# _9 h8 L4 Z% b, o![]()
5 ~% }% J, c1 U! }4 s0 N; d _
1 S8 I& `, ~( t/ o9 Y4 R- m( ^
& `( |. l K3 \2 o比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
7 \1 c/ E) [# Y- l' Z) f. Y1 [8 o2 D _7 F
clc,clear2 |/ X- u& [! U5 c) R$ i2 c0 O
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.358 l4 u" y* ~2 y. D8 |/ o' e- t
9.39 10.59 10.94 10.44]; 6 n' e9 E! D7 |; i. l8 i1 ~! _
n=length(x1);- T1 F' q. F1 e- P0 w3 r2 [
x0=diff(x1);' `' i% C6 N" m2 _
x0=[x1(1),x0]
! U3 k5 [$ d4 R2 {3 w7 S+ mfor i=2:n
! T! d5 ^3 _( X z1(i)=0.5*(x1(i)+x1(i-1));
9 H' b q5 u3 P) ~. X0 Z* F5 _$ Kend ]' S ?) g+ @( y# b8 W5 ]2 W* S
B=[-z1(2:end)',ones(n-1,1)];
0 L# q3 e$ \, o R! QY=x0(2:end)';3 g l6 h# H5 A ^; f$ {
abhat=B\Y %估计参数 a,b 的值
% F$ S5 X# c1 \3 Lx=dsolve('Dx+a*x=b','x(0)=x0');: n: S# v4 R5 e4 Y% U) Z$ s* ^
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
1 N% I3 h. u7 d! [+ m& |; v: w' ~yuce=subs(x,'t',0:14) %计算预测值0 N' x, O! _0 k3 V9 m
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测2 n8 w( U, k# ]+ n6 \
值之后,或者不使用该语句2 D0 D* ]4 I2 T2 x
yuce(16)=yuce(15);. L% m7 E4 b! X8 g7 o1 Y/ p" @
x1_all=[x1,9.92,10.71];
, f7 I3 l/ x9 h% I) r7 O9 N+ `epsilon=x1_all-yuce %计算残差
# [1 J. w" M# B& g* n; a* }9 j: Ldelta=abs(epsilon./x1_all) %计算相对误差
5 t* ] z# M/ Wdelta_mean=mean(delta) %计算平均相对误差
$ k6 U& B- b& T' |0 @6 K$ s1 j; ~x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
$ Q4 W& m5 d! z" W0 Lyuce_0=yuce-yuce(1); %数据列的始点零化像
% |, r/ ?7 ~% Ys0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
/ N/ v7 |9 r6 z1 o) O! P5 Hs1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
+ j# t4 w" v) A0 ~0 v( Att=yuce_0-x1_all_0;
' n8 B6 O5 l$ X' z; V5 u+ Ws1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
% g5 [+ k; ?# [absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
9 t( V. X' G3 \" F- v+ w0 Fc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
5 P7 v- h/ V$ B, B v( I0 A; c9 w; q
4 e$ Y W' S) f/ g1 m$ ^ 4 结语
9 L! D, N! r1 B道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。5 M5 T; ]0 q% s5 T; Q P3 C' E
————————————————
3 T" k- H, ~6 X7 r6 c' H版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。$ Y8 x4 m0 e. v( x# P2 ?. D0 o
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
; y8 s0 w7 Q D! y( A5 f5 S3 N
) {: G: U: Q! e0 y7 y( U# e. p
8 {2 R; M" J% Z8 |0 e
. L1 |- t, @: `/ w; @) X |
zan
|