- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36312 点
- 威望
- 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)模型等更适用。
7 P) M% k1 @: t$ X
9 N& g# q7 g7 C5 i. UVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。6 T* ^' J! _. c
5 K; m) |7 y8 B5 I1 Verhulst 模型简介
7 ` C" l5 z9 u, E% {* S e7 hVerhulst 模型的基本原理和计算方法简介图下) w. E9 k3 u3 Q1 E" P: g I
3 S0 _! {7 f5 v3 ~0 I
![]()
3 W" d7 e0 d! o- y
6 d/ _9 s6 z" y% x, X4 G参数列的最小二乘估计
; B$ D7 T2 d% b; c4 C' a" V7 C$ A. O6 j
% |; S1 Z Z2 l$ u- c
/ P% T/ T. `1 ?4 `9 c0 `4 f' X) F! e! L- t$ q
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为% r% Q$ {& v+ x5 g9 O" X
* u/ j$ S3 l# ~* v$ ^- `* G
- n- W) I ?: I# z/ c$ I+ C
( ^* T* H% T( ^4 A0 }4 Z灰色 Verhulst 模型的时间响应序列为
* r5 |8 E" U2 N: y% G6 E8 D$ `
6 K g6 ^- G0 m) c 6 V U, q: R1 X1 F
2 [! {( X/ r, T4 x- Y& J
累减还原式为* b9 ?/ X- y/ R" J6 U) q
" z1 P- a8 V, S1 T" ` 7 k& @6 u8 K: }% |) F Z
1 t0 R' B! k- {4 V
2 道路交通事故 Verhulst 预测模型
7 }( J7 I" q( d# H. E9 n" ?
4 {. w; ~8 l# U![]()
6 U$ b5 D- y$ G, L6 M+ S% `1 c
% z- }" f+ y6 T1 V0 Y1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。: v+ G4 ]7 J) h: H) y" x% `) B
9 w3 P, E* Q) }+ }. }, e) F# k![]()
* O3 D! d; b4 c$ p8 ~* b P6 Y& D# w' U
* i& H5 l1 c* X8 ]1 u% l
1 Z2 t, X' h8 s: s![]()
$ y+ l4 O2 ^/ p, b
/ {% S9 p" ] w5 u* c s& e2 J
5 b/ Z/ `3 a. I# n: ]0 u3 g, R2 X6 M" Q1 f# ~
(7)模型精度检验。; \! \ p. ^6 A3 p
. Z' A' E( |+ W* d, E" Q/ @ L* e
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
: Z: x8 \% Z& q2 {( E8 [% K! o6 R- ]: n" S
① 残差合格模型
5 l# W7 |" l4 U; b3 i% f+ w4 \. u/ s+ K+ ?1 J' O ^4 ]7 D; x
6 o5 }; K) c1 I
( i/ o% F7 E7 {
![]()
$ k6 `- ?; v" p: O( h& H+ q+ S) y6 _% g. D2 A
② 关联度合格模型' [# ?; V* y) ~' P! ]' V
, w/ U0 g0 y: L% X9 [, O ) Y' k; `0 S+ A' B2 \, v/ h2 `
) q. T% _4 F5 o) Z% A' E
③ 均方差比合格模型
/ o8 f2 Y. p$ P3 b$ p% i+ l6 j, j- S3 {
9 i0 k3 m; h2 n3 c4 t: k% Y 4 s+ F! P4 {3 F/ c4 K: D
: p3 ], y! ]* x' O④ 小误差概率合格模型
) w$ e2 W) r( y9 m; I5 n) B `. x
5 Q7 Q' L2 l( d' ~+ _, a, p1 P / r4 J& l% J4 S1 e* x
* y9 a6 P# ?4 |" S" i由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
+ O$ M+ V( O) |$ c5 O N+ E( t9 H, p: i7 |" S& C( Z+ J, m6 Z8 y
![]()
7 j+ ]5 e% Z+ a& P$ B/ ~& z- R4 T0 u. ?+ q" b% C( S
由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。( f) W, Y4 Q& C z; ]: y
; y. Q* d- a! X/ z, F
![]()
, X9 F% E" a5 W
$ e9 t/ g( O2 k1 p/ z/ c 3 w7 j; P- d; c; t
% F7 a/ P5 l6 o# T9 ]
计算的 MATLAB 程序如下:, C6 Q1 J m) n7 W: k4 A
( n# [0 e6 B& z3 }, X: Iclc,clear
: ^$ i5 |8 _2 J& Jx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
' l: Y4 v# u+ g3 n3 c9.39 10.59 10.94 10.44];
4 h; S! i2 r; W1 nn=length(x1);
4 w* U# B6 P: T; x, F% \nian=1990:2003;
* _7 Q9 z' E/ ~5 u# \' b* I% ]' qplot(nian,x1,'o-');! s/ D2 C$ z. |( z4 ~* y
x0=diff(x1);
7 v8 `/ n- q. k& ~x0=[x1(1),x0]
0 ]& W6 P8 k: M5 b+ l/ I2 ~for i=2:n& Y' U* a1 z" \) Q5 ^* ~; g
z1(i)=0.5*(x1(i)+x1(i-1));
. ^/ ~9 w. i/ R* L8 f3 {( ]' j8 ?end
% @/ }3 p0 c- X0 }3 {' Y" z3 az1" a4 j3 Q& R( p0 [
B=[-z1(2:end)',z1(2:end)'.^2]! ]( G1 F* t) a9 b5 L( L$ A
Y=x0(2:end)'; c- f) L) ]% m3 |5 g Z
abhat=B\Y %估计参数 a,b 的值$ g/ P5 H; {0 q- s
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程 S- J% l0 u+ w+ h
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值% J- Z6 d2 _& z$ {0 z5 R
yuce=subs(x,'t',0:14) %计算预测值
# c7 o" B h' s! q4 a# jdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句 ~4 F3 @8 N; I8 L& a7 N4 j) I
yuce(16)=yuce(15);
3 m& C5 {" P$ A# z: i8 Ex1_all=[x1,9.92,10.71];
8 n0 n7 E' }- ], ]) I0 Nepsilon=x1_all-yuce %计算残差
, ^" G6 ]& c' e) K4 s8 Kdelta=abs(epsilon./x1_all) %计算相对误差
6 H h6 f$ ]$ `2 hdelta_mean=mean(delta) %计算平均相对误差
' r' A8 }5 `; c8 F, h6 yx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
: J, V9 ^" p% H4 k/ j7 byuce_0=yuce-yuce(1); %数据列的始点零化像- N a# N3 j2 I7 P+ w
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));( j/ s" ^, C# J/ _
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
4 T1 F8 ^2 b6 R* v' |3 T' ytt=yuce_0-x1_all_0;+ i: e, t7 z- E6 v( b7 h, y; V B5 H
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));& N% I: n' W3 d
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
& T) ~$ n5 o! I' S! I5 R/ bc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
. n$ i' ^ o9 e: Q) b. s/ j0 F/ V, g1 d& @% ~
3 预测结果比较, r9 J; u. r4 C3 q3 w9 q
![]()
4 v6 V8 @2 @! S# ^2 E; E1 ?# F
$ x0 a$ g2 N. `. ?- y! z7 r1 P
5 y7 h0 _: @% V7 }
比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:7 w$ T; T) q8 R7 F% \
L+ u1 R* }2 k8 w7 C' y( y7 s
clc,clear8 j6 j) r: x' Z; U. v v3 P3 N+ n
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35% d6 i. s2 D/ T. X; B
9.39 10.59 10.94 10.44];
% k4 M1 y3 D0 u5 D+ Jn=length(x1);- T6 _7 w+ n9 {. c! b2 Q1 ?; M8 |
x0=diff(x1);
g' f4 k0 z5 ~4 yx0=[x1(1),x0]
) ]6 p% f/ ?" {% v# V: M/ u- w) a* Afor i=2:n
$ u0 X; X4 w) `8 z$ X' Q ? z1(i)=0.5*(x1(i)+x1(i-1));+ B+ Q" N/ o0 m; G8 N& M% L
end
. E! R- I0 ^2 ] V' N, o: h( C0 f) QB=[-z1(2:end)',ones(n-1,1)];. A/ l2 q/ R4 J5 v7 q
Y=x0(2:end)';6 M8 {( U/ z* d3 N
abhat=B\Y %估计参数 a,b 的值) q6 |. g8 S* G& E7 t. U
x=dsolve('Dx+a*x=b','x(0)=x0');; o* |3 ^) h% G# O+ f$ Q
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});6 T- K/ J0 u' v7 I- y$ D
yuce=subs(x,'t',0:14) %计算预测值
0 ~4 }1 l$ T: o2 vdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
/ P+ F3 T! w2 k0 ^8 z# M! U# w/ K值之后,或者不使用该语句
, p- e: W5 p/ g' Zyuce(16)=yuce(15);3 a) _* u0 i# q. x& Z
x1_all=[x1,9.92,10.71];' B* L! T) E8 _+ r
epsilon=x1_all-yuce %计算残差
' \" C9 x U4 O7 gdelta=abs(epsilon./x1_all) %计算相对误差
2 J& R0 R$ ]4 y& w |- Z3 ]delta_mean=mean(delta) %计算平均相对误差( `) f% f2 ?3 H2 _( L
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
% c) u9 }# G- G7 Y4 Cyuce_0=yuce-yuce(1); %数据列的始点零化像
0 V) W& I- \6 P" ~8 Ms0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
7 W/ \7 q" F' q$ t( Bs1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
6 C# B% b. F0 Y3 @( A L* Y$ {tt=yuce_0-x1_all_0; |7 R! a9 B; X" [! j( w
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
4 A* p' f0 O1 f2 n# \: c2 jabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
. L- z. W t9 O8 }- R/ K; Ic=std(epsilon,1)/std(x1_all,1) %计算标准差比值: o# @: E1 Q+ G
$ [, A( R' w0 \, a7 e
4 结语; m. Q. z, n# r# Q6 S/ }
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。# e, G2 n0 _0 c, P' ~
————————————————
$ {' A5 i. ?# V5 a+ c/ N+ D1 X! ?版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。- f# h1 v, i# k& t4 H$ r
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
$ d% \) Y: y5 `, G
3 B0 e- `# t6 z X }
/ ?* U1 e* ^/ }5 f
4 P0 [$ \& v+ x$ M5 g; V; T |
zan
|