- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 35428 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13572
- 相册
- 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)模型等更适用。0 |9 B' k1 y+ P; M- k2 X' J
6 h, ]+ q6 q. _/ YVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
3 m+ {/ K( A/ Q) g- S1 }
5 P- j; x0 x2 p2 U3 o- m1 Verhulst 模型简介. @+ g( H* ], o! }9 L1 S. \
Verhulst 模型的基本原理和计算方法简介图下
' h* Z/ a1 w N4 @: r; M! {! Z" N$ G- m1 |" T' o
" S1 z( X* s! ]3 W# n2 [" e- L
' M; A) O% B8 E5 _参数列的最小二乘估计) s7 y' m! o+ ^# A) {. a b
" n B* q6 y/ _
; _' n3 R l/ L9 t. F9 ~" a5 h2 _9 N( s7 J& ]
0 Y" i4 Q8 ~9 b, a+ T
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
$ k9 u/ n. }# H' P6 p( j3 s9 L- M* I8 A4 v7 v2 K6 U$ b1 K
! w8 p1 z" y$ R" }# M" z0 S
/ L+ U/ |: h3 O( G7 B
灰色 Verhulst 模型的时间响应序列为
7 B% Q; ]' k3 ~ c1 p0 p
2 z7 q. F: A9 M C( P
4 u, S7 q" b3 ~. r. w# V" p/ ~6 \- _7 y: F' x& A$ d% N
累减还原式为( k$ B, m- T' {% k
* I- c: h* T1 w: x8 X3 f
8 G2 s8 T8 z& }$ H; y- o; q; j# Z, w# h' k8 F( D
2 道路交通事故 Verhulst 预测模型
; n3 |% K# Z3 B2 ~- W( g
+ A9 q* j, a: X! p" {4 ]2 F
8 |6 s" e5 h( u6 r
# S: s! A: M" J8 M1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。9 b( U+ n. |1 k5 Z/ ?/ h: w$ r8 e
% m: E: B7 g; D) j9 I, {2 n P
. }! j l: c, W ?" r/ w
, v8 a( C8 V6 f2 Y; @
6 e+ O- O; N9 _5 ^
2 W" R( R, \' d( N- l3 I: x& r
; F2 \* \4 s/ e) O9 x n* x7 E, H" D6 t
0 f) r1 h1 T6 Q& L% y
; c/ J% u. R' e! N" \% Y! Y. u/ ~' }, |# w
(7)模型精度检验。6 T5 L9 v( Q# H
9 A& X m) P, _; b3 y% p# G
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。* e" q# q. Y, x. [' [
+ s r' o- v7 d/ g: u" J3 D7 h① 残差合格模型
7 z3 R* v9 k# F* w/ v% C* P* b0 Q) o) z
* {9 `$ h9 y+ w' k; I
+ b J/ `7 `1 i9 C" E* \0 A7 e
& ^& N4 m }) m% Q( f( t: @
) s! u+ m! `+ A! L; n1 \
② 关联度合格模型) V2 p6 G+ c! t, M% w, D- c7 o5 Q% G
6 z6 |4 X6 e2 o3 S" S0 D, R; [, e; Z
- l, Q) e& x l5 q
③ 均方差比合格模型% ]$ g; Z; K+ J" b9 ~! [: b' a6 @
" y& v+ t/ A) I
: ]8 `4 ~- z* |
# L; G% B$ J2 e- d④ 小误差概率合格模型
$ _, d& M$ z/ V( I; p9 F9 ]. r1 O) p! ]2 j, C- l- L- u
1 X- D: K9 S& n' l* j
% R6 _4 N7 a, }2 N
由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。0 f2 n: }. a3 p$ d3 x; Q
- O @) ]/ }$ A0 b6 I0 k
% O9 q& S, T7 P, b1 Z; C$ K8 b6 o0 s% ]% T" O, u& y9 D) p
由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。+ u; S; ~7 [/ R. @ \' W8 ^( X" P# L
+ L. s- [( N2 L2 R6 a; O5 l V2 }/ R; ]) A
' F) I. }6 }) h% ]: v, @
: i+ e5 s* K ^& Q; [
! d+ y9 N0 f% Z- w! h3 \
计算的 MATLAB 程序如下:
% y" c0 F, L* w5 m) t
4 m. o, B; K. I2 \$ n+ e4 v& d3 Wclc,clear
V. J2 W r4 G; W; b, \% Nx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35+ n$ D5 V+ ?4 U4 Q4 ~" y
9.39 10.59 10.94 10.44];
1 r( L7 g4 L, d8 p( [- h! |n=length(x1);
. S7 p6 B5 ~0 G' ^nian=1990:2003;
' ]* n! E" H1 G+ o& |- a* E" vplot(nian,x1,'o-');
! c6 l) F, @: T9 n1 @x0=diff(x1);
/ \' F D3 h" C: P# p8 Gx0=[x1(1),x0] J2 t! B" \* x# s: p
for i=2:n
# J$ X u3 w% Y C z1(i)=0.5*(x1(i)+x1(i-1));
4 J$ U5 {& @5 m7 i$ Mend( k" B, v, o; U) O
z1
: x* j! ~+ L/ w- q1 h4 kB=[-z1(2:end)',z1(2:end)'.^2]" P) f5 Q! J X% ]. h
Y=x0(2:end)' [6 ^/ A F& H4 M$ P: y# r0 K$ G
abhat=B\Y %估计参数 a,b 的值
& v8 `4 M! e, e: C! n' b& z$ ?, ex=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
0 D R! e: J% Z" jx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值, d8 j* k: \% h, R% X* f
yuce=subs(x,'t',0:14) %计算预测值
. @! c- J8 ~7 V" z$ @9 N adigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
5 r/ g8 g5 Q. o" ^# I1 h$ {yuce(16)=yuce(15);
0 x1 S2 M3 y1 e$ m! dx1_all=[x1,9.92,10.71];
* B/ _; E$ j: |2 {. m, D6 Vepsilon=x1_all-yuce %计算残差
8 Z2 H- G' _7 x0 C. c3 C3 odelta=abs(epsilon./x1_all) %计算相对误差
: S0 S: f" J/ k7 z9 J* Rdelta_mean=mean(delta) %计算平均相对误差
4 E o) J- w& P1 [0 e1 b$ R1 qx1_all_0=x1_all-x1_all(1); %数据列的始点零化像+ t2 [& h2 Q, Z$ l, Z8 M; j! n
yuce_0=yuce-yuce(1); %数据列的始点零化像
8 b. |+ o2 X( x$ M4 d% K: P3 {s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));( b, i% U% b* X8 t8 b. b
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
% d' v: F6 G" }, X1 G4 ltt=yuce_0-x1_all_0;0 |0 I9 T" ~! z0 D
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));3 V- u m4 S/ Z
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
* v# L) j7 w) h) A/ @! K* Cc=std(epsilon,1)/std(x1_all,1) %计算标准差比值! N0 ` W- Y7 @. l
{! V* L/ Q. }
3 预测结果比较, q. y! ]; Z6 V) k+ P4 @ h
# B$ e- q4 ?$ Z0 L- k& @# z: s% C+ M, `: X: z+ {
! V6 \1 a2 L; v1 N/ K7 O
& j( ^0 t" N# i" K3 g
比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:, M2 P: r; z( e/ U, S
* Y- `" a {" \! q1 u1 Bclc,clear+ T% p2 l7 `* \; J, F3 D& y
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.354 j. @3 Z; t* E; h' h3 U) V
9.39 10.59 10.94 10.44]; ) `9 R* m* { r0 e- y
n=length(x1);
& L) Y: q% ~" p5 i$ ?9 lx0=diff(x1);
) [( o& a" m1 d$ wx0=[x1(1),x0]( e7 B) D$ @. m/ f8 |- _) x
for i=2:n/ k1 j9 h2 d# W+ `; h
z1(i)=0.5*(x1(i)+x1(i-1));5 G) j' Z/ D8 m* ^& L
end# |; n0 T# b5 M6 p+ {3 c
B=[-z1(2:end)',ones(n-1,1)];
: G# S" _+ y2 CY=x0(2:end)';, I3 v6 X1 _: O- X1 e
abhat=B\Y %估计参数 a,b 的值
/ N5 r9 H5 E9 b8 w) Jx=dsolve('Dx+a*x=b','x(0)=x0');
1 }' j9 l0 C# q3 c- K& Q! H7 I. ux=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
+ L% a6 e" \4 Q1 oyuce=subs(x,'t',0:14) %计算预测值
& h1 W1 I* \7 z* \digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测& F' c, V5 m+ P/ O% e% b
值之后,或者不使用该语句
# _5 f. p) I1 r1 B7 xyuce(16)=yuce(15);
& o" T& T( H, }. \x1_all=[x1,9.92,10.71];4 \, w+ ?* R: [9 A/ A1 }
epsilon=x1_all-yuce %计算残差" t. J$ H' \6 q% Z0 c8 `
delta=abs(epsilon./x1_all) %计算相对误差
0 ?* c; {+ k- j, g4 \% l/ o) Cdelta_mean=mean(delta) %计算平均相对误差( P% u0 c3 s+ Y. `
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
) R3 t/ ~ w! h: H% h2 Fyuce_0=yuce-yuce(1); %数据列的始点零化像
6 q, ~ ^$ r g6 F" ^s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
* _2 \% o- X, b3 M' W4 e0 ks1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));" ]7 Y' \' o+ b
tt=yuce_0-x1_all_0;# r. M7 H+ y1 B7 O9 B3 `. i
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
& a" X$ e9 H8 |0 u: [* ^8 yabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度& C! J7 c) Q! f8 p4 D5 \
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值" ~8 H; b v% X. U" H
6 w, a7 e& _: h ?& @# B6 M
4 结语
& Z1 J& f6 B. P- R- M6 q& j: W1 v道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。6 F7 f( W# K1 R4 d! _9 G
————————————————
( j" t" i* k0 T# }8 ]& N版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
: I: u; A; H8 F$ h原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
. e+ t D( d! I" V5 F0 w9 g) X" Z% R4 U1 W: O
2 e! v1 r# N G
! e d9 u3 i! | k0 ?. x! S
|
zan
|