- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36311 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13854
- 相册
- 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)模型等更适用。- ]" \& S2 k! [8 N
, Z) v5 l9 R& Y! y
Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。8 ]- ?- e# D2 A/ R1 T
* v( a. w) Z/ I5 X9 t$ N1 Verhulst 模型简介& |" M9 v, W/ }# n- k( t3 P
Verhulst 模型的基本原理和计算方法简介图下8 V5 ~* v/ ]2 s* v
; M3 D: n1 o* E( ?* X![]()
2 e& x2 h: s! O5 c' O6 h0 |% h; b$ N. t* N( V9 L0 p
参数列的最小二乘估计
4 U4 f& u! S: X* |1 @8 d% W! P- P; L$ {. s
4 S% p( [3 I9 A- E" `+ G" b4 x h
9 g% s/ n! e0 y. U! l
/ v: P' b& f7 B7 l 定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为& ^) R# z, g1 \, Y. F
/ z: c1 v$ H& l* j) E. W$ o7 ? k+ a
' Q0 ^0 ^! O% d5 ?
& C4 D/ l4 b( ~2 `. V灰色 Verhulst 模型的时间响应序列为
% O2 g1 K% S, {- S
0 Y7 |, K2 U3 a7 J" W8 m. q* ~ ) Z2 b* t+ d2 P4 p! O( S' M
( W* k$ Y9 g7 h: r* m# i
累减还原式为
8 m0 X5 M0 t* _* \. v0 l7 z+ W) M* E# M
7 L) a: Z' r3 X7 L# n- s: a& v
! }7 Y# o3 u7 b: S' ?, V& m( {2 道路交通事故 Verhulst 预测模型 T5 t! i9 S2 f7 a' ^0 {' {& n
! O. [0 y5 c4 ]1 r9 |
2 H" z J l. W' c
% Q4 o) B0 S# w# u1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
6 s, a' _* L, M# R0 Q2 \0 ]
3 r# q, C! _2 L6 u0 v. r$ [ ' S9 x3 p/ u M' ~* y ]9 B
/ R Y$ R4 X9 l7 [+ D6 d+ o
" I) E! y4 |' h3 K6 N5 Q
+ C+ ?9 B* n5 l2 X# e
![]()
. D6 A" B* _& m5 I* d# ?; A
) X$ q8 C, _: a3 X, V4 [- t* ^) b- w
& X- N& B0 k, h(7)模型精度检验。7 q. N# Y( C$ K. k$ M
" y I$ K4 M: a3 F' Y
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。6 E3 \ H9 m" ~( ~
% P; b0 V( l/ J5 l2 B# v① 残差合格模型
- K4 `: d- n+ W2 L2 }1 q" x F
# T( a" I. a, |/ R$ M$ h/ S3 Y 6 [# h, X! Z/ S3 w. ^8 Y3 e
4 V4 }9 K5 c; [! r
![]()
0 x, l4 i6 z9 o# j
2 ^, w0 @/ B# d# s3 q) [② 关联度合格模型
% D5 B- O9 R! Q& W. G3 W# A
9 J5 N# O5 K. G+ O2 S. _1 Q, H2 `![]()
' | r- `- O1 R, f% d2 Z7 Q; F
6 f/ a( ^$ D1 T5 v ③ 均方差比合格模型; \* F2 P5 x" r2 N6 [) ]
' S, X# Z+ ~& o- w) ]4 V) Z![]()
, v7 Y" ~6 d& K1 z
' ? |% Z1 v! Z6 O2 H④ 小误差概率合格模型
7 [* B7 [6 q9 a) R" ^- b
# `" \4 Y1 E4 s$ E( f& |+ F: ~! y. n![]()
) x( Z. f t5 O) N2 X+ S# @1 V4 i# n9 B- i& T S) U
由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。$ Q5 ?( J7 `1 }( [9 W, Z+ I+ b1 W
) t* d/ x! @0 B2 P! l : |% u$ o% |, R3 v2 M; g
9 h, E; B0 L" l0 t由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
, ~5 x( }3 @4 x' o# U/ k+ e0 v
/ R# k$ Z5 n4 c6 m![]()
1 @# i6 k1 Q _9 J* \4 K& e9 b" }- k+ Z J; L+ Y8 I2 u
![]()
* D. h! n8 ]5 d* p7 W8 n/ h; u+ [% p% \
/ i- {& C# |4 q* ]* g计算的 MATLAB 程序如下:
* p. W: a7 D2 v' J3 e+ d2 C& S" G+ |2 j$ L7 u
clc,clear+ @! H4 }& U" }; I
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.352 M8 T/ o2 Q# c- n2 `% R
9.39 10.59 10.94 10.44];
3 n/ D% D8 m" F) N: Fn=length(x1);
1 ~+ @) S; H4 w! [+ ?; Dnian=1990:2003;2 f4 T, S) I' H d
plot(nian,x1,'o-');
; R. T$ x' N( _4 s9 a! cx0=diff(x1);
! |" r) @0 c, o, Z" fx0=[x1(1),x0]
/ P9 i3 r* }7 l9 F5 A: O) Gfor i=2:n
! y) t& w1 F5 Q z1(i)=0.5*(x1(i)+x1(i-1));
, {9 h; O2 Z5 D6 Z) [, A" Yend
& ~, o. j q; A6 E1 pz15 ~* Q6 A( Q1 ^5 w
B=[-z1(2:end)',z1(2:end)'.^2]: ^: v8 L( P! Q6 ~6 H1 v8 V+ W
Y=x0(2:end)'1 Y" E, g5 w- {1 V2 R$ V- R$ B
abhat=B\Y %估计参数 a,b 的值6 W! N1 u/ ^ O+ t! E7 E! a/ k* c( G
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程" ^' i: o, ]9 s
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
: y9 y+ @9 a. J0 o$ {1 q4 l# ryuce=subs(x,'t',0:14) %计算预测值- y5 N3 k% e+ J/ Y2 _/ D4 T
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句, Z3 e- ^- }& j
yuce(16)=yuce(15);
2 m. G- j+ R, C' D9 fx1_all=[x1,9.92,10.71];5 o6 x- e( J* D% E7 T1 ]
epsilon=x1_all-yuce %计算残差4 Z2 I+ f( y" |, n
delta=abs(epsilon./x1_all) %计算相对误差
s* G& ?. p" M3 \delta_mean=mean(delta) %计算平均相对误差2 ?; q: d6 D, |" x! U
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像/ G; M% J3 Y( A; {# f: u8 {
yuce_0=yuce-yuce(1); %数据列的始点零化像
0 ~; w1 l) v/ b! Is0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));* ?4 ]# W+ S- H/ A% W5 Q+ A6 j* Z
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
W2 }$ \4 S O+ |0 gtt=yuce_0-x1_all_0;
1 H! D1 \. H, Os1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
7 I( ^2 w! c: Mabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
5 I2 | r; p$ R) ?( w1 D8 ]7 Wc=std(epsilon,1)/std(x1_all,1) %计算标准差比值4 p" S0 J! L% K* J$ q" y
3 Q1 a& T0 Z7 a0 E* ^0 R
3 预测结果比较
j% f' v5 {3 X6 W3 G9 D8 g, A * g- L( k/ U( f8 D# j9 O
) x3 q3 z6 W4 g% R + q- m' H; I8 i
1 K! u- x* V N' m3 {
比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:) C% `6 q5 x. \, Y7 S9 Y2 T% W
! H+ ]8 Y- m, L6 `9 nclc,clear1 s+ B2 B2 S* T. u$ P5 T9 D0 y: _
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
. H. |5 s' ~2 H6 Z( \# F9.39 10.59 10.94 10.44]; - C# I7 E1 [$ O+ U# |1 o/ N! K8 g* k
n=length(x1);
2 W- t6 h5 h, v6 V4 N# [x0=diff(x1);" D* |' f4 X) I3 M% B) g
x0=[x1(1),x0]* h0 G+ f; V4 T: D
for i=2:n
' N% R# N0 N' b: _ z1(i)=0.5*(x1(i)+x1(i-1));6 [5 F0 N$ m8 Q x. k0 J9 X
end8 D: V! M1 B7 J$ E+ X
B=[-z1(2:end)',ones(n-1,1)];1 v! W7 p) D P% x3 F5 T
Y=x0(2:end)';! W8 t9 Q+ F2 v# w% e& P2 l
abhat=B\Y %估计参数 a,b 的值! y- x" V6 o/ k' A4 ?
x=dsolve('Dx+a*x=b','x(0)=x0');: q4 b8 X- _( q, D
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); V( P* V/ z6 t" u k& t
yuce=subs(x,'t',0:14) %计算预测值
6 H- ~( r; t% E3 P% Mdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测' p G% i& F1 z
值之后,或者不使用该语句: e4 U% y5 T/ \" L1 H# p
yuce(16)=yuce(15);* {% s+ ~5 |7 Q/ ?# G
x1_all=[x1,9.92,10.71];
3 `& q1 V/ x! x" oepsilon=x1_all-yuce %计算残差" X4 {6 Q+ }( i& N) m. S* e
delta=abs(epsilon./x1_all) %计算相对误差( @0 n. M: G+ v
delta_mean=mean(delta) %计算平均相对误差: X! K, v" Y' S+ ]- E" _
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
- F: b4 X- \5 V: l( c0 x- ~yuce_0=yuce-yuce(1); %数据列的始点零化像
. `$ p; c% y! g' o) C1 T2 ps0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
# @( n3 L. m$ E5 _s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
, {' V: G' W. F1 Htt=yuce_0-x1_all_0;: T* Y1 M5 n9 R9 I' E9 p
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
: v. {/ h$ s3 R5 R8 Q8 K. eabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
' F% |0 b6 l1 N6 Mc=std(epsilon,1)/std(x1_all,1) %计算标准差比值0 p* [6 c2 g2 `% }! f
3 S" _: N, V2 g0 V) ~4 X! r4 r 4 结语* H. n. h9 z5 Z- E
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。/ j% z ~. Z2 \9 R. k1 P3 V
————————————————/ l+ G+ h# t, X3 \
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
3 G9 _# I: E$ a& S0 X原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
' X' V5 e" X' M* P' T/ U5 A/ A7 d6 {+ B
3 i" _7 f, E* G" l+ H+ ~! _. b# ]2 n
|
zan
|