- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 35399 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13563
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 621
- 主题
- 542
- 精华
- 10
- 分享
- 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)模型等更适用。( q& F. J5 P, K; m% N* a
/ E3 Z+ X, Y0 G; B3 m3 uVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。/ k, _/ d5 m- Q+ d1 \
0 o* K# w# k8 w
1 Verhulst 模型简介
3 B$ n4 G3 _3 b& gVerhulst 模型的基本原理和计算方法简介图下
% a! J( q4 x9 H1 A. R# c' |1 f7 @; `7 f4 ?* Z8 O: p2 ~/ H. l+ ~
7 f( V* O+ \8 y
# J+ m/ E% f9 B2 ^. I9 k参数列的最小二乘估计$ c" O) W* p2 y: q. r, ^
" f6 Q, p3 C0 z) b1 T( r, M
4 T5 O4 {) L! `) |6 E' ^# N/ b
- [/ _( f8 V* _: E% o! N* x8 s+ J! a9 v2 s- N! R9 i2 ?" ]
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
B S( b( m( z0 u0 }# g( C! N# h# Z: O) x
& X% F) u) O, K8 F- h9 C1 s0 S# e3 P" l1 U, b
灰色 Verhulst 模型的时间响应序列为
) b( u B" j# s! m D) K6 o1 R
i+ o$ s! A% U7 q% q' t$ j
: i2 p' q/ J5 U2 B& j- S0 W
- V! |) U; o$ r累减还原式为2 i; a: r7 u* J9 v: Y% v
L {7 T# W" C8 U/ Q
8 }1 Z/ O( W* [
! `" w) G# g! q5 c* Y* ?- s2 道路交通事故 Verhulst 预测模型
; p9 E: q9 C- \; X/ Z5 @- { ]' B; T2 H) } T
( m$ w3 @ @$ d( \2 L
8 O: z( z) L5 v1 j m' z4 Q1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。* Z9 b6 F6 P: ^8 l% U. c' J
0 v9 B8 @! q# `- U. n, k, ~5 k% |1 M) P3 ~! C: s" m4 w
( i7 D p/ l, D; w- m
2 ^1 y- ~2 W* q/ U6 t, m+ R
' F9 L! S5 a6 N- ]- s. \, \* x- K6 f5 b G, v8 R
' p& G6 d* U1 q: [- n9 ~& F# k( X
5 w: p$ I6 u3 _/ a
(7)模型精度检验。
/ d! d5 I8 Z% U- ?+ [
* P4 v$ D6 `, J0 g i. ]一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
9 P# _- O# f" {% I1 n) i
: v+ _! s7 `, d① 残差合格模型
p* @) C c) `! P& ?9 z: T/ ~' V: v7 B9 D! r5 G
7 I8 n2 h# r5 Q$ q
8 k" O ]1 N& l/ X! ^
$ D( u' V- z" Z" e( S; j# X6 B) o7 H8 i Z9 ^0 L6 ^
② 关联度合格模型
7 [4 P; _$ k! W0 H# }
% E* [ l a- t& V0 R
% d d5 h/ S" e" z6 l; h5 s7 [
2 W# q# c$ k! [: c3 M ③ 均方差比合格模型0 \- F7 o# i% v' M
: }, w) M$ F3 \( N. ^* M( z
6 F; W) p/ ?) B8 o- w
0 u, Z; }& ]1 i2 F④ 小误差概率合格模型
n' \+ d2 G9 k4 a0 m. y& }. q& X* d& D3 O+ ^/ Z$ `4 ]
) B6 q5 ^# i! R% q. M, x! N- T
' h6 G' G! s5 _, ~ @由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
) R4 r* k) [1 K8 ?* ?. f+ V' s s! @. |& t1 {/ X/ J
3 o/ p0 k/ c; [0 O4 _' q! @2 [& L) q6 O
1 ~* ?0 O2 n$ u# A) f( z由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
$ x) I1 r y9 {3 }1 Q: T+ h9 V. {! e! f& r& o2 j5 b+ s
# T$ |: a( u5 U5 c i. F
% K& [/ i4 H7 s2 S
I( z8 U. q- b" ]
7 Q$ I" S# k/ _( a1 u/ y$ e计算的 MATLAB 程序如下:0 P8 |$ {% K4 D9 K& g
% W% ?6 ?2 ^# i7 `+ B" v+ I7 n; vclc,clear/ \! ]9 ^. I5 W' Q5 k! I
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35% f" |& Y3 U3 \. Z5 l. s( z0 ~
9.39 10.59 10.94 10.44];
) _7 j2 E& f/ h1 s( V ^, ]9 P. |n=length(x1);% R1 ?' k2 y7 ~
nian=1990:2003;0 Y3 a! |$ p/ s7 ~ C
plot(nian,x1,'o-');2 ^4 v c9 A4 Z" Z6 h; S6 G3 K7 p6 r; }) l
x0=diff(x1);. u8 @% r5 D! @$ _
x0=[x1(1),x0]# B8 C' Z5 q' g4 Y; T6 @- X
for i=2:n: U: R+ H0 l0 a: t
z1(i)=0.5*(x1(i)+x1(i-1));
1 n: C& c% h9 y0 @& f) d& Iend
) V# q) |& }2 e! jz14 O+ M8 X2 m& {! P
B=[-z1(2:end)',z1(2:end)'.^2]( l% C7 ?# Y/ w' \6 _" `
Y=x0(2:end)'9 _2 @8 a" n" I* U6 Z/ M( X" B3 [
abhat=B\Y %估计参数 a,b 的值% F' K1 {: M4 Y1 z6 ^: W
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程4 m8 _7 r! N6 G! }
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
- b1 q% C- u+ I3 Ayuce=subs(x,'t',0:14) %计算预测值* ?* j. ~4 o ~8 F& e7 _
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句9 { m6 c5 W3 J- C% S: g! q0 j
yuce(16)=yuce(15);
* X0 s( M% Z8 n D7 \x1_all=[x1,9.92,10.71];
3 L$ M9 b0 }2 C2 d9 Y" jepsilon=x1_all-yuce %计算残差3 r* y- _2 u& w- w: R d5 Y* N
delta=abs(epsilon./x1_all) %计算相对误差+ l! g+ A1 } _6 a
delta_mean=mean(delta) %计算平均相对误差
+ k: e, }( v; _* f6 F% m, c5 jx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
" U3 l' g! Q$ h+ {6 cyuce_0=yuce-yuce(1); %数据列的始点零化像
4 J2 d* ]& r) Q, I+ p; d1 is0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));1 e1 {" n, `8 B6 _! m( h O
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
4 _( v6 q5 d: _$ ?/ g" P5 Gtt=yuce_0-x1_all_0;
9 [2 E0 f% |- j+ D3 ys1_s0=abs(sum(tt(1:end-1))+0.5*tt(end)); m. g) v2 c, G0 ?3 \5 s! H
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度% V2 c7 q; a' u4 M# D
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
( s0 u9 _# s! |5 b3 U f1 X
$ J. m3 G. r. H3 预测结果比较4 F2 |4 t0 L8 f
$ m1 `+ F6 A0 J! N
N4 w# i/ w, w1 A2 a, c* d. M& e9 @2 J' \ Y9 `9 }
3 X" [ Y6 G( \5 C, E O3 s) r
比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:& J* V s# M3 [+ M# t$ g
, W5 h: H5 `0 a, W0 r( F% n$ |
clc,clear! f1 K! Q0 G9 u7 l5 J0 `( B
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35( s h/ G+ J9 O) z1 l# n
9.39 10.59 10.94 10.44];
4 @& a C8 X) d8 P- sn=length(x1);
) t6 [1 @: d: l* J' r/ ax0=diff(x1);+ J$ N8 o0 V" Y' g
x0=[x1(1),x0]# C6 |8 M T- d2 @
for i=2:n0 a! T3 X. @3 E* f) A
z1(i)=0.5*(x1(i)+x1(i-1));
' R9 n) `0 N" _% x0 vend
+ N5 L) |0 F0 T& T! hB=[-z1(2:end)',ones(n-1,1)];$ G. G6 x6 `6 O9 H6 a
Y=x0(2:end)';% A* U7 X$ O" v9 V; ~
abhat=B\Y %估计参数 a,b 的值
" e* F, z, \! Q3 B8 ^x=dsolve('Dx+a*x=b','x(0)=x0');) t: C% k" x9 `1 C6 P
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});4 Y& ?& m% c- W& k; D
yuce=subs(x,'t',0:14) %计算预测值
- D/ r3 ]5 Q& w7 K; }) S1 E: Ydigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
) i; Q* U0 g) y1 q: i" h. j8 V7 Z值之后,或者不使用该语句+ D& b1 Q- t; \ L, p6 b
yuce(16)=yuce(15);
% g. G* Q' [8 K4 Ax1_all=[x1,9.92,10.71];
* m+ F0 I; p* L+ ]% K( @) Pepsilon=x1_all-yuce %计算残差
4 n+ g/ R4 D( ?! Jdelta=abs(epsilon./x1_all) %计算相对误差) z( v* m+ Z- n6 k& Y% M0 \3 m$ a
delta_mean=mean(delta) %计算平均相对误差
& a/ |9 \0 [& \7 fx1_all_0=x1_all-x1_all(1); %数据列的始点零化像; H A o/ ]1 X- @9 T% l3 X
yuce_0=yuce-yuce(1); %数据列的始点零化像& u2 D- _7 ~9 h+ j
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));: `2 w7 Q# L& K( a4 Y
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));( N" M8 B' z8 C! x) ^' E4 K
tt=yuce_0-x1_all_0;
5 {3 T* G9 h& Q. ?' Z+ k7 N. K/ N, Ss1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
) D" ]0 T5 O( o6 T4 \. mabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
! a) ]! L& ^9 r& W# c9 Y9 Mc=std(epsilon,1)/std(x1_all,1) %计算标准差比值8 D1 k# F" t t5 w$ D: ^
& n( Y9 |: Y" P: P. {1 l 4 结语8 F& C2 M z3 L# b: h1 E. m# F
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
1 [) j5 Y2 |# ? z9 l/ W2 R+ t+ I* S————————————————
. d: C: X$ V$ Z8 E) x+ T. T/ b |" |版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。5 H# k3 y% |' s
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
3 T3 y) i. y. Y& x n" l
. `! B( Z+ I( ~% v% r! s
( k: o" m" |, Y! [+ E z( _" u/ y( a4 V! [) f, H
|
zan
|