QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1775|回复: 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)模型等更适用。( q& F. J5 P, K; m% N* a

    / E3 Z+ X, Y0 G; B3 m3 uVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。/ k, _/ d5 m- Q+ d1 \
    0 o* K# w# k8 w
    1 Verhulst 模型简介
    3 B$ n4 G3 _3 b& gVerhulst 模型的基本原理和计算方法简介图下
    % a! J( q4 x9 H1 A. R# c' |1 f7 @; `7 f4 ?* Z8 O: p2 ~/ H. l+ ~
    7 f( V* O+ \8 y

    # J+ m/ E% f9 B2 ^. I9 k参数列的最小二乘估计$ c" O) W* p2 y: q. r, ^

    " f6 Q, p3 C0 z) b1 T( r, M
    4 T5 O4 {) L! `) |6 E' ^# N/ b
    - [/ _( f8 V* _: E% o! N* x8 s+ J! a9 v2 s- N! R9 i2 ?" ]
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
      B  S( b( m( z0 u0 }# g( C! N# h# Z: O) x

    & X% F) u) O, K8 F- h9 C1 s0 S# e3 P" l1 U, b
    灰色 Verhulst 模型的时间响应序列为
    ) b( u  B" j# s! m  D) K6 o1 R
      i+ o$ s! A% U7 q% q' t$ j
    : i2 p' q/ J5 U2 B& j- S0 W
    - V! |) U; o$ r累减还原式为2 i; a: r7 u* J9 v: Y% v
      L  {7 T# W" C8 U/ Q

    8 }1 Z/ O( W* [
    ! `" w) G# g! q5 c* Y* ?- s2 道路交通事故 Verhulst 预测模型
    ; p9 E: q9 C- \; X/ Z5 @- {  ]' B; T2 H) }  T
    ( m$ w3 @  @$ d( \2 L

    8 O: z( z) L5 v1 j  m' z4 Q1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。* Z9 b6 F6 P: ^8 l% U. c' J

    0 v9 B8 @! q# `- U. n, k, ~5 k% |1 M) P3 ~! C: s" m4 w

    ( i7 D  p/ l, D; w- m
    2 ^1 y- ~2 W* q/ U6 t, m+ R
    ' F9 L! S5 a6 N- ]- s. \, \* x- K6 f5 b  G, v8 R

    ' p& G6 d* U1 q: [- n9 ~& F# k( X
    5 w: p$ I6 u3 _/ a
    (7)模型精度检验。
    / d! d5 I8 Z% U- ?+ [
    * P4 v$ D6 `, J0 g  i. ]一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    9 P# _- O# f" {% I1 n) i
    : v+ _! s7 `, d① 残差合格模型
      p* @) C  c) `! P& ?9 z: T/ ~' V: v7 B9 D! r5 G
    7 I8 n2 h# r5 Q$ q
    8 k" O  ]1 N& l/ X! ^

    $ D( u' V- z" Z" e( S; j# X6 B) o7 H8 i  Z9 ^0 L6 ^
    ② 关联度合格模型
    7 [4 P; _$ k! W0 H# }
    % E* [  l  a- t& V0 R
    % d  d5 h/ S" e" z6 l; h5 s7 [
    2 W# q# c$ k! [: c3 M ③ 均方差比合格模型0 \- F7 o# i% v' M

    : }, w) M$ F3 \( N. ^* M( z
    6 F; W) p/ ?) B8 o- w
    0 u, Z; }& ]1 i2 F④ 小误差概率合格模型
      n' \+ d2 G9 k4 a0 m. y& }. q& X* d& D3 O+ ^/ Z$ `4 ]
    ) B6 q5 ^# i! R% q. M, x! N- T

    ' h6 G' G! s5 _, ~  @由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
    ) R4 r* k) [1 K8 ?* ?. f+ V' s  s! @. |& t1 {/ X/ J
    3 o/ p0 k/ c; [0 O4 _' q! @2 [& L) q6 O

    1 ~* ?0 O2 n$ u# A) f( z由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    $ x) I1 r  y9 {3 }1 Q: T+ h9 V. {! e! f& r& o2 j5 b+ s
    # T$ |: a( u5 U5 c  i. F
    % K& [/ i4 H7 s2 S

      I( z8 U. q- b" ]
    7 Q$ I" S# k/ _( a1 u/ y$ e计算的 MATLAB 程序如下:0 P8 |$ {% K4 D9 K& g

    % W% ?6 ?2 ^# i7 `+ B" v+ I7 n; vclc,clear/ \! ]9 ^. I5 W' Q5 k! I
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35% f" |& Y3 U3 \. Z5 l. s( z0 ~
    9.39 10.59 10.94 10.44];
    ) _7 j2 E& f/ h1 s( V  ^, ]9 P. |n=length(x1);% R1 ?' k2 y7 ~
    nian=1990:2003;0 Y3 a! |$ p/ s7 ~  C
    plot(nian,x1,'o-');2 ^4 v  c9 A4 Z" Z6 h; S6 G3 K7 p6 r; }) l
    x0=diff(x1);. u8 @% r5 D! @$ _
    x0=[x1(1),x0]# B8 C' Z5 q' g4 Y; T6 @- X
    for i=2:n: U: R+ H0 l0 a: t
        z1(i)=0.5*(x1(i)+x1(i-1));
    1 n: C& c% h9 y0 @& f) d& Iend
    ) V# q) |& }2 e! jz14 O+ M8 X2 m& {! P
    B=[-z1(2:end)',z1(2:end)'.^2]( l% C7 ?# Y/ w' \6 _" `
    Y=x0(2:end)'9 _2 @8 a" n" I* U6 Z/ M( X" B3 [
    abhat=B\Y %估计参数 a,b 的值% F' K1 {: M4 Y1 z6 ^: W
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程4 m8 _7 r! N6 G! }
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    - b1 q% C- u+ I3 Ayuce=subs(x,'t',0:14) %计算预测值* ?* j. ~4 o  ~8 F& e7 _
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句9 {  m6 c5 W3 J- C% S: g! q0 j
    yuce(16)=yuce(15);
    * X0 s( M% Z8 n  D7 \x1_all=[x1,9.92,10.71];
    3 L$ M9 b0 }2 C2 d9 Y" jepsilon=x1_all-yuce %计算残差3 r* y- _2 u& w- w: R  d5 Y* N
    delta=abs(epsilon./x1_all) %计算相对误差+ l! g+ A1 }  _6 a
    delta_mean=mean(delta) %计算平均相对误差
    + k: e, }( v; _* f6 F% m, c5 jx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    " U3 l' g! Q$ h+ {6 cyuce_0=yuce-yuce(1); %数据列的始点零化像
    4 J2 d* ]& r) Q, I+ p; d1 is0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));1 e1 {" n, `8 B6 _! m( h  O
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    4 _( v6 q5 d: _$ ?/ g" P5 Gtt=yuce_0-x1_all_0;
    9 [2 E0 f% |- j+ D3 ys1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));  m. g) v2 c, G0 ?3 \5 s! H
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度% V2 c7 q; a' u4 M# D
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    ( s0 u9 _# s! |5 b3 U  f1 X
    $ J. m3 G. r. H3 预测结果比较4 F2 |4 t0 L8 f

    $ m1 `+ F6 A0 J! N
      N4 w# i/ w, w1 A2 a, c* d. M& e9 @2 J' \  Y9 `9 }
    3 X" [  Y6 G( \5 C, E  O3 s) r
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:& J* V  s# M3 [+ M# t$ g
    , W5 h: H5 `0 a, W0 r( F% n$ |
    clc,clear! f1 K! Q0 G9 u7 l5 J0 `( B
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35( s  h/ G+ J9 O) z1 l# n
    9.39 10.59 10.94 10.44];
    4 @& a  C8 X) d8 P- sn=length(x1);
    ) t6 [1 @: d: l* J' r/ ax0=diff(x1);+ J$ N8 o0 V" Y' g
    x0=[x1(1),x0]# C6 |8 M  T- d2 @
    for i=2:n0 a! T3 X. @3 E* f) A
        z1(i)=0.5*(x1(i)+x1(i-1));
    ' R9 n) `0 N" _% x0 vend
    + N5 L) |0 F0 T& T! hB=[-z1(2:end)',ones(n-1,1)];$ G. G6 x6 `6 O9 H6 a
    Y=x0(2:end)';% A* U7 X$ O" v9 V; ~
    abhat=B\Y %估计参数 a,b 的值
    " e* F, z, \! Q3 B8 ^x=dsolve('Dx+a*x=b','x(0)=x0');) t: C% k" x9 `1 C6 P
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});4 Y& ?& m% c- W& k; D
    yuce=subs(x,'t',0:14) %计算预测值
    - D/ r3 ]5 Q& w7 K; }) S1 E: Ydigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    ) i; Q* U0 g) y1 q: i" h. j8 V7 Z值之后,或者不使用该语句+ D& b1 Q- t; \  L, p6 b
    yuce(16)=yuce(15);
    % g. G* Q' [8 K4 Ax1_all=[x1,9.92,10.71];
    * m+ F0 I; p* L+ ]% K( @) Pepsilon=x1_all-yuce %计算残差
    4 n+ g/ R4 D( ?! Jdelta=abs(epsilon./x1_all) %计算相对误差) z( v* m+ Z- n6 k& Y% M0 \3 m$ a
    delta_mean=mean(delta) %计算平均相对误差
    & a/ |9 \0 [& \7 fx1_all_0=x1_all-x1_all(1); %数据列的始点零化像; H  A  o/ ]1 X- @9 T% l3 X
    yuce_0=yuce-yuce(1); %数据列的始点零化像& u2 D- _7 ~9 h+ j
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));: `2 w7 Q# L& K( a4 Y
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));( N" M8 B' z8 C! x) ^' E4 K
    tt=yuce_0-x1_all_0;
    5 {3 T* G9 h& Q. ?' Z+ k7 N. K/ N, Ss1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    ) D" ]0 T5 O( o6 T4 \. mabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    ! a) ]! L& ^9 r& W# c9 Y9 Mc=std(epsilon,1)/std(x1_all,1) %计算标准差比值8 D1 k# F" t  t5 w$ D: ^

    & n( Y9 |: Y" P: P. {1 l 4 结语8 F& C2 M  z3 L# b: h1 E. m# F
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    1 [) j5 Y2 |# ?  z9 l/ W2 R+ t+ I* S————————————————
    . d: C: X$ V$ Z8 E) x+ T. T/ b  |" |版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。5 H# k3 y% |' s
    原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    3 T3 y) i. y. Y& x  n" l
    . `! B( Z+ I( ~% v% r! s
    ( k: o" m" |, Y! [+ E  z( _" u/ y( a4 V! [) f, H
    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, 2024-5-12 19:41 , Processed in 0.343648 second(s), 50 queries .

    回顶部