- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36395 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13879
- 相册
- 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)模型等更适用。9 ]9 |4 u& H$ H" `% Y$ `+ A! ^
' X; @4 k% g7 _3 {Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
: X+ r6 K3 m+ m) y" k* F& v- ?
8 l7 B! j) B7 o" w& A: s! |7 ^1 Verhulst 模型简介+ Y1 v; ?6 @8 D" C
Verhulst 模型的基本原理和计算方法简介图下
! T; b' H7 `, q( F: K& ~$ L; y9 {; N7 x' t6 s; {8 W
0 z5 n5 l5 i. [0 T: w, w6 |& k
, ^( V2 \! }( h8 [! \2 a参数列的最小二乘估计 T# J0 p0 ~* Z8 Z; o
9 g) Q# e' {7 M" P; ^* X![]()
, P z* _1 \3 P T1 L- C t3 Q! G- ]. R" k" o" }; W) N$ e/ \
8 A2 J& @/ ]- {/ m3 \" c 定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为5 L( I: Z# d+ Q, L) }& @
( i' I$ J4 S* W, i0 Y![]()
s; r1 U3 A/ \; L4 [& w' K8 _) Q4 g* L' H: u
灰色 Verhulst 模型的时间响应序列为
! Y8 V! \9 n- x
1 [2 a9 n, T/ U2 n( k9 x# S![]()
' u) }0 r4 e7 S) T. U+ h9 w: r
" G Z. ?9 ~, {5 x' |2 h累减还原式为
9 q2 Z: m" R4 u" h
: o E; p; I: h x* W! M9 r![]()
5 V ~$ j! S6 ^2 D$ r7 t7 s1 q X H
2 道路交通事故 Verhulst 预测模型
' w; Y! L. A$ h% a! p$ {) V
9 }% w/ h+ h) s8 h![]()
3 U$ T6 G% ?, U( s* v( X2 W* T! K- N; W+ p
1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
2 N" P6 O" V- c2 N. z) Z0 D
" C! Z4 I) J# W G5 `![]()
; f3 n. d; D4 X# N, o2 p, w3 u7 U# `0 d( u1 L
2 N& t. o Y) P6 k& y. C
/ g' |1 @& p; Y
![]()
! ~4 I& C3 }4 o+ N& k) m, u" n+ w2 S, Q- s w
h# l3 y8 J- U) s- z
! F) q4 j- V. b! i; p& @(7)模型精度检验。) P3 X+ i7 a4 `2 T, d1 k3 S8 N1 ]
* G% Q& F2 r6 t0 @3 \一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。* R$ i2 R- A# f0 [0 h
5 u* _5 d% x8 x① 残差合格模型
* o- p8 g4 t. E; k9 l, e) ?! v8 j9 l
![]()
( _- c& [5 n7 m# j4 H7 w( Q
U! W& p6 `& c! I ~) {![]()
% O+ d0 }; H- Q; Y7 n
1 r2 D* c% h; g( t; a② 关联度合格模型
/ H0 f0 q2 e/ m6 q0 E- S* p. b) f1 {2 A: M
- {/ ?' k& ^/ Y6 T* {3 J3 N. }
0 a* Q: ~0 t8 i2 o5 v
③ 均方差比合格模型6 U) O! C5 ]& O* b8 {- q% {* x
% H( t, p3 H5 d# ] " r4 a% r, f' n6 f+ ]) D( S6 N4 Y
' q- L4 [2 k, }4 R: S/ {④ 小误差概率合格模型
7 y/ Y3 `* L! C/ g+ V0 [) r1 z
& `+ ~5 U/ P. K4 `" o# E+ r9 z5 z - ]9 J( m- h1 [! d. @: o& V i' r$ a
& L! j2 K+ n+ x9 P# s1 |由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。; q' ?7 N' L# b7 i6 n9 N
, }, b: K; T' U% ^) R5 u
* y4 d! j0 _! X7 U
- k9 ?7 v ]! E+ D D由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
/ F) t1 |, E1 S6 O: Y
! ?3 P b5 _$ C7 m5 B, ? + Z, H3 ?2 n) O* G
6 t7 J# F9 q/ q* _" I![]()
1 y( U7 k2 I8 U+ X6 h" S) @6 ~2 e( [3 u, v
计算的 MATLAB 程序如下:
) E1 q1 o# z, R ~5 l5 ?7 O' m* L% k
clc,clear
- J/ a) X2 E$ ~9 {x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35% k/ k Z- {4 V( h& s
9.39 10.59 10.94 10.44];4 A" V/ p- L, l8 g' P
n=length(x1);) q! _4 i8 o0 z3 u& |6 U
nian=1990:2003;* g7 D4 j) H" \- p+ m) T/ i
plot(nian,x1,'o-');
, A3 \, F3 |( O: ]# n; {3 g3 }x0=diff(x1);
r+ {3 b9 G% Q: M% xx0=[x1(1),x0]% C: }2 v3 ]5 m m; V) _; {
for i=2:n
( n2 K0 ~' Y$ F$ S+ P3 U z1(i)=0.5*(x1(i)+x1(i-1));- {# m; z' T3 L" C1 C0 C- J5 Z5 D' J
end
: h5 r$ W# P3 x/ m7 B! ]z1) d4 {- }# e; k8 k7 E$ L0 I. \3 j
B=[-z1(2:end)',z1(2:end)'.^2]
0 K- T: D' \ v P; x( XY=x0(2:end)'2 O6 }7 j; ^1 m4 e$ ~% N; k2 q
abhat=B\Y %估计参数 a,b 的值
) ~+ e6 R9 q, C6 @, v4 T4 ux=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程 l) {* r' ?' Y4 w! N- M
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
2 e% R+ |, Q' W* s7 B; `5 }5 Byuce=subs(x,'t',0:14) %计算预测值
( K: E3 o$ K2 Z' X5 W: B7 |digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句0 x, p+ j: H; t* c+ S
yuce(16)=yuce(15);
2 ?% I; N5 {/ b$ _) ~9 i( Nx1_all=[x1,9.92,10.71];
( x5 e$ A2 @ r0 R. e% mepsilon=x1_all-yuce %计算残差. a& w" m) c9 x: S/ ^5 m
delta=abs(epsilon./x1_all) %计算相对误差# B7 c- l8 L; \0 o! {5 o. \) F
delta_mean=mean(delta) %计算平均相对误差
. _- E }# v$ V; t) D+ I# dx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
- B3 P* J" s \yuce_0=yuce-yuce(1); %数据列的始点零化像
. U4 U# ?4 c% B2 c) `1 ~s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
9 K9 D* L0 \) W3 V' ~. @s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
$ F d7 H: \, itt=yuce_0-x1_all_0;
! T# T# g2 ^9 k; Ps1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
- _/ \0 ?5 b1 J5 ^: c. e- ^8 tabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度/ Q5 l/ y$ W, h- h# ^. t
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
4 m" B: M; C* S5 b& M `1 {
0 ^6 n4 R) b5 b: p* _3 预测结果比较% g1 y- L7 S* X+ q' E! I' A4 @
! }0 H- k2 T& l1 f; r7 ]& b
+ l; D8 G6 F3 h& r: @
![]()
+ ~4 O' C! B# v% @3 A- D) R2 h# y* y' O! L' ]8 U" ~/ u
比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:. t l" a( \; G! r
+ n5 J* [3 L5 {4 T- ~clc,clear, X% d% |& y+ m# o& ~, V
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35" B, N; @, p2 @
9.39 10.59 10.94 10.44];
b# l. m* Q: P9 }7 i& ]n=length(x1);& o2 e2 K# [! S1 @
x0=diff(x1);: s! T2 @/ ?. o
x0=[x1(1),x0]2 M+ G) l% g# ~" c' r Y( s H
for i=2:n9 O7 z2 k a/ M
z1(i)=0.5*(x1(i)+x1(i-1));
4 q+ z% H1 W! m$ R8 ^+ ^% `$ l0 [end6 @3 i1 ]) ]# @/ x$ o3 v6 M
B=[-z1(2:end)',ones(n-1,1)];
; M( E1 g6 A9 {% A: ^ PY=x0(2:end)';
* B2 y1 o2 t2 ^; y0 v1 pabhat=B\Y %估计参数 a,b 的值' r& t! x4 H# V- Y* C
x=dsolve('Dx+a*x=b','x(0)=x0');' U# r$ r7 I# P- y* U) o i* D
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});5 U8 D+ w3 H5 G- |5 @. |1 e
yuce=subs(x,'t',0:14) %计算预测值
9 l) p$ R2 L/ m6 ?/ i" l% ]8 Gdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测2 w. L5 X# C; P5 H/ N( V. ^
值之后,或者不使用该语句
) q+ N% [9 n: L, ]yuce(16)=yuce(15);
' p- a/ q3 \( l) Q( lx1_all=[x1,9.92,10.71];1 S* M" a+ i: k% n3 T+ P
epsilon=x1_all-yuce %计算残差
! C( ?( K. o( I3 ~delta=abs(epsilon./x1_all) %计算相对误差
2 A) t- ?) |2 ~( vdelta_mean=mean(delta) %计算平均相对误差
$ P$ M' e0 E; Vx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
) p! Q' K* \3 _7 L+ F1 fyuce_0=yuce-yuce(1); %数据列的始点零化像
6 A- a* T$ O0 t) }( N4 C! us0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));& u, Y1 V* h8 k
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));0 R: o& y8 X/ n8 R
tt=yuce_0-x1_all_0;. y3 j9 q1 c9 C9 g; ~
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
! Q. P7 Q g4 K) A" labsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
$ }5 K5 f5 z1 I% f* i5 d* j0 `. G3 rc=std(epsilon,1)/std(x1_all,1) %计算标准差比值 I. @" D( k$ {7 y% r' i: w
. ` @" }. c! Z& h( B 4 结语+ ~# i/ {# v% B$ X0 ^9 [
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
: L$ P8 M- U" F% { T" }5 U————————————————
; Q$ v0 f, L! q版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
$ i/ ]8 c/ I- i& D原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039) A/ ]% E& @1 i4 t2 K k; h# `# `
+ j9 u5 L1 f7 v# D% r4 o4 Y0 f; |- V( W! J8 l1 T# ?
: a$ h, Y, Q$ G
|
zan
|