QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2988|回复: 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)模型等更适用。
    ' K* x' s& L& k) E% q8 @' I/ [2 X& k: v: D8 R
    Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
    5 |& i. w8 l% l  Y  e8 \7 ]
    7 b# O3 y5 D% s1 Verhulst 模型简介4 u% M* T5 f' j
    Verhulst 模型的基本原理和计算方法简介图下5 Y9 q$ O: i$ N5 A& _: G$ w6 w

    ! E; s0 ?- x% }2 m6 O" B1 V9 H0 A+ |# D" p( W

    6 H: t5 P/ A& J  ]& U参数列的最小二乘估计
    + q# N/ G8 ]; G
    & ~6 T% P: F7 P4 T! k
    0 z0 p( X- S/ H0 ?9 ~, Q3 Q5 Y
    % e5 ~) I' D+ ^  U
    * f! ]1 ]' u3 C& \7 C: K4 a0 D 定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为' ^. f- b7 P0 t  V" M' o

    . }1 n6 Q4 }) ~9 ^' t/ J9 S) P% [! @; C& U+ b5 m

    - }. G# o1 u* l灰色 Verhulst 模型的时间响应序列为
    9 I' H. J$ g% ~  ]! f4 V2 y0 |0 p! y( r9 q) K

    - K$ k! h$ P2 U8 m( u
    7 q: I8 l) F: x. N累减还原式为
    0 k# D# `" @. l5 z
    9 ~  e9 s$ x+ R0 S/ u; `3 k7 {1 y! S5 B6 |! V% f
    & Q  ]$ i* R" z
    2 道路交通事故 Verhulst 预测模型7 L7 l, ^- {' U1 \- O( R

    ) q1 j( r. W4 T* r, T  _
    ) O& M; ?" P" |, I/ l4 \0 f6 O1 J3 B5 r
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
    % q) _$ n" T* ?; l# w/ s  `8 t
    4 a& n, }: B+ K! G- i0 q: [& f* {  j0 N; S' |5 p
    % n- @! B% ?7 U- G& j4 `

    % y1 I8 {/ v7 R2 f: f* n8 E3 N7 w. ]+ f

    ; s1 O8 @8 o( U& I. [" @! [) X5 V4 V6 F# ~" G' J
    + i# R- y5 v* u* V5 ?* r) [7 U; I
    ( x# ]2 f" ?; s% l. }2 G
    (7)模型精度检验。& J0 ], D& A& c8 {' r
    + N  N, ^1 h4 f3 I
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    : g( y# [* C) O
    5 o3 B2 C) r2 [& F5 W3 \8 {* e① 残差合格模型9 M# F8 H2 z/ K& a

    5 V' [* y9 T' l+ M2 \( J% I' k! c' [

    " z2 O" Y6 X9 T- }! F3 v% ?
    ( v1 j  t/ Q5 o" Q9 b" M7 R
    ( a- U9 l+ W: ^/ G5 I: ?' X② 关联度合格模型" N/ q+ K( ]: `

    3 q" L8 q; C, e4 U* k- n0 P% [% y2 r. E$ M

    3 H8 @+ P$ H1 A; N) S0 w5 C; U0 A# ` ③ 均方差比合格模型
    6 P3 R( Y2 w/ B* G/ z
    4 C. g% C0 ~8 ~5 t+ S, b& r) G7 d1 Y

    5 L6 Y5 x) j2 Y* @4 L/ n" K- g④ 小误差概率合格模型
    ) L) o2 {$ F+ j; F: l3 W0 b' s7 ^, ^( h- @  I0 o% T

    . _! F4 s2 w& V& K5 ~: j, z* Q, t) t/ t
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。1 b. Q9 m: G" T6 n

    3 x& ?6 w/ U3 A) ?! X& H8 C
    $ ^7 y! b0 q6 J3 S" R2 ?5 @8 }# }6 o3 m& G' v: S7 U
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。; t2 k( ?0 g# c0 L1 S) q

    " r. y3 x/ C" D
    0 a+ Q5 r* b& W8 L4 u' n0 ~( H5 p/ v/ z: {: J' M/ G$ E. S' x9 g
    " _2 j0 x7 s) j6 a" D( \  L

    & Z% O& y$ q6 W! p2 I0 |计算的 MATLAB 程序如下:# L1 H6 n+ H7 W$ }# e# s
    + ~9 S; ^/ `' A2 x# Q7 Y
    clc,clear
    4 Y/ ?( S' r/ v4 }- j9 k2 I$ hx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    : r" K( E' f0 ^( c9.39 10.59 10.94 10.44];
    6 A, d7 f* k9 [, j  x, o1 Ln=length(x1);
    3 l" m1 ^- b  d  |9 jnian=1990:2003;2 {7 Y! O: ^& L0 R  R# |* R
    plot(nian,x1,'o-');
    ! B' Z6 e& \$ d1 T0 ]x0=diff(x1);
    0 s0 ~! v, o3 D7 x7 Sx0=[x1(1),x0]$ @4 k4 }% f5 O* }$ s
    for i=2:n
    , T" M/ H* _) h+ g7 H( z    z1(i)=0.5*(x1(i)+x1(i-1));/ }/ f4 W2 Q: p2 E. L0 h- g' m$ i0 p
    end! E# E: c( N8 K) ?& Z$ g5 b6 P
    z1
    ' _! Z! A3 z, J. f$ [& m) cB=[-z1(2:end)',z1(2:end)'.^2]% R3 I  S; u4 Y+ k
    Y=x0(2:end)': v2 g# W. Z. S9 m7 W( h
    abhat=B\Y %估计参数 a,b 的值7 G# w# p" d$ B% |
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    ( j" g) `3 r% Ox=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    $ }! U0 x+ v- i6 a4 [( }& X0 zyuce=subs(x,'t',0:14) %计算预测值8 N; M) M# O. t0 Q: y
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    9 w- S6 Y: p+ h4 z! ]yuce(16)=yuce(15);
    # e0 \" b5 W6 y. _4 mx1_all=[x1,9.92,10.71];0 p! I7 o4 |8 W5 v/ V# {* I
    epsilon=x1_all-yuce %计算残差5 U1 o& E  h4 \
    delta=abs(epsilon./x1_all) %计算相对误差
    : W, o6 U2 f5 Z$ n/ E# _4 A& v1 Qdelta_mean=mean(delta) %计算平均相对误差
    / ^9 P* e, A5 X  @) Ux1_all_0=x1_all-x1_all(1); %数据列的始点零化像! b' M# g8 R% i- t
    yuce_0=yuce-yuce(1); %数据列的始点零化像0 a! y& A2 o' S- C# o! w
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));) o3 d7 w; A0 E- f
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));" F) j; H' G/ r# k
    tt=yuce_0-x1_all_0;  |8 C8 D& l9 o, [
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    ! d6 W9 W8 d4 l% e0 a& Zabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度  n6 Q8 \' q8 P7 }$ q6 ?6 v" u
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值2 ?/ M# q6 G; r8 R. [: B& U

    ' W9 F, W/ P9 W3 U/ z# q+ m# z" y* i/ x3 预测结果比较+ A0 N. H8 U( R6 \- |2 _2 S3 F& D2 k
    ( o: l* A: h* J( W

    6 v: W- B1 V' H6 W/ F: d/ a% Q/ `2 ^

    ; @* Z' f8 ~# O0 w( A3 U4 D, S. w- e比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:: w% o) q% C4 @. i+ I% c

    2 g/ N4 X% |2 m% Pclc,clear
    0 D" ~; T( o, p* |* F! B0 ?! V1 P5 Vx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.356 `; l8 J" \4 U+ t" z/ c  b+ \
    9.39 10.59 10.94 10.44];
    6 t' r8 o8 l% yn=length(x1);
    + A% @; I& R/ y; f8 m$ u, G" c8 f7 ^9 Jx0=diff(x1);
    & B2 b. w( X  @6 J' |& o% Fx0=[x1(1),x0]
    2 P7 N, t+ m% n+ l# J( U3 Qfor i=2:n* ?  \- _/ z" V% f
        z1(i)=0.5*(x1(i)+x1(i-1));
    7 L: Y1 o* C3 J9 ]end0 l, v1 b6 t5 t4 z
    B=[-z1(2:end)',ones(n-1,1)];' ~9 g, U4 |5 v: A2 a
    Y=x0(2:end)';" C% F% X# q  ~+ T
    abhat=B\Y %估计参数 a,b 的值9 [6 \0 H2 e* h; J9 e
    x=dsolve('Dx+a*x=b','x(0)=x0');8 P2 L0 W1 g) ^4 M$ N
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
    $ G% g# |, j) syuce=subs(x,'t',0:14) %计算预测值
    9 u; S( c9 r6 z0 `digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    + E- I# Z5 X$ Y% z4 p3 z值之后,或者不使用该语句
    $ \5 M9 s( X: ^. F- b% O7 lyuce(16)=yuce(15);
    8 s" ]& k) s( K/ gx1_all=[x1,9.92,10.71];0 o8 O! c0 _2 C* C) Y7 C3 m) V
    epsilon=x1_all-yuce %计算残差& o3 n8 I2 H% S/ d0 z
    delta=abs(epsilon./x1_all) %计算相对误差, R( M& D! K+ h% b
    delta_mean=mean(delta) %计算平均相对误差
    ( F: \! _. b/ l$ {' W5 Z6 ox1_all_0=x1_all-x1_all(1); %数据列的始点零化像9 m2 f' w) _2 i  l, e7 a$ J
    yuce_0=yuce-yuce(1); %数据列的始点零化像
      l6 p. d& a' X2 Y! e1 Ps0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    5 L9 ^& P/ h$ F$ G( Us1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    6 C1 e: |( ~$ g0 itt=yuce_0-x1_all_0;
    1 U+ U" V! O; N  B' ]s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    " N9 m8 U; ]3 R; ~absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    $ o" H7 F# E, w6 r% _4 Lc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    4 u1 S9 t7 r7 u2 [9 z. ?+ [1 }. X+ ?% _& N* y" S  L
    4 结语
    9 W8 ^' O+ s$ C9 U道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。' Q+ q4 ]0 |4 t, P2 z
    ————————————————4 m: T  J! r+ M1 m0 j8 o' C1 v
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ! L3 r; J, D( W. O0 C: C原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    $ W' N5 k5 e: c( ?& l- ^
    " |0 g7 {" D2 F3 k! N" \2 M: o% v+ Z2 Q

    , `9 m+ \; `/ d1 r# e/ ?) i
    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 23:05 , Processed in 2.313939 second(s), 50 queries .

    回顶部