- 在线时间
- 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)模型等更适用。
( l4 x+ c% }3 O ~. x$ K: E! m( {' w' O$ ]6 ^
Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。5 a. ]8 o3 _2 h1 J
2 ` C$ F4 S; R4 P7 I2 t1 Verhulst 模型简介) n3 j9 m* K+ k: m1 x
Verhulst 模型的基本原理和计算方法简介图下
7 X; d/ o* d0 T: Z' F( k" @, h
% a c7 j2 c( A' l2 a![]()
" P: t7 o1 g6 p/ L
( ?( m. b' }" y0 b( l参数列的最小二乘估计
) V o( A" X* `+ A& r+ H$ N! e1 h. l& z7 |/ W6 t- U9 w0 [) C" k
![]()
- P8 j8 \( D' [' I0 _6 ~
6 X1 t& x }1 _. \1 n" Z. `7 g1 ^1 K7 @" W
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为6 E% k4 N% p3 h& `4 j1 _/ M
! E, f& g8 o3 c9 ]& H* ?+ W
![]()
2 L1 D, {, m6 c1 p! S1 d
+ o1 G' W/ v, w2 D9 U* ^2 i2 l灰色 Verhulst 模型的时间响应序列为
; v, I9 m: U# G6 w3 B" u& P% j( `" _
7 k$ a% h0 N8 K6 Y' w1 E# I
7 c$ J+ b$ q) p9 I! X2 k+ p* y累减还原式为
$ ~ T& M* F* S- y1 O0 g
! V7 }, }# t* L* v # C6 t* C9 t( B% g6 ?& O
5 a+ V( Y$ s6 v: L2 道路交通事故 Verhulst 预测模型6 M; G1 I0 Y, b" e1 z9 T
- l8 p! X: g# O0 }6 ]
![]()
7 t* \7 K- d$ M k
$ S4 P8 n( t. a5 @* C2 y8 {2 M3 V1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。( B9 C$ v# o3 @
; C; s0 X+ F$ P3 w4 e5 H' ]% m7 B" H![]()
# d* J% y, f* a, n% Y! n2 S& j* s' m7 w; R+ |5 O
7 I- d$ |3 r9 x4 D
, Z0 C8 B4 O+ O1 t |* d9 c3 p![]()
& \1 D7 }8 K: r% Y( f/ K) A
- {4 J5 b5 d4 `/ B5 b& s+ X% L* ^' y0 @6 Y; L
* w s8 W# A; o: G% ]7 k
(7)模型精度检验。
6 S+ W5 E6 @6 F m% P6 m+ x# V* Z4 u8 v& }: I" `
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。3 [+ \2 S% H8 R5 _6 S8 W9 R
/ V- W9 g! b4 f! w' [3 Y! _) }① 残差合格模型( y x' a$ m( m( N2 A. c$ J6 q
6 h% x+ j( q1 {0 W: f
% j8 A+ X# o# G \% @( P
& d: z/ _; f" K1 Q) L4 L& z ]- S
![]()
! C8 P3 J6 j7 {4 J
9 `& ~" ]# H4 @# ?- Y( Y- @② 关联度合格模型 Q# d/ E/ Y' x" N
( d0 ^0 j: u* `& Q2 F5 h![]()
7 D4 J# C+ k8 o1 I
. {2 } n4 v7 v( f3 h/ ^ ③ 均方差比合格模型
* W8 z9 u4 p" j4 f
/ _$ h; G4 u$ x+ r: T6 l h - Z K2 R r% h3 j' v( [' z
6 V: t. ^, b/ o( G! x
④ 小误差概率合格模型
; H/ f9 D# R& Z) }2 a" `: j; n8 @$ h6 n, q2 U) l" t
4 x+ G$ x: e" c
. p9 F4 a4 `: h5 j由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。# _/ z" e$ a% q2 L- t" _0 t5 {, @2 Z
0 f1 ~9 G! G6 h$ s
5 A0 z( ~5 E* O- P9 x0 F& N9 q7 i
6 i' ]6 N. x* P由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。4 }1 T j. C* X" V/ q; w: s2 Y3 u
" m7 C7 l/ o( [9 B! B! d* w 5 R1 }0 b" Z$ X
' r3 m0 f2 _/ ]9 M5 }1 Q! f& n
![]()
% u C% [% ~; y0 l( s" e( e: ~1 R; X9 g, p4 j( P. n! {. A
计算的 MATLAB 程序如下:* R( F1 p% M" |9 b
: L- b6 B/ _4 c( r7 ?% L; Kclc,clear
4 x5 s. u: i! H* L s" W1 U9 ux1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
! G U, `/ L8 J" S5 ? }! p" r9.39 10.59 10.94 10.44];
; [2 C7 d6 p: r) on=length(x1);% J0 Y' t, W7 E
nian=1990:2003;7 p0 i a: a; J0 `
plot(nian,x1,'o-');' c7 l' F @6 |% u$ [0 {% U
x0=diff(x1);/ N' h3 A v# i' { _/ T
x0=[x1(1),x0]' F; ~) P# ?3 Y7 p
for i=2:n, |' k4 f! Y+ L* }% Z8 |1 ]1 H; d
z1(i)=0.5*(x1(i)+x1(i-1));
2 [$ p) w; O3 _) P, R+ uend
2 c7 C5 L) M7 [& N: _! Kz1
. W' @6 |# E: N* Q. N( _. c8 C. zB=[-z1(2:end)',z1(2:end)'.^2]
8 H0 b6 _( X8 i! D8 E) n BY=x0(2:end)'+ B, {8 _- l7 `' x
abhat=B\Y %估计参数 a,b 的值7 |% O1 _( J( m5 Q* V5 P
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程9 E& J/ O# I. U$ s k) _& V" ]
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
# d; ^* c4 s) P) t# Zyuce=subs(x,'t',0:14) %计算预测值1 S) K- t+ B% P6 [
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句) j" A! F% G2 Z9 k0 G) X
yuce(16)=yuce(15);, N6 m/ q1 |2 j/ w
x1_all=[x1,9.92,10.71];
$ }' _% j) e5 v( z" S" Q% O" A' Fepsilon=x1_all-yuce %计算残差
: P2 ]2 \. _6 J1 f* L2 g+ P ?delta=abs(epsilon./x1_all) %计算相对误差
' e9 n ^7 H. [; _$ D3 F5 z( Ldelta_mean=mean(delta) %计算平均相对误差+ B9 _- y* E! b. U
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
( X6 B0 `- X1 M9 r; u+ Nyuce_0=yuce-yuce(1); %数据列的始点零化像7 E( @6 ?, N8 ?) Y$ a4 Y8 u% K2 H
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));4 I6 r/ s% u& N0 Z
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
7 g" J5 }8 i: qtt=yuce_0-x1_all_0;
! V, O0 i8 y/ e1 r" Ys1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
) c, ?. m$ F- n& V; Jabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
* o+ T! B4 P# Mc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
' d) i7 V- j) r8 u- F' r
) e! D1 K! @! ~ x+ \7 W1 P1 S: ~3 预测结果比较2 e) ?% D; B! K! k8 ~+ T
' ?. j; ?& |5 t u- H! x6 \0 \
; D0 Q" W) p; |* c
; N6 L4 G2 M4 i- _3 c# n' }
: A; y) B8 T* c: B) n6 g
比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:: a0 D! W! U0 `& i7 H8 q$ k
+ f3 ?" O1 c" ~' N' @: s& K) b# i
clc,clear0 C0 z7 W% F6 A
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35' z1 @" Z' Q+ j+ i+ ^9 |- H1 \
9.39 10.59 10.94 10.44]; B6 f! Z; F. X) ^8 L
n=length(x1);
0 [2 q& \5 u6 {' u5 Y; g! n9 Cx0=diff(x1);* A! P- V0 [: J1 y) S& S
x0=[x1(1),x0]
$ b# T! I+ J4 K! \- t( f% {* j5 dfor i=2:n
3 T9 b2 _/ ^6 S7 M9 T N z1(i)=0.5*(x1(i)+x1(i-1));
" M! c# g' n. d" Q E2 E/ P2 lend
6 o, l$ L* e- s$ pB=[-z1(2:end)',ones(n-1,1)];
' U: |# I9 }+ W* G& d) RY=x0(2:end)';8 V# ^9 `" P- A( {( ~
abhat=B\Y %估计参数 a,b 的值! E0 G0 k, h: b8 p
x=dsolve('Dx+a*x=b','x(0)=x0');0 E$ z4 @; K/ T. P2 d" X% `- \
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});, Z1 L* ]" R! R5 `
yuce=subs(x,'t',0:14) %计算预测值- d5 W8 V4 R6 ~
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测; B0 T0 x% M3 R" V+ h$ C+ y) V8 B5 o6 \
值之后,或者不使用该语句
9 v& j) b+ ~* |! R |: Kyuce(16)=yuce(15);
6 L4 S, K& ^5 T, y' e& x( `x1_all=[x1,9.92,10.71];
! Q: G, o) }' q3 d8 Mepsilon=x1_all-yuce %计算残差
. m" U k. d+ d; J/ r4 f" c# B; ~delta=abs(epsilon./x1_all) %计算相对误差
8 p% Z% Y" W6 Z2 L7 l+ n) L+ c2 Jdelta_mean=mean(delta) %计算平均相对误差8 c. l6 @/ e+ m5 A6 j
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
. C& k; \ u/ N6 Zyuce_0=yuce-yuce(1); %数据列的始点零化像
3 G( Z5 |$ J. b @. S5 m7 es0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
/ l6 ~1 y7 D, }4 n- e) _, s7 ]s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));; Y5 \/ ^- Q2 V, b( a( D. t
tt=yuce_0-x1_all_0;' g% O" _+ S9 D2 q( D+ c
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
- H) O) Z' j+ Yabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
6 z) y6 Y) _9 a4 a6 j* }. O0 Bc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
1 Y8 H8 D1 l( z( {! I X M- f! ^" N, E
4 结语
! [* u' `4 v# k道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。- L% a* D+ m' M: C1 J' G6 c7 L
————————————————
4 Z" a, B6 X p. ~+ \4 v版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。5 t+ L; Z' d( T- e8 S& i) b
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
9 X2 Z4 T9 S3 J' Z U' }/ r- K
- [! C6 H4 ^) H1 i9 A; C( _+ Q
9 D" E1 l5 h4 ?7 Y" K1 [
# v% W0 _. I: T$ W1 T) A* j |
zan
|