QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2915|回复: 0
打印 上一主题 下一主题

[建模教程] 灰色系统理论及其应用 (七) :道路交通事故灰色 Verhulst 预测模型

[复制链接]
字体大小: 正常 放大
浅夏110 实名认证       

542

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2020-11-14 17:15
  • 签到天数: 74 天

    [LV.6]常住居民II

    邮箱绑定达人

    群组2019美赛冲刺课程

    群组站长地区赛培训

    群组2019考研数学 桃子老师

    群组2018教师培训(呼伦贝

    群组2019考研数学 站长系列

    跳转到指定楼层
    1#
    发表于 2020-5-28 10:03 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    灰色预测是通过原始数据的处理和灰色模型的建立,发现和掌握系统发展规律,对 系统的未来状态作出科学的定量预测。目前应用较多的灰色预测模型是 GM(1,1)模型、 灰色马尔可夫预测模型等,可用于预测交通事故发生次数、死亡人数、受伤人数和财产 损失等指标。GM(1,1)模型适用于具有较强指数规律的序列,只能描述单调的变化过程。但是道路交通系统是一个动态的时变系统,道路交通事故作为道路系统的行为特征量, 具有一定的随机波动性,它的发展呈现某种变化趋势的非平稳随机过程,因此可建立交 通事故灰色马尔可夫预测模型,以提高预测精度。但灰色马尔可夫预测模型的应用难点 是如何进行状态划分,故对于非单调的摆动发展序列或具有饱和状态的 S 形序列, Verhulst 模型,GM(2,1)模型等更适用。
    - f" m/ s4 p% f8 `' g) V$ r' o
    # r0 v+ \9 p. G' WVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。( {2 g; P0 a8 ]$ Y! s& \

    ' v8 l8 l& W; m: s1 Verhulst 模型简介4 m) l7 _1 D8 D% Z) R
    Verhulst 模型的基本原理和计算方法简介图下4 x" A* ]+ J6 _( O6 l6 j. |# ]

    - b4 G2 @3 v9 z! B* B- [9 ^2 ?/ i, c- T, w3 ^( M- D  e  t
    & \; e, X/ i9 U
    参数列的最小二乘估计' q' @8 n$ F- N% C5 h

    4 s( R: @: c+ W( ~/ @2 C1 ~, S/ }$ P: S8 {

    + {9 G& |. b  A8 d/ ?. f1 @2 ]* \+ G& ]
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为, ]$ Y8 D" R; G9 Z& A5 k
    1 q* v9 s9 E( h6 f! w- f1 |

    4 B8 A! X6 z8 j; @2 o6 I$ d' ~( K  X- M5 O$ c4 m
    灰色 Verhulst 模型的时间响应序列为
    - [  i) _+ O. H2 p5 C+ r1 E6 s2 p- |( q, ?5 m' _
    + Q9 b, t) [1 m3 q# m5 N. W! M8 p

    ! Y+ s4 ?. Q7 ], x4 w累减还原式为
    1 N) w& r& _8 |" r2 Q
    9 L* R) p! [3 p4 ]" p" R" @; }( R; l+ {' W
    8 g- @) Y- U, H- U, n7 p6 B
    2 道路交通事故 Verhulst 预测模型1 Q) M7 o# r. \( a# R

    " ~  B# t+ e! m( h, M0 o- g. e9 [9 I! l1 {. _# G5 j  [: X
      Y: `1 c. F+ x  {  w1 F
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。# y" a! X' w  t' z- g7 o5 R

    + y' f/ S* a' Q( K
    7 Q: E9 K" u8 q# {7 }3 c: o) Q  R4 I+ a- V
    , a7 \# K8 A3 L+ t7 j1 Y8 g

    2 e0 u8 y; E; E9 O- i2 Y6 N
    ' g* u7 Q$ G* R+ M6 ]+ i' C" P0 _; Z9 y4 C2 u3 D+ ?1 ?& f" ]

    7 Y2 n5 J1 v$ w* Q$ D. T' t; K4 U/ E% F0 G3 W; f* {
    (7)模型精度检验。% i. j$ O* v* u  @: y% V9 I# n1 s: |

    9 A3 G" W. J" R) w, |一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    ; @8 m+ s/ @6 X1 b& m% r+ m0 f/ B& f1 I3 R! C  Y
    ① 残差合格模型
    + n5 @6 E4 \8 U2 G  Z
    1 Y' ]7 ~9 V4 \& d6 j8 k/ V8 ?# X4 c0 e* B9 Q+ {" _4 \5 @' v

    " ]$ `3 W  u% A2 L. B* |1 P- p
    9 t3 z. k6 p8 f- S9 _/ \" V6 J* o5 {- b- B5 M
    ② 关联度合格模型
    # k+ Y5 F, [' C% N$ A
    2 Q& }3 b: ^6 j2 R% n; _9 R2 D% p0 m$ m' Z! ~

    # Y# z: ~$ _9 y* T; F& | ③ 均方差比合格模型% C5 u; B' K& Q6 S

      Y, N# J3 A. }- Q7 S( P* K
    + {4 p6 J; e, s9 G2 c; J! C
    0 h  S1 d& B! Y& P; H8 L" `④ 小误差概率合格模型
    : _/ t: E: ?' @- [( b- V5 B# I# b1 G# ~5 E

    9 ^3 d; E0 C: X# \9 Q2 I& _4 i3 q) Y9 i  t/ B% G# x0 Q! [0 E
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。3 z! G/ N. T5 O0 Z& ~9 c3 |% ~

    ' W+ |# _( b' N3 M& X! X- L% h5 I" h$ J7 o* P4 g
    0 n7 n! B9 g) a9 C7 |5 x
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    2 T; V  [' y9 u) B9 ^5 ?9 i5 n5 o: K% L+ C1 o

    / C) _# E. H. u) y  ^( L2 P# z  y( j; r$ [3 e

    1 f/ f( p" a" m2 x9 S
      x6 K! |" [' d! T计算的 MATLAB 程序如下:
    # M0 i' Y0 e  A2 K2 f" }$ q
    * U/ o0 M5 a0 B0 f2 z+ m$ u- rclc,clear# G. j6 y/ a- N) g* b% k6 \6 _7 z
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35/ T* V4 t& b; N4 R% }2 V
    9.39 10.59 10.94 10.44];! e1 J1 x9 r8 v. u; [1 d
    n=length(x1);
    0 b0 i5 w: a& `/ Y9 r: _% bnian=1990:2003;; ^( r& s$ K4 M% r# m9 q3 R
    plot(nian,x1,'o-');
    2 n' F  U0 F4 y* ax0=diff(x1);: L, }* s) w' I( O, @6 x% ]  I, K6 G
    x0=[x1(1),x0]2 T  ?) w4 i( I& i! z/ i% n
    for i=2:n
    ) ]0 i( R* T: m% @2 D7 B' L    z1(i)=0.5*(x1(i)+x1(i-1));9 k) Q) D$ E+ P; e' F
    end
    $ [# F5 W5 R3 s; hz15 _( x0 x& d! ?1 J
    B=[-z1(2:end)',z1(2:end)'.^2]
    ( N: i0 v% D; _( lY=x0(2:end)'
    / o) ~8 d2 V" n0 _- U* h7 sabhat=B\Y %估计参数 a,b 的值
    - e* V) c  H- @. R9 [/ P" ^x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    3 g& J, O' L' R$ B3 c# V/ t7 ?' Ix=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    4 H+ B  }6 X% n& Ryuce=subs(x,'t',0:14) %计算预测值
    ) C% U9 o7 o5 T: Q( xdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    6 R3 W5 o7 N1 P/ R1 s$ ]  Dyuce(16)=yuce(15);5 z8 q7 G6 r+ d4 C$ ^0 X0 n
    x1_all=[x1,9.92,10.71];9 P# R/ M* t8 C7 M4 t; L% T% f
    epsilon=x1_all-yuce %计算残差
    * [! r: q* C0 _: j" pdelta=abs(epsilon./x1_all) %计算相对误差) Q4 D% I  S2 @( e
    delta_mean=mean(delta) %计算平均相对误差& x) Z4 E/ ~4 @( |2 o3 L4 j
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    * s% t- {2 f6 Xyuce_0=yuce-yuce(1); %数据列的始点零化像
    % g+ s0 v8 C- ds0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    ' J- _1 n/ l& W6 ys1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));  p6 B7 t. s) i: U
    tt=yuce_0-x1_all_0;0 v' c! ?  [6 b( P
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));& Q  L5 E! S8 Q0 K2 W
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度  J/ i6 _! d$ u
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    . Q6 J. F9 Z0 f
    8 v! N5 d/ a; F( v7 B3 预测结果比较
    . O1 S0 q# y! a% W  ?7 y2 t3 c$ z9 \/ j1 j) b% J
    9 @- q% r) ]2 P$ }. y! `
    8 y; u) P* K% w7 U
    . L% u+ n8 L) y0 h
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:) l, u! X/ Z$ h- s, t

    7 l( K" a9 v0 j9 aclc,clear" U- _0 |6 ~2 ~% e% E2 ~
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35, m: W9 B! }9 H& z9 y# I" A. _
    9.39 10.59 10.94 10.44];
    ' ~# U7 v4 a* z/ ]8 e& B+ rn=length(x1);
    * w, c( W4 n, w( z' Nx0=diff(x1);  {2 a* f! f9 N8 @: o/ g. S
    x0=[x1(1),x0]
    0 A6 s  J9 y1 \8 N! T4 bfor i=2:n
    4 ?! a. o7 t6 K% |4 D1 v& a/ O3 P9 \    z1(i)=0.5*(x1(i)+x1(i-1));4 Y7 H, O3 K5 M5 W- w
    end
    # [5 @  w5 k: j% N$ O+ |+ OB=[-z1(2:end)',ones(n-1,1)];: i7 T0 [& I- I5 u" e& V1 N
    Y=x0(2:end)';" \6 r  ^: ?7 K% I
    abhat=B\Y %估计参数 a,b 的值$ R+ F1 {" r% U0 Y- u8 a! k
    x=dsolve('Dx+a*x=b','x(0)=x0');
    9 l: b7 j& e2 r: x- [x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});4 o5 C- I4 \' ]
    yuce=subs(x,'t',0:14) %计算预测值
    * d: L: R0 V# B+ Mdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测) T5 ^" |( X! C3 L5 b* \
    值之后,或者不使用该语句
    , O1 x# {6 A7 t! A& Hyuce(16)=yuce(15);. N% @9 L, r' S
    x1_all=[x1,9.92,10.71];
    . G6 R7 h- {! Y9 T# s) V7 [epsilon=x1_all-yuce %计算残差, r! \) R, m: x/ O
    delta=abs(epsilon./x1_all) %计算相对误差
    ' B( z4 _4 [/ gdelta_mean=mean(delta) %计算平均相对误差
    ; A$ [" Z* E6 [$ Q9 Zx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    ( ]! h) ]- H' x& `. w$ e: syuce_0=yuce-yuce(1); %数据列的始点零化像# N6 a1 c" {9 d  _0 z' ]( e. k
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));( C  c2 Y. h& Q( a( L0 h
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    1 }3 w) P/ \- ~8 _8 d& ett=yuce_0-x1_all_0;
    9 ~2 U9 H$ F; Y0 cs1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));5 }8 u" N/ j- D3 p9 z5 Y% m8 l: J
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度4 G9 K! G5 S7 f! F8 c- Z% M
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    ; ?& _7 e) O" }; Q
    - |& e" {1 J# e& ~6 Z 4 结语
    6 @2 D2 ?6 |3 V) X0 H* |! D* E7 r道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    5 o5 N+ q% D, T5 n8 G————————————————
    ( D6 B: G8 k. R3 \' R7 [版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。/ U- e7 c" V( f3 b. c0 F
    原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039# z' G8 S; y) q7 A- k

    & g0 U. u: @+ }4 Z6 F! c' T5 C1 s
    # s* a2 R; g! B) h- j0 u4 }# r- V3 i$ M! {6 O! n7 m
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-20 09:01 , Processed in 0.385453 second(s), 51 queries .

    回顶部