QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2911|回复: 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)模型等更适用。
    . A+ r, h% j) I9 j, g; ~2 I
    ( P' D3 @) U/ E8 c6 \% IVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。; ^6 G" z& `$ h& n9 M" a' J2 P

    7 O' {+ L5 |7 i1 l1 Verhulst 模型简介. c4 I& F5 l0 ]8 ]' ]0 m
    Verhulst 模型的基本原理和计算方法简介图下1 b: o! }! ]" r2 m
    ( b8 Z, ^5 _) M* v
    4 U0 D* F* `$ |) i
    + A. A; h) |1 }; t( z' T1 o) _4 q$ q
    参数列的最小二乘估计
    8 x0 v0 v/ F. q6 L
    : h  D" ?! ~5 @0 S
    3 `  O2 R0 E4 v+ `" Q  y7 q0 ]5 n
    1 \0 K( [, m% @0 O; L4 [+ s" J! E7 ^+ o
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为! z8 z" I+ Y& o8 V
    " z0 a2 R5 L  \0 ~! A  a
    # n& G) _& u* K( w9 Q
    ' ^# S; Z4 W4 H6 _
    灰色 Verhulst 模型的时间响应序列为2 ^+ u; z: u+ ]) `& {0 {
    ! _7 ]# q" @: v7 P* R, q! v

      q# C; O7 Y  W4 D$ L) ?# G# P! k. v( v) @
    累减还原式为. B" }- d8 |# Q9 b  l5 f' G

      Q9 w& y) R. q/ Q4 {$ t+ O; L
    1 \4 E' W( ~7 C4 }
    " [) j$ L# s3 \. R) u( {* K2 道路交通事故 Verhulst 预测模型
    + s% y  x7 f# L* ?  m/ A" }" b7 r  h5 `

    / K0 |+ J0 z- o, I4 d$ ]9 |( D! |0 {, H$ o
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
    ; {4 E, j$ u/ V( K/ A8 r4 J6 {
    5 J% c6 M! p3 d1 t3 p- C% y! y5 I0 _' F! B- v5 r

    $ k+ x8 Z0 g6 w
    ) d: p' y- O! s2 g' `% H9 `; v7 r

    % W2 p: X2 x+ C$ h# G6 ~. q+ }1 f) Q6 w) B7 {+ c# W# J
    7 x" [! s; q/ G% X2 H2 g

    0 {" m8 W; p$ W; D  ~' r7 p) D7 ~4 x(7)模型精度检验。
    ( }, t! I  Z5 }% |$ v* ?% i3 ^9 Y0 G3 D$ I! }3 Y% A) B! B
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。% R! e& h6 A. j/ {' S; ?! z5 T2 d
    ' `0 W0 |; r! V
    ① 残差合格模型
    8 S2 G6 Z3 i2 `* `; P; f: X6 x8 A  I1 c7 Y4 |5 t& h0 `9 V

    * b( b, }  K4 w3 {0 k' J
    ) |" y+ L7 I8 ]8 v7 C; j% r9 ]" c4 U4 K- o& ~- U0 q- i% K

    ' x6 Z* }1 l8 u- l7 e2 `: T② 关联度合格模型: _3 R# v  _. Q1 V& ~

    # d% E1 m3 ?6 `3 W+ J
    ( Z; d: i4 e+ a& f
      ^- i' z  n3 O5 u' I- L: n2 s ③ 均方差比合格模型- m0 S1 z& v( b& l2 v

    , Y6 w* K; d, d' R$ N2 q# G+ `8 t3 t( n

    * t, I- L) h- s) g: _8 ~8 D+ l) }, p% n④ 小误差概率合格模型
    $ ~$ S: Y% W6 Q9 V( ^. O% i6 S. a& ~+ C

    1 ~  Q) A/ `1 T
    4 g/ ~9 F2 b+ b( B! Q由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。8 n: Z2 _% ^! h* r, E( S
    & Y6 Z# p/ @( _
    6 k, z5 p; D5 X/ l" J% u8 p
    5 y0 n0 Y+ ~9 \6 @
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    / A9 `- N( P$ `% u
    ; E7 S9 w$ M" u5 f) M) G/ p  t1 [. A1 R! E2 u! Z2 ]

    : z" @, V6 ~; x; o! \
    1 {: h' y" q  ?% Y& O3 |+ k* h+ _0 h! `. R8 w1 q
    计算的 MATLAB 程序如下:
    ; d9 X, M1 f& n/ v3 S  d
    4 Y  J  Y. {: }/ Mclc,clear" ?. u3 j) Q- G. q  U4 U: ~8 X
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.352 e6 E; S& y; V! m$ h
    9.39 10.59 10.94 10.44];- D* Z4 J" U7 z' @! k/ g
    n=length(x1);
    # S2 C/ d7 ^0 C) Znian=1990:2003;
    . U* f) S  z" g2 D: q- t; `plot(nian,x1,'o-');" }" X$ P* h$ R4 X2 U
    x0=diff(x1);+ U# [* h+ I& T$ h' D
    x0=[x1(1),x0]( d6 A# t& F1 E, ~  w3 f
    for i=2:n
    3 N1 T- H! v% S3 w2 b    z1(i)=0.5*(x1(i)+x1(i-1));% \+ H6 s9 _: p, [
    end
    # _4 f2 G4 e3 ]$ W: G, Lz1
    % T# D/ C5 F8 Q/ y) lB=[-z1(2:end)',z1(2:end)'.^2]
    ; `: t! X" ?3 r$ n9 i) YY=x0(2:end)'$ B; O9 z) _% W: A9 I( m  e5 d
    abhat=B\Y %估计参数 a,b 的值! t& F: H' f3 w0 s1 V6 D8 f
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    3 ]/ Y5 v; O4 D/ ?: Kx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值+ }( w0 Y9 S  Y6 m+ M
    yuce=subs(x,'t',0:14) %计算预测值
    / t3 y# ?+ i: S- hdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    , e  U; {! f& B. e) Byuce(16)=yuce(15);  M6 g* N( j+ m& `$ b
    x1_all=[x1,9.92,10.71];; F! w# H0 Q, r
    epsilon=x1_all-yuce %计算残差# ?* r4 t6 K- c* r/ L
    delta=abs(epsilon./x1_all) %计算相对误差
    ' I: K& Q% J' C0 `3 q( H( Z! pdelta_mean=mean(delta) %计算平均相对误差3 E! F) m- x' Z+ J0 `5 u
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像( u  z. P- @6 }
    yuce_0=yuce-yuce(1); %数据列的始点零化像
      Q- d; s; }& ]2 N+ G3 {s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    # m; f1 I- V0 ns1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));' ?4 Y) s; U1 z
    tt=yuce_0-x1_all_0;
    " Q9 F4 b) n4 k+ [9 n& ps1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    ! b8 [, U( V5 ]# E5 o6 t8 p4 labsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    : Q: x  J- |& L' ?# ]3 u  [c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    ! C/ G' }/ L6 x! H; d/ a
    + U* o/ K. w, f# }) G5 S& O3 预测结果比较
    1 o4 x+ c% Q+ g0 ~0 b1 h1 ^7 O! E* m4 Y7 a$ f6 h
    1 p. h) i0 w- ?2 V' E
    * j* o+ k. d! G: i8 h1 w6 r+ X
    0 j* t% E8 @7 v3 g2 L: d3 q5 P# y
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
    , G! L* g7 m. U& X! x( w# W9 D1 h# q: s
    8 h9 ?7 I6 A9 cclc,clear* ?* w. W! B% S7 G* k% ?  x% \3 B. \
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    % s% T2 G6 K' G) u0 W) j9.39 10.59 10.94 10.44];
    : T7 p/ q7 i5 t5 Z! @n=length(x1);
    & t8 M( p8 V! d# }1 m# Tx0=diff(x1);
    . }2 S: G0 v* L: L* `" z7 ]% W- t9 X9 @x0=[x1(1),x0]
    1 ]; Q$ l9 R; P$ X  h& u9 ifor i=2:n
    3 o6 y: d/ {" L' I: S    z1(i)=0.5*(x1(i)+x1(i-1));
    ( m! n" f6 V% q( ^+ U7 {: Oend
    ! c+ ?9 ~; T" ^$ eB=[-z1(2:end)',ones(n-1,1)];; o5 U$ A1 J3 s% a$ W
    Y=x0(2:end)';
    / A  w$ ~+ @/ L5 L  U- iabhat=B\Y %估计参数 a,b 的值
    3 g7 ]2 D" Y0 W+ R& x' u" G5 Ex=dsolve('Dx+a*x=b','x(0)=x0');8 u, n" @* f' [3 F
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
    " M* x) d- _2 Oyuce=subs(x,'t',0:14) %计算预测值
    . p& h& i. _& \& n0 y7 idigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    2 x9 G9 y$ t/ \, e. @& [( S( `值之后,或者不使用该语句) m& @$ D" o2 ~# I3 d9 Z. X
    yuce(16)=yuce(15);$ q5 o3 b% v' m) [1 g
    x1_all=[x1,9.92,10.71];3 s1 }1 M: @6 s( Z& `% o8 y
    epsilon=x1_all-yuce %计算残差7 Y. [& Q1 s1 n: ?
    delta=abs(epsilon./x1_all) %计算相对误差
    2 w; x9 G9 K! R9 k/ N2 K# i" Edelta_mean=mean(delta) %计算平均相对误差
    $ ?) _6 z% T5 Y$ n! Ox1_all_0=x1_all-x1_all(1); %数据列的始点零化像$ D$ L9 a0 B5 s' R! G& K  J
    yuce_0=yuce-yuce(1); %数据列的始点零化像, k* b/ b  t+ s( \
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));' h- x1 J7 [7 ~9 w- Z; e! L
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));) X6 d4 k8 v, M. j3 I
    tt=yuce_0-x1_all_0;
    3 w' g0 R" W5 ~  U! rs1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    ; _3 A+ B5 V9 }, V5 C( Xabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度# B  L% Q* h5 c3 n1 u: @8 h* ]' X
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    . q" z. G3 _9 C6 I- }( L4 j7 q$ h# E: f/ I& q' {
    4 结语
    . Q" j; R- T9 G6 I# n6 c道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    ; [/ q' b& T% j/ W  t6 ^' I————————————————
    7 E  J9 \4 l0 ~: J# H/ j4 Y8 E  ~( ?版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    $ o; ^4 s! j. G  p; f" ~原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039: a4 n  ~3 O- u: I9 ]" d  w

      u0 U% Y. `0 d2 N* L+ D  Z$ w3 k* }3 M3 I2 u0 T

    " H5 ^/ g3 K* G8 D
    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-4-16 22:53 , Processed in 0.381725 second(s), 51 queries .

    回顶部