QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2987|回复: 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)模型等更适用。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
    转播转播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-7-28 22:31 , Processed in 0.495440 second(s), 51 queries .

    回顶部