- 在线时间
- 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)模型等更适用。
- v: G, z3 w, v( _
: |/ f! s( e) y& y8 v% r# iVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。, Y3 \' D7 Y0 E% N2 s3 B; C
$ Q' A6 K/ n( t! G. b4 R
1 Verhulst 模型简介8 C9 g3 r: w# N& C: O
Verhulst 模型的基本原理和计算方法简介图下3 Z q ~/ s5 r: f$ n
: Y5 I) o& g) f& h; J- ~8 i6 P: l![]()
; v, {: d% R8 @) D% c
: O% f0 G5 \. r参数列的最小二乘估计3 n+ W3 r, ]5 }5 J* n' U+ \9 O3 d
' z5 Z% ]/ _8 e. p$ @7 T
2 y5 G7 H6 Y1 K1 {
! T; M5 k1 c* K: C
4 E- y$ ]3 E9 Q7 M X- L& V
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
- ~: j2 y6 F% v. |% \
3 P+ v+ i {* a, [9 b - h! p& u1 C: l8 U; } A' P
; q* @: M# @2 A8 I; a# n, C l w: r
灰色 Verhulst 模型的时间响应序列为; e; v2 t! a* I" P
0 k! V; L: n J; H$ Q9 R7 h+ k6 |
& D0 [7 _0 T3 v4 O4 `
0 D4 {: c i$ \; x8 c; p. e% E; k累减还原式为
, ~9 U# V. K0 J1 e$ W5 s1 t4 `7 `; ~2 V
![]()
- z, n# @# A5 q* Z. J' [
+ C2 D1 o$ G( l! e2 道路交通事故 Verhulst 预测模型
$ N [" x$ E9 V9 Q- S' o. H4 d
. F5 r1 t' n' d" g5 ` $ ~* b& j( A; i; w
! \8 n% c' A" [: s+ _% x( O+ V5 X v5 ?
1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
; K. M. S* W* \# r& a' G. l
8 A' Z2 N7 ~8 ?& ]3 T0 E ' \4 g' C. N: a; r9 c! R* @ d
- e1 y% n5 @- M+ W! t/ D
3 i q9 B4 ?7 g9 S7 o$ l7 p
0 z/ z# m: R( x% g - I" K* p% y _; s/ E
2 c) G. B/ j( \* x% d
2 b' p5 O8 i k% a0 K- w& J( y
(7)模型精度检验。
3 P& H& v, E0 C( n# s# @8 l4 @+ b; m5 s) e- h! A
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
7 t, }$ j6 ]$ I: ~$ W- M6 k- N* c8 }4 M H1 P
① 残差合格模型
9 H6 K0 I: k# `
: N: o, Z; ?$ _" z ]( ~/ G' K5 c1 Y9 \7 W* U
. q( x- ^5 I+ j" z& \ ^ 7 z D0 p) K2 u, a$ @/ a+ I
9 S+ Y8 B3 |$ O
② 关联度合格模型
. p. r! N) P# J
+ l8 L, r9 h, i4 T$ E" i![]()
1 X! J9 }" d9 t4 _5 m& s8 h1 ?0 o, d1 X: h z
③ 均方差比合格模型 @1 e1 A% z* c. o
) J6 I9 n, d. k" r: p2 p2 @1 [
![]()
# O0 M* U' g0 Y K8 H4 l. t
' J1 A. ^. F) O" U9 h6 j' U④ 小误差概率合格模型
% V0 r/ g- h! x
( i! h( [$ Y$ `" h 9 q# s" S( o. w
" B3 h" n2 t8 k0 o# |" s
由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
0 o0 Q1 X! \ F. o7 {* m6 ~- R3 \
7 f7 t$ e( J2 i; A![]()
0 n* B0 W& G _7 f; v% M9 l: |) ]
, `1 X' b. ~! |: z& g由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。0 v- b+ k& R# r
5 ?$ i( Y5 t! @6 \![]()
' C+ |9 a5 @+ m* `+ L, E; I( r' E$ G, B+ Z4 b2 k7 u9 o
* D# m( A( n" [0 P' z
6 V$ R' o0 t! ^- u2 u- E/ ^计算的 MATLAB 程序如下:, e @, T1 |: ?+ y6 i& z% z
) r2 ^2 e4 B3 m2 @# |% k
clc,clear* J5 a: E1 R; _; D
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
; Y$ m! F* r. k9.39 10.59 10.94 10.44]; I; g z$ R7 T* ~8 B+ X
n=length(x1);) m L" ^' S" y
nian=1990:2003;8 G" H9 i7 ]/ a; _* o# {
plot(nian,x1,'o-');4 C0 ]0 k) u8 S
x0=diff(x1);3 E/ w8 J( e: s Q: m Q
x0=[x1(1),x0]7 a, Q" y9 D* N8 h) V' c/ H) k
for i=2:n. L) b* h" R$ w! W
z1(i)=0.5*(x1(i)+x1(i-1));- k2 K9 @% R' P1 e# {6 E2 U! U; a T
end, p; [! z8 Q! [* l# N* f$ z5 q) P
z1
7 J1 @2 @5 n* `: vB=[-z1(2:end)',z1(2:end)'.^2]: X0 P, l m# A6 _9 E
Y=x0(2:end)'5 ^! b/ h. X1 k$ K- W# q
abhat=B\Y %估计参数 a,b 的值
4 P: [5 Y3 ?$ R) h' z2 ax=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程' E& b/ i) f; B6 B. j4 Q, n' ^
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值: a; m- J8 c1 F) g$ r" _
yuce=subs(x,'t',0:14) %计算预测值( P/ W9 L t4 }7 ^4 z) v/ n& }- c" Q
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句/ P$ W! \$ a6 U
yuce(16)=yuce(15);
8 L9 a9 v' U! xx1_all=[x1,9.92,10.71];
, U% k* O+ f* G. n9 \2 hepsilon=x1_all-yuce %计算残差 P) O4 q3 ~- ^
delta=abs(epsilon./x1_all) %计算相对误差
/ I- D6 X/ N9 M. f* P, J7 d. Adelta_mean=mean(delta) %计算平均相对误差. ]+ g. g9 d4 a) D- G
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像9 Y* S- R! V6 c2 J
yuce_0=yuce-yuce(1); %数据列的始点零化像( Z+ P+ I& m" i! L# X
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
3 h) g2 @2 Y; Ds1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));& `5 w$ v6 x& O0 |/ |, D
tt=yuce_0-x1_all_0;: Z0 o; `: |4 l. b
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));3 {4 E: r. @4 P+ ]
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度# Y/ D+ j* f* A5 z$ o
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值+ o) G! o/ N- M: u8 D- i! J
7 u* U# t+ K. _7 X( `2 @
3 预测结果比较. G& _5 G8 g% a) N- D/ D
![]()
C \( }6 x1 a1 `
& L' M! j3 e6 u+ C6 F) D6 _ 5 |0 P- ?* _0 L; E$ F7 s& c4 V* X7 ^# g' V
, ?$ q; E8 j2 U* |& X比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:: K' q, g, [! W* z" W! A
) B. \. O% i" q# E1 E" v3 R) bclc,clear
: s3 s8 O& h4 f* D3 m, r1 S+ Mx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35, L+ B( S/ T# G3 P, j( L4 i8 A' L& k
9.39 10.59 10.94 10.44];
+ q1 Q9 O3 V6 H9 Xn=length(x1);8 _9 K: {" p, h2 f' u
x0=diff(x1);1 N6 u1 M* f! @6 d
x0=[x1(1),x0]7 u) x2 \+ }9 y% _- i/ [! _: x
for i=2:n8 W7 [; D- U/ W* {: N
z1(i)=0.5*(x1(i)+x1(i-1));
1 U2 E3 w0 W6 Eend
9 `* ~/ y# e0 j" b1 i# d' nB=[-z1(2:end)',ones(n-1,1)];9 }4 D: ?& k& j# v. n! f9 n
Y=x0(2:end)';) O: U" e7 m$ |( X- _
abhat=B\Y %估计参数 a,b 的值: z; k/ k0 m7 k" ]% Q
x=dsolve('Dx+a*x=b','x(0)=x0');+ D4 w1 m, e6 T+ i" Y/ ^
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
# j- x K* l2 P" z2 ryuce=subs(x,'t',0:14) %计算预测值* X: A9 [, ]- f$ F- l
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测& c, L6 _2 B/ m
值之后,或者不使用该语句3 J' y2 K# ~6 L7 y2 e; X
yuce(16)=yuce(15);
; ?& X& M }+ P( D$ P8 }$ Cx1_all=[x1,9.92,10.71];; \+ B6 s- a, h t ~
epsilon=x1_all-yuce %计算残差5 `9 w1 G( B; ]# Z4 d# \& [
delta=abs(epsilon./x1_all) %计算相对误差; V E& L5 D9 J* v$ t: B3 P5 J
delta_mean=mean(delta) %计算平均相对误差- [ F4 t3 ^8 w V! d2 C: l
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像( ^3 X9 y0 D; c9 t# u0 O
yuce_0=yuce-yuce(1); %数据列的始点零化像
) a5 u; _. i' p! f {/ Us0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));3 I9 D. E( U0 K `$ r# s# P0 C
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));( Y7 v. A5 S4 m9 ^8 G# g& N2 l
tt=yuce_0-x1_all_0;
8 m+ A% j1 u$ [2 C) j Z/ l7 Cs1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
+ Y3 {/ ~+ g+ j u+ ]6 t3 sabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度8 y: O3 N* p7 a o
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
, j% A0 [7 h+ \7 T" X6 J8 |+ R% ], |) z/ c& c( B$ O4 Q7 f# H
4 结语* D C( T! _/ J* q
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。9 y u- e- r R! g2 X, h
————————————————
, i# P0 m2 x7 i) p版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: x- O5 T7 }6 b2 G$ f3 G/ h
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039! ~* y: [9 G0 g% J+ I& U
0 }! q9 M( o% b: V. ?- Y: `; j2 v- y8 p
9 }% e+ ^ }: e* ?$ Q3 P
|
zan
|