QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2989|回复: 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)模型等更适用。
    5 K. ?; ^7 p8 H/ @! R; e  Z/ r  w; Q$ n
    5 N. h# z) W. K. x$ \Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。, R% m* `2 [2 ^3 R1 r6 y4 h

    1 F) O& K! ^4 {" K% S1 Verhulst 模型简介
    : e3 }1 {: l" l+ M2 Y( r9 s' [Verhulst 模型的基本原理和计算方法简介图下
    6 U" O# V5 `  {7 q  A8 ?- K
    * P0 R$ F( P( m5 `1 s) R, u; X8 s0 v; ~" `
    ! q9 n% ]0 _* G+ P- C! k
    参数列的最小二乘估计
    6 ?/ V4 N' l: ^, V3 u3 D7 w3 H& @9 }6 R$ d: ^. T5 d

    ; e& j2 T8 Q* V9 g, r# T! U8 L+ _- X
    6 l+ B. u9 _* W: ]9 {7 g/ k/ Y; |
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    : u# C, m& }& e) L4 Y
    . m" E5 K0 D: r  }! q: E& _3 O, X" X3 D# N. \$ }  R

    ' Y" }& t4 K7 ^6 L1 r& y灰色 Verhulst 模型的时间响应序列为; L9 p) D9 \7 `5 o! c

    , w' [9 h9 |6 Y8 ~' g1 ?* ]% k2 _, V4 x

    - b  J! ?8 o8 x! S7 o; B; ?: ^' j; g累减还原式为$ m, x) p, {/ R6 R, |( [4 j

    ' d  g* r0 ?& x: }# S* j/ l% C7 a
    / J: ^8 u7 m& x7 l; o+ ]& U- j8 h* s7 w( b7 V1 w! K2 Q
    2 道路交通事故 Verhulst 预测模型
    9 [* s0 u$ [+ x) y8 f9 z; f
    # x/ W" p1 n4 H/ F
    + `2 N: \! t; q: K5 q1 d- j( D; S6 Y- d, M" i' ^$ `$ R
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
    ( X- |/ R9 @  [+ j; b. D6 W- Y4 _/ Y# d, v
    7 Z: b* f7 O( m6 d1 {( Z

    % {- d6 E# b9 ~4 d
    # O1 N* d8 b) {# L. q+ [& t5 U9 J, t4 ]+ T1 _
    ' S* p9 Z& {, L( P9 q

    ) `; b# C6 T+ U7 {4 }8 R9 |. Q
    & y2 e2 w4 S& y0 e) y& {+ m% y: T# S) C$ @7 ]' h) I* k
    (7)模型精度检验。
    % a" x6 T  \1 n/ ~: ^
    4 Q9 I' n) I/ i' J% M. I) F一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    - @, o2 j. \9 d6 }- g# A
    + v; D  y& J4 \7 _① 残差合格模型
    7 q  d1 D5 G3 B* ]7 x2 A# }4 b/ X. J. M% s2 I1 o1 L# h

    9 [; y4 E* J: w  r3 E. P
    5 `+ q. y; V) ?/ z
    5 z3 ?" T: M" }, h0 F9 X7 d: ^% r8 E. q! Z6 z7 [1 q
    ② 关联度合格模型
    6 Q0 z9 e1 h. m0 t* X" l) b; A& c1 E0 |1 u$ V

    5 z8 x" U! c6 R5 j4 ]* U/ |+ J8 C# _) _) m* u1 \) v, y
    ③ 均方差比合格模型
    : I  K; W3 A; n8 H
    1 G1 z, I1 n* P" I& u1 _/ ^8 h  U3 G+ Z! |

    ! f/ Q& U3 Q0 |' I( ]2 \④ 小误差概率合格模型7 U& @8 J1 o0 b1 Y

    7 A. i* ~5 `% |0 q9 k0 ~. F1 D1 D% r6 m- f- s
    , g- ]- I/ G8 O( D! O* ^
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。& R, F" C$ ^$ Q" E6 ?. U: ?: c! J
    ( Y# d9 V' e% F
    " p9 U" U. F% h( M, o9 F
    3 j0 n: S, B. F1 l
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    $ t3 ]  a8 ~. w* U! ?; P6 Q
    $ }# |6 o( _  K+ T9 i: R0 O3 k) @+ H, h7 |0 o& R0 S$ j
    ! e$ Z: S/ f# H" |0 t8 l6 O8 w% F

    9 U' e+ _- U8 e1 M) P6 t, c+ k7 V5 q* ]! ?# F% r. A
    计算的 MATLAB 程序如下:& w/ C! {! y+ ]! W- g  F

    ( ^# \. n. D" x$ ]- jclc,clear
    6 R; D, ^/ Q* ^/ H+ Ox1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35$ j; l# E: N  `9 x
    9.39 10.59 10.94 10.44];, V* o8 s$ Y) K5 _6 @
    n=length(x1);
    * m+ t% N+ S0 N4 R4 F1 E7 Tnian=1990:2003;3 b' f6 Z1 s) J
    plot(nian,x1,'o-');& m5 I6 T2 s: w) b
    x0=diff(x1);# K+ O' N9 J2 A2 e8 o! K
    x0=[x1(1),x0]+ N$ g1 h) ]0 }) j( T
    for i=2:n
    $ _- d  }( \! L# A    z1(i)=0.5*(x1(i)+x1(i-1));
    / G8 n$ Y3 V+ Dend
    2 P$ a4 O# |2 I9 E% @& xz1' S% k( k; r& r' Q0 I# S
    B=[-z1(2:end)',z1(2:end)'.^2]
    ( T# g& {& r. L4 Z6 q1 p0 RY=x0(2:end)'# d+ M  T% v- \. p1 \( `( A* L
    abhat=B\Y %估计参数 a,b 的值6 l0 p+ Q) {3 k# d" q3 F
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    4 ]/ V- m4 l1 Y% p+ d0 nx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值( T& U% R8 F( Z9 T
    yuce=subs(x,'t',0:14) %计算预测值4 r% E% t' K, Q0 h
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    9 I! Z% t& w$ G8 @( xyuce(16)=yuce(15);
    , i, k( t( z7 S( M1 C, ax1_all=[x1,9.92,10.71];1 V4 |3 d. M3 J/ d* O4 v" s
    epsilon=x1_all-yuce %计算残差7 a4 r* x. r$ y5 k+ z' g" n
    delta=abs(epsilon./x1_all) %计算相对误差
    4 U" R1 z! |) i( Z- Udelta_mean=mean(delta) %计算平均相对误差
    ) `; T4 k7 n1 lx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    / D: m! o" L# g5 G8 S9 v' T, oyuce_0=yuce-yuce(1); %数据列的始点零化像
    & }: o. q+ o$ U( P  J4 bs0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));; D3 ^  g6 e3 B# D
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    5 C+ Y( i% z3 R( }tt=yuce_0-x1_all_0;
    . j5 e- y8 v+ m! S; T! {% Ss1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));; I1 q, Z* _) B( f0 P$ [$ h
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度9 }3 O: U6 G" K
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值% [8 ?/ m( G9 x5 a/ L

    " [6 \; n0 u6 R9 N5 o( d3 预测结果比较
    9 i3 Y  a5 S" N3 W/ M* X. q) Z( |6 ?7 ]; V0 I

    ' b$ N( C* X, ^- N1 U4 b! ^: c: ^7 e" h

    , Q+ X" n( h9 f" F, K比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
    8 r9 |+ w$ c; C
    % R' l! A: `$ P5 ?clc,clear
    3 n% A& Z% A  Y2 Wx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    ' i' ^8 d8 W8 e2 m0 w) x6 V9.39 10.59 10.94 10.44];
      W. a( l# `8 ^) Sn=length(x1);
    - f9 a# u6 {- Q  C% `, Ax0=diff(x1);  M& x* k9 G9 W6 q1 K
    x0=[x1(1),x0]  x# x5 K+ E& S5 G9 M  B  e+ L/ n8 V
    for i=2:n3 W* C9 Z; l9 ~" P/ R
        z1(i)=0.5*(x1(i)+x1(i-1));
    9 \1 _7 u" z! y2 ?7 C+ }end& b# H8 N# h3 Y; n7 l' G$ W
    B=[-z1(2:end)',ones(n-1,1)];
    & ]9 J# Z; }5 ~, r+ zY=x0(2:end)';: d* ]/ I% R. o4 W0 U" l5 a
    abhat=B\Y %估计参数 a,b 的值
    ; b0 i" l5 y' d% a3 v# V7 ix=dsolve('Dx+a*x=b','x(0)=x0');6 m5 U" @' v& r
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});3 m: @% H5 k/ g1 I" ~) g/ K/ G
    yuce=subs(x,'t',0:14) %计算预测值4 P  P) Z# C, u! p  w
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    8 l: z) t& Y9 _1 W" x5 n3 M! x值之后,或者不使用该语句- U$ v9 `, h3 |3 r; c
    yuce(16)=yuce(15);/ _" Q- h/ w- Q# u4 Z- G4 o7 ^8 L
    x1_all=[x1,9.92,10.71];' F9 ]$ q3 y' z" w7 M1 [7 F
    epsilon=x1_all-yuce %计算残差' A. [: g6 V" x0 H! Z% H
    delta=abs(epsilon./x1_all) %计算相对误差) |# N8 q2 c' ?
    delta_mean=mean(delta) %计算平均相对误差
    - x# O0 l+ J0 G" ix1_all_0=x1_all-x1_all(1); %数据列的始点零化像: P. _. x5 i% u3 G
    yuce_0=yuce-yuce(1); %数据列的始点零化像
    ) s0 u7 s" E6 ps0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    - ?* b9 T5 W; a* N, n" G3 vs1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    0 M) A* h* j/ n4 T+ Att=yuce_0-x1_all_0;( S% n2 C) U9 y$ n- y
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    6 |9 E: l0 x/ P# D* ^absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    8 E) G6 n" z0 E- a: w2 n. ^! L2 Oc=std(epsilon,1)/std(x1_all,1) %计算标准差比值0 E( c9 `( K' K1 S3 P

    0 Z. h' `3 D& q7 i+ T$ C: o4 c7 M8 _ 4 结语
    5 }5 f7 o" |1 P9 _" C5 I: O# {. j道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。+ X. H% I8 t# Y5 S
    ————————————————
    : K4 \* d# j  I3 o8 v1 i! K版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。8 \8 P5 G# A: P" @* v
    原文链接:https://blog.csdn.net/qq_29831163/article/details/897150393 a* z- |9 N) `$ k& ~/ l

    : P6 E; Z1 ^& C$ R* ~
    4 h6 v" g' P% K8 Z' p* u& b3 I( f! P- Y: \
    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-30 02:37 , Processed in 0.281377 second(s), 51 queries .

    回顶部