QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1886|回复: 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)模型等更适用。0 |9 B' k1 y+ P; M- k2 X' J

    6 h, ]+ q6 q. _/ YVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
    3 m+ {/ K( A/ Q) g- S1 }
    5 P- j; x0 x2 p2 U3 o- m1 Verhulst 模型简介. @+ g( H* ], o! }9 L1 S. \
    Verhulst 模型的基本原理和计算方法简介图下
    ' h* Z/ a1 w  N4 @: r; M! {! Z" N$ G- m1 |" T' o
    " S1 z( X* s! ]3 W# n2 [" e- L

    ' M; A) O% B8 E5 _参数列的最小二乘估计) s7 y' m! o+ ^# A) {. a  b
    " n  B* q6 y/ _

    ; _' n3 R  l/ L9 t. F9 ~" a5 h2 _9 N( s7 J& ]
    0 Y" i4 Q8 ~9 b, a+ T
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    $ k9 u/ n. }# H' P6 p( j3 s9 L- M* I8 A4 v7 v2 K6 U$ b1 K
    ! w8 p1 z" y$ R" }# M" z0 S
    / L+ U/ |: h3 O( G7 B
    灰色 Verhulst 模型的时间响应序列为
    7 B% Q; ]' k3 ~  c1 p0 p
    2 z7 q. F: A9 M  C( P
    4 u, S7 q" b3 ~. r. w# V" p/ ~6 \- _7 y: F' x& A$ d% N
    累减还原式为( k$ B, m- T' {% k
    * I- c: h* T1 w: x8 X3 f

    8 G2 s8 T8 z& }$ H; y- o; q; j# Z, w# h' k8 F( D
    2 道路交通事故 Verhulst 预测模型
    ; n3 |% K# Z3 B2 ~- W( g
    + A9 q* j, a: X! p" {4 ]2 F
    8 |6 s" e5 h( u6 r
    # S: s! A: M" J8 M1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。9 b( U+ n. |1 k5 Z/ ?/ h: w$ r8 e
    % m: E: B7 g; D) j9 I, {2 n  P
    . }! j  l: c, W  ?" r/ w
    , v8 a( C8 V6 f2 Y; @
    6 e+ O- O; N9 _5 ^
    2 W" R( R, \' d( N- l3 I: x& r

    ; F2 \* \4 s/ e) O9 x  n* x7 E, H" D6 t
    0 f) r1 h1 T6 Q& L% y
    ; c/ J% u. R' e! N" \% Y! Y. u/ ~' }, |# w
    (7)模型精度检验。6 T5 L9 v( Q# H
    9 A& X  m) P, _; b3 y% p# G
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。* e" q# q. Y, x. [' [

    + s  r' o- v7 d/ g: u" J3 D7 h① 残差合格模型
    7 z3 R* v9 k# F* w/ v% C* P* b0 Q) o) z
    * {9 `$ h9 y+ w' k; I
    + b  J/ `7 `1 i9 C" E* \0 A7 e
    & ^& N4 m  }) m% Q( f( t: @
    ) s! u+ m! `+ A! L; n1 \
    ② 关联度合格模型) V2 p6 G+ c! t, M% w, D- c7 o5 Q% G

    6 z6 |4 X6 e2 o3 S" S0 D, R; [, e; Z
    - l, Q) e& x  l5 q
    ③ 均方差比合格模型% ]$ g; Z; K+ J" b9 ~! [: b' a6 @

    " y& v+ t/ A) I
    : ]8 `4 ~- z* |
    # L; G% B$ J2 e- d④ 小误差概率合格模型
    $ _, d& M$ z/ V( I; p9 F9 ]. r1 O) p! ]2 j, C- l- L- u
    1 X- D: K9 S& n' l* j
    % R6 _4 N7 a, }2 N
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。0 f2 n: }. a3 p$ d3 x; Q
    - O  @) ]/ }$ A0 b6 I0 k

    % O9 q& S, T7 P, b1 Z; C$ K8 b6 o0 s% ]% T" O, u& y9 D) p
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。+ u; S; ~7 [/ R. @  \' W8 ^( X" P# L

    + L. s- [( N2 L2 R6 a; O5 l  V2 }/ R; ]) A
    ' F) I. }6 }) h% ]: v, @
    : i+ e5 s* K  ^& Q; [
    ! d+ y9 N0 f% Z- w! h3 \
    计算的 MATLAB 程序如下:
    % y" c0 F, L* w5 m) t
    4 m. o, B; K. I2 \$ n+ e4 v& d3 Wclc,clear
      V. J2 W  r4 G; W; b, \% Nx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35+ n$ D5 V+ ?4 U4 Q4 ~" y
    9.39 10.59 10.94 10.44];
    1 r( L7 g4 L, d8 p( [- h! |n=length(x1);
    . S7 p6 B5 ~0 G' ^nian=1990:2003;
    ' ]* n! E" H1 G+ o& |- a* E" vplot(nian,x1,'o-');
    ! c6 l) F, @: T9 n1 @x0=diff(x1);
    / \' F  D3 h" C: P# p8 Gx0=[x1(1),x0]  J2 t! B" \* x# s: p
    for i=2:n
    # J$ X  u3 w% Y  C    z1(i)=0.5*(x1(i)+x1(i-1));
    4 J$ U5 {& @5 m7 i$ Mend( k" B, v, o; U) O
    z1
    : x* j! ~+ L/ w- q1 h4 kB=[-z1(2:end)',z1(2:end)'.^2]" P) f5 Q! J  X% ]. h
    Y=x0(2:end)'  [6 ^/ A  F& H4 M$ P: y# r0 K$ G
    abhat=B\Y %估计参数 a,b 的值
    & v8 `4 M! e, e: C! n' b& z$ ?, ex=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    0 D  R! e: J% Z" jx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值, d8 j* k: \% h, R% X* f
    yuce=subs(x,'t',0:14) %计算预测值
    . @! c- J8 ~7 V" z$ @9 N  adigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    5 r/ g8 g5 Q. o" ^# I1 h$ {yuce(16)=yuce(15);
    0 x1 S2 M3 y1 e$ m! dx1_all=[x1,9.92,10.71];
    * B/ _; E$ j: |2 {. m, D6 Vepsilon=x1_all-yuce %计算残差
    8 Z2 H- G' _7 x0 C. c3 C3 odelta=abs(epsilon./x1_all) %计算相对误差
    : S0 S: f" J/ k7 z9 J* Rdelta_mean=mean(delta) %计算平均相对误差
    4 E  o) J- w& P1 [0 e1 b$ R1 qx1_all_0=x1_all-x1_all(1); %数据列的始点零化像+ t2 [& h2 Q, Z$ l, Z8 M; j! n
    yuce_0=yuce-yuce(1); %数据列的始点零化像
    8 b. |+ o2 X( x$ M4 d% K: P3 {s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));( b, i% U% b* X8 t8 b. b
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    % d' v: F6 G" }, X1 G4 ltt=yuce_0-x1_all_0;0 |0 I9 T" ~! z0 D
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));3 V- u  m4 S/ Z
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    * v# L) j7 w) h) A/ @! K* Cc=std(epsilon,1)/std(x1_all,1) %计算标准差比值! N0 `  W- Y7 @. l
      {! V* L/ Q. }
    3 预测结果比较, q. y! ]; Z6 V) k+ P4 @  h

    # B$ e- q4 ?$ Z0 L- k& @# z: s% C+ M, `: X: z+ {
    ! V6 \1 a2 L; v1 N/ K7 O
    & j( ^0 t" N# i" K3 g
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:, M2 P: r; z( e/ U, S

    * Y- `" a  {" \! q1 u1 Bclc,clear+ T% p2 l7 `* \; J, F3 D& y
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.354 j. @3 Z; t* E; h' h3 U) V
    9.39 10.59 10.94 10.44]; ) `9 R* m* {  r0 e- y
    n=length(x1);
    & L) Y: q% ~" p5 i$ ?9 lx0=diff(x1);
    ) [( o& a" m1 d$ wx0=[x1(1),x0]( e7 B) D$ @. m/ f8 |- _) x
    for i=2:n/ k1 j9 h2 d# W+ `; h
        z1(i)=0.5*(x1(i)+x1(i-1));5 G) j' Z/ D8 m* ^& L
    end# |; n0 T# b5 M6 p+ {3 c
    B=[-z1(2:end)',ones(n-1,1)];
    : G# S" _+ y2 CY=x0(2:end)';, I3 v6 X1 _: O- X1 e
    abhat=B\Y %估计参数 a,b 的值
    / N5 r9 H5 E9 b8 w) Jx=dsolve('Dx+a*x=b','x(0)=x0');
    1 }' j9 l0 C# q3 c- K& Q! H7 I. ux=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
    + L% a6 e" \4 Q1 oyuce=subs(x,'t',0:14) %计算预测值
    & h1 W1 I* \7 z* \digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测& F' c, V5 m+ P/ O% e% b
    值之后,或者不使用该语句
    # _5 f. p) I1 r1 B7 xyuce(16)=yuce(15);
    & o" T& T( H, }. \x1_all=[x1,9.92,10.71];4 \, w+ ?* R: [9 A/ A1 }
    epsilon=x1_all-yuce %计算残差" t. J$ H' \6 q% Z0 c8 `
    delta=abs(epsilon./x1_all) %计算相对误差
    0 ?* c; {+ k- j, g4 \% l/ o) Cdelta_mean=mean(delta) %计算平均相对误差( P% u0 c3 s+ Y. `
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    ) R3 t/ ~  w! h: H% h2 Fyuce_0=yuce-yuce(1); %数据列的始点零化像
    6 q, ~  ^$ r  g6 F" ^s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    * _2 \% o- X, b3 M' W4 e0 ks1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));" ]7 Y' \' o+ b
    tt=yuce_0-x1_all_0;# r. M7 H+ y1 B7 O9 B3 `. i
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    & a" X$ e9 H8 |0 u: [* ^8 yabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度& C! J7 c) Q! f8 p4 D5 \
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值" ~8 H; b  v% X. U" H
    6 w, a7 e& _: h  ?& @# B6 M
    4 结语
    & Z1 J& f6 B. P- R- M6 q& j: W1 v道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。6 F7 f( W# K1 R4 d! _9 G
    ————————————————
    ( j" t" i* k0 T# }8 ]& N版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    : I: u; A; H8 F$ h原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    . e+ t  D( d! I" V5 F0 w9 g) X" Z% R4 U1 W: O
    2 e! v1 r# N  G
    ! e  d9 u3 i! |  k0 ?. x! S
    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-6-7 00:53 , Processed in 1.085608 second(s), 51 queries .

    回顶部