QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2958|回复: 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)模型等更适用。/ I. x; b) u0 F& D" h

    % ]6 j* ]6 l% f# J/ ZVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。9 G7 R" M1 k& e8 d

    # L1 F4 b7 x8 U1 Verhulst 模型简介0 P% H9 }% L( A) f6 l( ]4 F
    Verhulst 模型的基本原理和计算方法简介图下
    3 U' Y5 j- C% h2 h% i$ g& r; Z7 n! b0 T# S) ]

    $ [. D, a+ ]; V2 K+ G6 ^) K* |9 e. u! t" l8 j/ K9 p' B* Y4 s
    参数列的最小二乘估计2 H3 g' V( g* W& q$ s  Z% j% `
    1 M. P9 z  d( @; |. {5 ?

    9 A& C# @/ U. y+ ?) e5 `6 C5 k7 z) Q" s8 @' p( g. p& f

    / d0 q9 f1 d% F, M+ F: F4 t 定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    3 s& W  K. k' f' N% j* ^3 y! k+ ^4 F9 \5 t- G. m. ?. O
    * l: F0 u0 o' ]0 {0 q
    6 j  O7 _1 U+ a1 a% ]8 u
    灰色 Verhulst 模型的时间响应序列为
    4 ?  c. g8 w# u6 J
    & |% A4 M0 d7 H$ l, ?2 h8 a( |- n; Q6 v' z! a! O

    ' F+ X$ j: }3 `, k- p* J8 g" i5 j+ ?累减还原式为
    6 p" N3 A# B1 W, [% D; ]6 ~/ B: `3 g& a% p
    $ A) `1 D# `0 j0 p+ ~' D
    ; g# I* `+ d/ V6 L! T
    2 道路交通事故 Verhulst 预测模型
    * Y# F1 U) y. f
    7 F5 E2 B9 }9 t2 f. D3 n; D! p! l# u9 v0 {- d4 d1 V; [8 j
    / `/ A$ d# }% _( f, c4 I
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。7 z- _& m, O2 ?2 |" P% M
    1 e! p+ A- T" O

    : i* F( z+ d6 x8 r0 k7 N
    , \" W9 n6 L5 o
    0 q5 v1 Z% ]: ^) f0 J6 a; C$ l; j* C, `, B) d3 X, T* k* F

    / l7 ]/ Y  \4 m& t/ ?' x& I
    - q* @/ o1 j6 C( M* t" N$ A9 o/ m& v+ M+ y) m# l
    - z: h' j! p8 |
    (7)模型精度检验。
    : m# j7 y, f+ c; W- y1 K
    + i2 y) C' t/ u; @4 l$ w; y6 Y一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    & {( r" d2 |, p8 R$ G
    2 A8 e& t2 u$ E① 残差合格模型2 q- R* N1 o, e1 [+ D5 n
    , ~5 S7 M: P& i6 Y0 R7 }
    ; b6 [3 j6 _* u' R- R0 J0 @- k6 M- Y

    # C9 W; I  C  k/ Q) I( j# }
    * C# E" U$ ^; \  B3 j
    7 N4 q) Z1 q* {5 R( x/ I8 L7 w② 关联度合格模型
    4 ]& N0 V/ n1 _% e# }( r- Y
    9 p8 a- ?9 a! D! i7 A1 s6 s, J  n& Q" \+ B) R9 d; t3 s( J* W4 U

    7 l5 j/ G5 r7 W; |: ] ③ 均方差比合格模型/ @0 o8 a9 r9 U# C
    3 C$ f3 M' l* v% B

    * l5 {4 f- u; z4 d( R
    : f; H4 u) S. J& `& l& ]④ 小误差概率合格模型  D( [5 q" ?* i5 n

    . n+ l1 f+ R3 _6 k4 l# {2 t) ^8 z$ O! _! C8 ^4 ]3 f

    6 _  `% X0 H* d' C+ q# l/ F  W) H由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
    + `  M- k+ ~' A  K2 @2 i
    , [6 Y0 M$ a& F. C! r
    " D& E& ~7 j" \1 K* A8 Q+ E
    ! z1 D7 x% F+ v! J) B& @由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。" f, W, b8 w/ E4 D9 ?

    ! n. s& T/ ?! q
    * P5 J( Q; g9 ^4 w
    ; r# N, Y( E( A2 u2 J2 F! c
    . h6 q( u% u) c: f* P4 {$ C  Q' S
    4 `6 R5 o" U$ a) ?  B计算的 MATLAB 程序如下:
    , Z1 R( \8 J: \5 m  c. b+ n5 x7 S7 w) }& a* \) T. K
    clc,clear5 T" y' l# j0 f( C, W$ i/ B* `
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    $ x! V3 Z% g6 c9.39 10.59 10.94 10.44];: D" G- U8 c  M9 B. {
    n=length(x1);2 m! p" O: n# i2 O* B, F4 y/ S
    nian=1990:2003;
    9 l7 i5 @8 n1 t/ uplot(nian,x1,'o-');
    + H* q( i' @0 V5 {  tx0=diff(x1);7 l6 }% E. F$ ?2 O
    x0=[x1(1),x0]
    7 o0 s6 K0 n- }" _2 q" w% n9 _; s8 {for i=2:n
    . r* q$ g- P: g    z1(i)=0.5*(x1(i)+x1(i-1));" o, W# }+ R* k
    end8 Q# `! T5 V8 q2 G( n" a- L
    z1
    / W$ n- ]( v7 L; y7 \! q, d8 zB=[-z1(2:end)',z1(2:end)'.^2]1 Y$ {3 @( N3 x) |* g& k- R& O5 w
    Y=x0(2:end)'
    / T: f3 Q' l1 ]9 f2 Tabhat=B\Y %估计参数 a,b 的值) ?. ^3 `4 Q. s! J% r  `3 q
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程1 m+ j1 d) E# Z; K
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值' k# E: C6 w) I- D0 U2 V! ^' S+ Q) A
    yuce=subs(x,'t',0:14) %计算预测值
    8 s2 v4 @# U2 P; R6 Q0 ]digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    1 o/ w$ G8 j7 v- myuce(16)=yuce(15);$ x# z' {0 H  K
    x1_all=[x1,9.92,10.71];
    - [1 j9 |5 _  Z/ Z2 S& L$ repsilon=x1_all-yuce %计算残差( |$ e) v# k) n$ V  R- x) M6 H
    delta=abs(epsilon./x1_all) %计算相对误差/ Z) b, \4 w4 a& X) X/ c
    delta_mean=mean(delta) %计算平均相对误差
    7 }9 J# `9 }  Y# J! Ox1_all_0=x1_all-x1_all(1); %数据列的始点零化像* f7 Y$ X/ r" T1 I/ ]
    yuce_0=yuce-yuce(1); %数据列的始点零化像4 R2 g' c2 m) }
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    + t5 P- w4 t% C( n; q. Os1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));! l6 R8 t7 i4 {3 [: F. _
    tt=yuce_0-x1_all_0;
    0 x2 Q3 N9 Q6 l! ?s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    . E7 P# C# W2 x5 i1 oabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    & F; E0 r& Y6 g) d7 @# Z! Xc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    ) h3 `0 S  P3 r# K! X; x; g9 T& h7 Y4 R
    3 预测结果比较
    + Y* x" p) M2 C* ]
    + \% q' `0 p4 a6 `2 I% a* c  E; B+ i5 ^9 z0 }

    9 L$ m8 F6 O0 s  H) _3 B5 F" v: R/ Z6 X6 ]6 G5 s; O
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:3 Q! c( A  ]; E* E- {5 c3 c
    ' Y, R3 a  \# z# _
    clc,clear( z& s7 G3 ]! U( }3 c) z; E4 I
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    ! R% @" _0 @3 Q6 t9.39 10.59 10.94 10.44];
    & P% Q: t- Q  B  sn=length(x1);" [. d9 \' x% I8 u1 X' B
    x0=diff(x1);
    7 M9 r" }$ U4 P6 w* {& ux0=[x1(1),x0]: u# Z9 r1 r4 R
    for i=2:n
    * D* z  z7 W3 Z! Y) d% U    z1(i)=0.5*(x1(i)+x1(i-1));! L6 I5 m% d, {
    end- I4 y1 [2 t. F0 V" H
    B=[-z1(2:end)',ones(n-1,1)];2 K6 o- u3 _; }& l% Y
    Y=x0(2:end)';2 {6 i1 w; J; Q  M/ O
    abhat=B\Y %估计参数 a,b 的值. G3 y# c  L( C4 Q
    x=dsolve('Dx+a*x=b','x(0)=x0');
    $ ~3 S1 `0 d  Y$ O4 @x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});& O) g9 j9 _; r7 m3 X
    yuce=subs(x,'t',0:14) %计算预测值
    % q5 Y- |8 @$ d  u# q: Edigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测1 `2 S" G0 O# f. S: U6 G
    值之后,或者不使用该语句
    ( P- |+ l  i0 _0 G8 Myuce(16)=yuce(15);
      c$ G6 G; N. }# R# A' vx1_all=[x1,9.92,10.71];
    0 H! s% x- Q3 z# pepsilon=x1_all-yuce %计算残差
    # I' ]6 X% `. y0 D. ~* @7 b) G; udelta=abs(epsilon./x1_all) %计算相对误差
    8 G5 b& y9 S" q1 J3 r: Rdelta_mean=mean(delta) %计算平均相对误差
    0 g  `# ]- `% y1 qx1_all_0=x1_all-x1_all(1); %数据列的始点零化像/ \* t8 T! ]. n3 e
    yuce_0=yuce-yuce(1); %数据列的始点零化像) W4 f! e3 [; o* z, d
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    3 M: g# U0 W5 W$ `6 As1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));5 G/ i( ]0 o6 S6 p% O) ^$ t
    tt=yuce_0-x1_all_0;8 ~, G0 J$ \# [( @8 a4 d: E+ v/ N
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    & I3 Z# k5 h1 j3 l" D! y, J/ i! Gabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    2 V( m6 @, [# o/ P+ h- h9 J6 ^c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    + j+ D! g- y1 ^7 @! b
    ; x/ y  Y3 T1 ^- n1 a 4 结语/ g6 f* B+ D/ k4 |
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    / F, T; }; Q8 E————————————————3 y' t( r  M  _; Q# {' n* @. O
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。( F+ H- e- k) v* J: G* s
    原文链接:https://blog.csdn.net/qq_29831163/article/details/897150398 D; V- N# j( _4 A8 |! w0 _4 f

    ( j- V* ~& Q$ y5 o( I0 Q1 y0 K5 \. @+ g& ?8 T; f- X. h3 [
    5 S% U2 `0 B/ Z6 C
    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-6-14 19:44 , Processed in 0.615654 second(s), 51 queries .

    回顶部