QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2953|回复: 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)模型等更适用。
    " ^; @3 E- e. L: T. F- f3 t% U+ i: O1 }: D8 ~
    Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
    ! q2 [" e2 ]9 h( z4 v# H- g6 o% k, n2 p+ c: Y& h
    1 Verhulst 模型简介- A: y3 p3 h- n8 m/ K; E. d
    Verhulst 模型的基本原理和计算方法简介图下
    - W8 l7 o1 g2 V- A
    . O8 q& \# H% _8 D9 D3 p* W, t% \6 Z( ?
    ; `" t* p+ G6 q# D2 d6 |/ m/ t
    参数列的最小二乘估计; G/ ^+ X  x& ]' O* w* @/ p" ]
    0 X$ u7 R0 ~$ z( L

    2 ]- y/ D& [# }, _9 x  Z5 c* [( C# b5 F/ q% s: T

    8 i2 ?" u: S/ r6 V- k 定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    ' o/ d% z6 Y( m" b
    5 `* p2 _4 f, M5 T  i1 F8 u& C& v) k7 W
    ( p  `% {3 }# F8 e0 C3 Z/ {7 u
    灰色 Verhulst 模型的时间响应序列为
    : _5 |2 }2 a9 y$ e/ x
    " ^8 ~* H* _, S) O( w5 O$ X
    8 k+ j/ [" W3 m5 ^" d- |
    - k( S. k. O2 w累减还原式为$ z4 \8 l9 @- P% m, |& s

    - x5 ^" a9 a- V5 X+ N" z5 q3 B
    & D& D2 [! w4 s* B- o8 G7 _, g8 p
    7 e9 [5 E1 l  u9 I2 道路交通事故 Verhulst 预测模型& G% g# Y8 t' @. B$ Q

    6 u$ C7 n- b; a! _9 c! B# ]  |2 r7 [) f$ C/ R) u

    2 n; [0 T0 u; N  D2 W* \& j1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。! D1 e% v8 y  v* s# \% I% _

    # ?0 F3 R' ~: v& r
    6 M4 A) T+ J+ E3 i1 S2 @
    - a* @& H0 O: I( r! W( c) w
    ; r5 j1 w: A: h: x$ _) X
      w) p" d6 }1 T
    ! @( X" [- [# I" k6 X7 v  k" B7 h  u% Q4 {$ _
    , ~6 v, N% V( Q( n5 ]1 s' ]
    0 F: A" U( B5 u6 t( |- x( O5 F
    (7)模型精度检验。* f$ b9 j: |* V, w! {4 B  ?

    0 P  a& i0 P. g/ S一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。& O* u. c( q% \, i( H
    ' E* j; f) V5 k# \
    ① 残差合格模型
    : x/ ]8 V5 |. x3 g3 |( p3 Y5 y3 W- m# p4 T" O/ ^$ i" r4 R

    ) m( }" @& P6 q. P+ n/ s5 A9 ]0 `- r
    : X! y! d4 u8 X
    % f* @- {* g# y8 h8 A% N3 D
    ② 关联度合格模型- E4 M/ g8 ?: y. U( r/ V9 S
    0 s6 {5 ^9 ?, ]" p/ b

    % n+ ]* _* f3 [) _1 Y. m  X5 i$ {- l  u6 Z
    ③ 均方差比合格模型
    : k' k# A. H. Q& \% G$ u* T! K/ N1 W: l; l  Q

    0 J. i3 C, ]: O' L8 R) V% `1 y" F' _/ f; V& _& W+ v; g
    ④ 小误差概率合格模型/ H+ ~9 V/ c: S9 v. Z9 o8 H# G
    - d3 ~# ^$ g: `
    3 \& F) T* @/ ~1 Z6 v/ t

    5 ?% ~  f" G2 s9 G! c由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
    % E7 I  d1 Y& t  _# K# b9 K8 _# Z
    + n. G+ x* L( f0 h
    ! d3 P6 s; d/ q  _) h( a
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    % l/ w2 k' D3 j
    & y6 p, ~; @' D! e& m
    : _  u  W+ q- x7 M$ x. u, ~- x0 y+ {0 z4 `+ Q

    7 q  c" q3 q$ q- x- w% N8 _
    0 S3 V) n8 k" {  Q计算的 MATLAB 程序如下:1 h4 q/ O: T6 \3 d% _
    , R& _, p3 v) x' Z3 [5 U
    clc,clear& w) s- P- W: O& O
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.355 R& E2 u% _7 k- I7 |
    9.39 10.59 10.94 10.44];
    % P' x; d7 l) k, Hn=length(x1);9 K) @. c. P3 Y( b( V0 ]6 F0 K
    nian=1990:2003;
      K# U7 Y0 }- n! D: p: E" Fplot(nian,x1,'o-');7 X2 _4 ?5 J9 t4 s6 [
    x0=diff(x1);. b4 r9 W4 @/ D+ ]" g9 k5 A& a
    x0=[x1(1),x0]
    , P0 A  e! r& q0 ?for i=2:n
    - |$ f5 D! F1 y6 [4 ^    z1(i)=0.5*(x1(i)+x1(i-1));  \7 s3 {) h6 ]6 l# D9 H& }
    end
    5 M' c/ B; f- uz1* R% Z4 C0 c& l) i7 \3 J: v! I. n. @
    B=[-z1(2:end)',z1(2:end)'.^2]+ d7 n5 l& V3 J, r- x' A
    Y=x0(2:end)'1 m- U# m: K( c# ?6 K' n
    abhat=B\Y %估计参数 a,b 的值
    8 j, v1 o) J, }% |x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程8 {' U1 W, L0 q; d4 y
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值% L; z# |' p  s0 O
    yuce=subs(x,'t',0:14) %计算预测值
    6 `5 ~7 N6 j9 @5 pdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句5 @% v; _0 J! e! C6 K1 T: i: ~
    yuce(16)=yuce(15);& F$ i! u' a, c+ V! _
    x1_all=[x1,9.92,10.71];( i. S7 ~. Q7 ^
    epsilon=x1_all-yuce %计算残差
    ) P4 H8 N8 F+ X! ^. x/ t9 Hdelta=abs(epsilon./x1_all) %计算相对误差5 }. a% t4 z' @; a3 M
    delta_mean=mean(delta) %计算平均相对误差  G5 j) d6 B( v
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像, h; v0 p5 h& ]. [% M4 ^
    yuce_0=yuce-yuce(1); %数据列的始点零化像
    / x' m- y# F9 A+ j. P7 I" v# e# ss0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    - I5 |8 m9 y: Is1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));$ L$ p+ K2 f# O5 u2 `
    tt=yuce_0-x1_all_0;
    8 A0 S, O3 X8 t6 Y+ i7 |) B) P& Is1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    - _4 x4 ^* e5 z3 i& B$ o/ kabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度" M' ^( f# p- ~  M+ ~
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值) N8 ]. A) B; [
    , p. s& Y; P) H+ H! X) z
    3 预测结果比较
    & n! p7 k2 ^0 e, T+ x/ }
      ~# g# x6 L  g( C1 d/ C1 ]! _( {. X8 L& a$ h
    / U  o( f  Y# }6 o

    ! p1 D6 v. W" a, p7 q" H7 x比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:* n$ v: X# m) N

    ' [8 {) X, u4 H, C5 w$ r* z+ Kclc,clear5 J/ M  q# A& O
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
      o8 D  r# [& m. w, \; J! K/ d9 Q9.39 10.59 10.94 10.44];
    ' a7 K0 O' Z4 ~+ w5 rn=length(x1);
    + V; U- B3 K" |; S1 J# jx0=diff(x1);# `/ c# e* @& T3 B5 H. G* i' k
    x0=[x1(1),x0], Z) F' A4 R8 R5 j5 K, p4 K  @
    for i=2:n
      V* `  A2 ~7 {* |    z1(i)=0.5*(x1(i)+x1(i-1));
    ! A2 U8 ]$ }# X2 z1 \3 eend+ P, ^0 ^0 j* Y7 K
    B=[-z1(2:end)',ones(n-1,1)];, W7 T: r- L! W/ f% N
    Y=x0(2:end)';
    * k2 e4 d. L+ ~abhat=B\Y %估计参数 a,b 的值
    + q$ t  v3 I, j  v" Zx=dsolve('Dx+a*x=b','x(0)=x0');
    4 r0 i' X* G1 K, ?/ Yx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});- S: ~7 X! d2 _
    yuce=subs(x,'t',0:14) %计算预测值
    " K1 ]" J' l1 i% \6 zdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    * \! A/ _, A0 F; {( V值之后,或者不使用该语句$ T3 t7 E- c; c* H: h( z7 B5 j
    yuce(16)=yuce(15);# |! Q7 M3 F: H0 h5 H- P1 U1 v/ g
    x1_all=[x1,9.92,10.71];# p+ b& U3 W" a1 {. y5 m5 H
    epsilon=x1_all-yuce %计算残差& @1 A& n6 j9 S- {% P* g$ w% P0 }/ \3 ?
    delta=abs(epsilon./x1_all) %计算相对误差4 n7 e' v& H& n
    delta_mean=mean(delta) %计算平均相对误差
    / ]- @5 w( }" @1 w* C6 Kx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    ' {7 K& H0 r* v0 d5 |( Vyuce_0=yuce-yuce(1); %数据列的始点零化像
    6 p2 }% h5 X  R' w7 ms0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));: Q+ o* h4 H; a
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    9 A0 i4 Y3 z9 e* D( m0 Ott=yuce_0-x1_all_0;0 i$ c. H. z6 s1 ]+ q. j. _
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));" m# P1 {1 n4 H0 }
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度) s& b9 [4 N' i5 u. I4 U* T0 V
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    " R( b# \5 ]' p8 A. J
    3 T2 d& h% z. n) J# ^8 s7 Q 4 结语1 z* R, L+ |2 {2 I& ]
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。9 C5 h; y: u( z9 J
    ————————————————
    & Q2 @! D  D8 k) J& m. B版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。5 C$ x) G" K" J+ J" S8 y
    原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    ( p0 I+ |$ r* b) _: H1 d$ ^/ M) X; V) H/ b* C/ c3 m9 E: y( d* V% N7 g

    5 r- p, e3 {. i# l: X" g8 c* y; j9 H- U9 h0 z) X/ l% Y# U
    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-6-11 21:20 , Processed in 0.409448 second(s), 51 queries .

    回顶部