QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3014|回复: 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)模型等更适用。$ x; i' C; ], W- }

      ~6 d; v* w# _: P( E4 fVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。7 ?9 p1 a7 y& g5 x  z4 ?6 T
    8 v/ ?7 V4 J# m& Z4 q/ |, v4 q
    1 Verhulst 模型简介2 a6 s5 {6 @' g) q+ J
    Verhulst 模型的基本原理和计算方法简介图下) s1 v2 P( ]+ _

    0 E+ z1 }9 w$ _! a
    / e% ~& l0 u  V# b
    7 t; D* o; f. A$ u6 U7 L/ ]参数列的最小二乘估计! B: e6 M, P- `1 i$ ]  D# H

    # J5 _# U+ L3 m* M% c/ r3 p6 x" l4 I  n# }& i. {( Z8 j% o
    # N+ W7 {6 ~* d. Z! G) G

    * X# p: L8 w% h( ^2 d. z, K 定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    3 s7 S, v: `; V% U( Q  w/ X
    + y7 Y4 u4 Z4 g4 S8 i2 ?) y. n' x5 g3 L. n, k" V

    ( \5 T6 o, f2 ^- X灰色 Verhulst 模型的时间响应序列为
    3 N$ {( J7 a: F9 x; R- M3 l- w2 j  X& i) @: Y

    - z3 U. F/ u2 _, s4 r+ c
    / Q) A, r; m) x4 J; k, k% `累减还原式为
    & \, ~7 t: s- A4 F. G
    3 o4 l/ {* w. N2 r  F# m9 @6 T! }$ ?- |- U( Q0 @6 t7 q

    - L4 A' u1 V& h$ k$ F' S3 J2 道路交通事故 Verhulst 预测模型
    * _! D/ S6 [. v4 T, O
    8 o/ \: {( [9 G: u1 G$ _( m
    : z( e* j3 R- k3 b( v& o8 C2 Q- ~% U3 X- }$ K3 c
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
    ( w6 N. s7 `3 [8 M2 x! g4 g8 a% n: `* [. a
    ( }3 `  ^* C; ?

    8 Y$ |* ]* ?, M; h3 y: _; J! e( K# g1 y

    / z% V- U  i. ?# z: o- e+ z" A
    + m- t# E' I2 F/ c6 e0 |; N. J, B( S1 ^) r
    , }5 a* W  G6 j* _6 I0 y: o

    ! q5 N9 z# `1 G+ O8 ~(7)模型精度检验。" O  {) x, A1 T- ^7 B
    9 h3 g- \# w3 Z
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    $ N  {$ \& a3 w' M, a2 f$ N  @
    ) S; L9 i$ ]5 a+ _. t$ ~① 残差合格模型
    & F7 Q0 A0 j) v, m" O
    ' N, X0 X" F3 G8 n- D4 D  S0 ]/ e
    : ~/ o9 @3 D/ L$ N) i# W2 x/ h0 L' H* c+ _1 E; Y. {7 y, g# n
    9 W" X4 o- y- o! \+ e
    " A" P0 q, F7 U! S7 X) B
    ② 关联度合格模型1 e$ `2 R# c' u* r3 k5 {; j
      C' I5 I4 _+ n+ J  {. V4 r
    . _/ e. N  Q, s$ R, S

    ( y( i/ Q6 x5 Y* V) }+ Z* m2 e# B8 a ③ 均方差比合格模型" u, N' M/ R( e- }
    & K9 z- S& H9 Z+ X8 u
    " J; j% j: Z* [+ O

    $ A0 j. E. b  c& ~" U) w④ 小误差概率合格模型/ B9 ?/ p# P/ Y" c

    4 z9 d& k; p* y. @% R# [  }9 p; I9 N0 ]7 j* ]; k; l/ y& Z& w0 s: U
    * ^" N4 L* i: o: B5 v8 _7 I* t
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。: I# v8 _+ d+ L8 f
    8 a2 y4 y0 l  X4 Y/ s, ^
    * F4 p8 m9 d( A( Y

    # R  ^4 G# `- N: Z由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    3 d& U7 ?; ~' u. O4 i( `7 i" m/ m
    8 e7 ?7 [+ M# M: S
    * N8 K0 Z3 B/ K5 o: ]9 L* Z
    % d; T7 o% V. X* {. n" \9 U1 S' y. ~/ }6 f' _/ I
    . |$ _- D% P- I$ ]' ]$ a
    计算的 MATLAB 程序如下:# g2 T( q6 @- g; O/ A/ H6 o( f

    6 e! m; J, g, [clc,clear
    " N4 J6 N' s% F. E2 {x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35* C# [' o: r6 Y0 t0 P( h! z8 Q
    9.39 10.59 10.94 10.44];5 W! D( n" U" y! l. `, ]
    n=length(x1);4 b1 ~, D) o/ b: }3 S
    nian=1990:2003;
    ! W) G7 g" q/ R( wplot(nian,x1,'o-');
    0 f$ E0 L! [( Q" z" xx0=diff(x1);
    + w8 R6 z* ]+ i1 x0 E9 ax0=[x1(1),x0]
    * _) _2 M& Q- lfor i=2:n0 r* k, T- ]; o+ M
        z1(i)=0.5*(x1(i)+x1(i-1));
    0 s) g9 W" ~4 B% ?0 t8 X; Iend
    8 ]* ]2 a$ F/ r4 R2 Q1 J- q9 pz16 w" }0 b/ A  c# B% _3 W4 X
    B=[-z1(2:end)',z1(2:end)'.^2]
    ) P5 m% ]& l/ b! vY=x0(2:end)'
    0 ]& z9 J/ W9 j: T& d0 Q5 s' Oabhat=B\Y %估计参数 a,b 的值+ e! j1 D$ }! c) C
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    . A" F' h  O: t4 \+ e  r6 H6 yx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    9 _8 E3 T8 q) ]& p4 p& b) P( Y) Byuce=subs(x,'t',0:14) %计算预测值
    # a" g3 F) [6 h3 f* l% _digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    ; o! ?8 J$ f# Zyuce(16)=yuce(15);
    3 t# M) i" o9 B$ ]) y) s' ~x1_all=[x1,9.92,10.71];6 l* \6 O) o+ }  h4 d2 G+ s  a
    epsilon=x1_all-yuce %计算残差& X6 C% C, p( c/ X$ G
    delta=abs(epsilon./x1_all) %计算相对误差
    * e2 Q. W6 [3 @4 q, m5 jdelta_mean=mean(delta) %计算平均相对误差
    # g* D& |7 K: a& Z5 A2 ], C3 Lx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    : {& \1 [) q+ X! l5 ~3 [$ }" gyuce_0=yuce-yuce(1); %数据列的始点零化像
    9 X  N5 Y/ O! }. `; {1 A' \; s9 G  Cs0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    3 o. I& _0 u) t6 A* y2 I: Fs1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));2 C8 W) S8 j# b: _' Y: q  [
    tt=yuce_0-x1_all_0;) B1 u! J- b. q7 k6 l0 z" u3 j
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));+ d2 x3 c( m7 ]$ x0 \
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度' j9 V! c9 W6 F+ |+ F
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
      q7 i( o- R+ T  E. g
    9 O% a3 S$ N% [% n3 预测结果比较
    6 N- P6 ?0 a4 V6 u# c4 x: q' V& Z' J: M2 m7 Z6 q3 l. A0 c3 s
    $ r, w: Y0 _- u! H6 i5 f  A

    & l1 G. v! M/ h3 {, C6 e% d: ~. Y. h0 q0 w6 F$ t# A8 ~2 e7 B( A
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
    . Y8 s% j7 g0 R" E0 A1 \
    + W! {+ D' U% T9 G2 v1 U/ s4 pclc,clear/ \5 |3 j& Y$ j9 N' h
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35* ?1 n4 l% L) Q! O" L' r) B
    9.39 10.59 10.94 10.44];
    6 V  o4 N* E% a- ]n=length(x1);
    5 \' p" E9 `, e9 h# A) s( P/ tx0=diff(x1);
    2 K, J+ s6 ~2 f+ V( rx0=[x1(1),x0]6 Y7 B8 m: Q- m
    for i=2:n0 b' m% o+ J* ^8 S2 L7 f! }' R
        z1(i)=0.5*(x1(i)+x1(i-1));
    " ^% h! t0 y6 Cend' d  n* C# t$ B: o' S! W1 ?% f. a0 q4 Z
    B=[-z1(2:end)',ones(n-1,1)];& Q  w/ i& M4 F% p
    Y=x0(2:end)';* n2 G: \$ _1 [/ x2 {4 [, J
    abhat=B\Y %估计参数 a,b 的值6 Q+ ?$ Q! N0 V) |$ o' T
    x=dsolve('Dx+a*x=b','x(0)=x0');" H! s( c% l2 M9 ]( K1 j' W4 S( T
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
    ; Z. u$ M' `8 w0 J# A. m3 Pyuce=subs(x,'t',0:14) %计算预测值
    ; H  q; h+ C( m/ B& `digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    2 y- Y4 E2 r3 l6 I值之后,或者不使用该语句
    / \  D; U' ^8 C* fyuce(16)=yuce(15);3 I6 p8 n/ f8 n/ [( Y. }
    x1_all=[x1,9.92,10.71];7 C) W! S" r! B0 \# y$ G
    epsilon=x1_all-yuce %计算残差' U7 E0 S$ i: K3 q: L; F
    delta=abs(epsilon./x1_all) %计算相对误差
    ( V8 e4 N; j2 q% v* Rdelta_mean=mean(delta) %计算平均相对误差3 L, u; e& U9 v2 c
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像( ]$ L. @: M( m/ I
    yuce_0=yuce-yuce(1); %数据列的始点零化像
    $ u9 w3 z% f: B3 V3 q" d# N5 |s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));, S) _" }; Q( C$ D% o
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));# `* X- y. Z6 G/ \
    tt=yuce_0-x1_all_0;
    ! W. G  r* H* M1 z! u- js1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    ; m7 r1 y5 F) C3 ]% gabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    . X7 Z6 A' R/ H9 k% ?7 Q  Ec=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    # e0 Y7 T& _( P. K* c9 Z( D7 ~/ U
    ! E" i- v% j6 j. _5 } 4 结语
    ; D5 Q3 @5 S2 W1 k7 `4 R, P道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    1 v9 Z9 z8 v, C5 [  g! X————————————————$ D! I; m5 R( N5 d
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    * ?# m: m5 H" R, u. f原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    1 D5 D  S/ `  d/ n& t* u5 [$ m4 o5 |0 H9 m  Q) y' f% a
    + j/ Q! w+ g! }0 n7 j* F& d

    4 }% e. O6 t5 d/ ^3 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-9-13 10:57 , Processed in 0.662909 second(s), 51 queries .

    回顶部