QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2956|回复: 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)模型等更适用。. q4 p$ \1 I5 `

    6 o2 ]3 `# u6 N/ ^+ tVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。4 m" b; P! s+ E/ h: Q) c0 f3 I
    & {* ~/ T8 X9 j8 z) A" x4 w! ]
    1 Verhulst 模型简介. u$ M$ q5 U. d5 i: ~; p
    Verhulst 模型的基本原理和计算方法简介图下5 L: l3 S0 C4 P

    0 q7 W1 y. t& Z( X( _' N0 K0 S7 ]. O' L) A, ^2 [! f
    0 p) j, l3 V+ Y4 m! w9 Y! v% r9 O4 {
    参数列的最小二乘估计
    4 z6 q  y2 p) ~0 E% [$ z8 C; H* O8 ?. k) u
    8 l. o: J( m0 W7 K; A" G
    9 c' h* W$ j# G* _+ C) r' x
    : t7 X! l: Y+ v1 h
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为  y) R. E3 k3 u# u6 O: ~8 x2 I

    , i2 n/ _' o" U( e
    3 M+ e: a' M1 S+ ~% y1 g
    0 X6 Q% P. c; [( p% [% J; L& I' V灰色 Verhulst 模型的时间响应序列为
      L5 ~0 y" F9 h3 r
    1 F8 n) N- u, }- q, @6 q) q" F1 L- g* j; m4 U- j4 j3 B
    0 w' z# j) \3 E5 M
    累减还原式为
    ; K" {$ H  U7 X8 o: u$ \& z# ]) L9 t8 A$ W2 j
    : {1 Z, `$ R. m" T6 Q
    / `; S9 \9 ?- j$ K' P! x- Y; J
    2 道路交通事故 Verhulst 预测模型
    . G" t  Y  G! z) |. \9 |. I- ]
    ! L+ T7 n# Y: P: }* h. L. g
    # i7 K5 `0 R7 P. D7 {) ^2 }+ T
    6 [& B. V5 S4 X3 s( E  o* _1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
      W6 d5 B% S9 t$ }5 B/ }9 I( B; s5 i% ^' a7 W6 b, q
    " R! {/ l+ k9 k* x- j! E( E

    4 [! W+ I8 U' j6 S+ N
    ; ?8 e) n/ |2 W* `  m  }2 E/ B: a
    " P! c4 b6 x8 ]* _2 }3 o. {
    2 f. v/ h# [$ h1 e/ N. V. a
    5 n3 v- `: i1 T, e* t& o% N+ M7 A! L

    1 f2 g$ Q& q3 L+ @. J(7)模型精度检验。
    % t& \9 W) M+ R6 g( e- v# z3 U  ]+ W$ L, ?5 N/ ?+ Y
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    2 d& U+ C. ^1 w; ~. p: W/ E- X' d7 L4 t6 X6 ~! a# ^
    ① 残差合格模型0 T- U% D+ C' \/ f4 L# u$ U
    5 W" B8 H9 K/ N# G

    % Y% K2 {: r! H5 Z3 T# I! u) i. {9 k
    1 x# D! u" |- ]* B$ g

    1 I0 L5 a/ J# M( ]② 关联度合格模型  _) {, e6 @  c6 |$ [

    : h' l, t; x+ u6 }# _  ]5 Q& u/ g7 X1 J+ [- K
    7 ~& ]* s' ]5 o9 t8 e# C- C1 [# K
    ③ 均方差比合格模型
    0 f) m/ W1 x& m( \' p' Y; g4 A3 W3 F
    . N9 @9 Y3 d  @7 o8 \4 d" j# P+ R

    - ]. \3 B! t: U1 J/ \7 ^④ 小误差概率合格模型0 \0 @! C! W; V$ w4 E0 U
    / r; \" @1 [) ]. N
    ( r2 S; o: |! C& ?% M
    0 g/ F0 y! N8 \) d/ E
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。% j/ i, S, H& s* j: G, d  n

    7 _& \- W2 n1 Q+ T" Q6 {7 E6 `# U# T/ p1 b6 X* r5 O; L) m
    0 V3 o9 }) H2 k( t
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    ! {5 P0 Z1 q' m
    / G6 q  O, }+ t" T) v1 }# u5 `6 B6 J2 q: v, {1 I; u5 \" q# a

    . \4 x! i4 c; `  {0 M. d3 b
    2 F6 [- h3 n# r$ b9 h3 R4 ]. u
    ! |1 w5 `/ x0 }计算的 MATLAB 程序如下:
    9 }0 m4 }* G$ |5 y# ]0 m! ^. s) o- u% }) o% z' b8 \$ @3 t' E
    clc,clear! ^7 N. u4 R& L& \; ~3 q
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    + R# k: K1 }. F8 @/ ]2 ~3 l+ G2 r9.39 10.59 10.94 10.44];0 F" w8 C1 W# C. R" z1 c
    n=length(x1);
    0 j8 {4 F6 L; d# V1 cnian=1990:2003;
    7 ^- U8 D/ x; _9 h. s9 E) @0 hplot(nian,x1,'o-');) g+ z* Z8 Q4 `- F2 R
    x0=diff(x1);
    $ y' d. P4 n8 x0 y& a0 a6 ux0=[x1(1),x0]' ~0 g; @6 u( n' ^( @
    for i=2:n' \5 n1 s2 F  s1 |, B
        z1(i)=0.5*(x1(i)+x1(i-1));7 F8 i9 k$ o: E+ h9 F
    end, }% [/ r; y) c* Z
    z1
    / r5 Y4 I/ M) VB=[-z1(2:end)',z1(2:end)'.^2]
    : B0 C$ G- k! M8 y( m0 NY=x0(2:end)'( ]# C8 F$ }# h" g% ?0 V( n0 X
    abhat=B\Y %估计参数 a,b 的值% r- ]! a( ^8 o' h5 s
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程7 w5 s: a( S6 I* a( M$ ?' P+ r' _
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    % `7 v& ~+ X* T) G' L. O  byuce=subs(x,'t',0:14) %计算预测值/ i' g6 m6 l' m2 U
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句3 F- b, o) K1 R$ v
    yuce(16)=yuce(15);
      U$ g  T  G7 N/ G' c: o: bx1_all=[x1,9.92,10.71];7 m* ?9 e& r# `- G/ ?3 t
    epsilon=x1_all-yuce %计算残差# Z* T" L- F, e* s4 g2 e
    delta=abs(epsilon./x1_all) %计算相对误差
    / l8 ~- o+ s: @/ \/ ~7 O( qdelta_mean=mean(delta) %计算平均相对误差
    * K! x7 [9 `9 n) ox1_all_0=x1_all-x1_all(1); %数据列的始点零化像8 N& ^4 _' I& e5 E
    yuce_0=yuce-yuce(1); %数据列的始点零化像
    8 y: T1 t2 y! ^4 K/ d2 a6 K5 f0 `s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));. u0 c  L1 p- {. r. x& ?5 `( Y2 _
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    ) b0 O- y$ r$ j: Mtt=yuce_0-x1_all_0;4 v; F" X( Y; o" K  I7 ]2 {. h
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));' N) p5 G3 i0 c+ p/ L* c
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    1 Q: X2 p! w( y4 Wc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    6 c' W0 s5 D: ?7 ^
    ; w5 `5 w4 @! V7 Y6 q9 ^+ l3 预测结果比较
    5 _  h) h( h9 K' B/ F
      r  {0 x2 B8 [6 g* q0 Q) e% Q- R' m

    , O/ b5 @/ i1 P$ S* D- j% U2 Z( h
    ( D2 N4 M: a2 `* R# g! w- P比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:! ~5 w2 t/ `) g3 R
    , n) Z  ~7 k- J* W
    clc,clear
    8 s; E% g2 X( c+ v7 Vx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.357 a2 n! S' M' R2 _: ~
    9.39 10.59 10.94 10.44];
    1 m+ Y9 @$ ^, |. P9 y0 bn=length(x1);4 m( o' A- E3 k; K
    x0=diff(x1);
    5 G( {7 b4 L+ Mx0=[x1(1),x0]
    ' C" s- k8 V2 \( nfor i=2:n
    6 O7 l3 e* W. R    z1(i)=0.5*(x1(i)+x1(i-1));/ u9 F" r4 c7 L. H! E  ^
    end
    ) H( H1 u, A2 _0 AB=[-z1(2:end)',ones(n-1,1)];  L, @8 Y* a. U9 q
    Y=x0(2:end)';
    . {4 c" V( [+ T% M( b* tabhat=B\Y %估计参数 a,b 的值
    7 A1 C* j" ?( W# b- F; f, o" wx=dsolve('Dx+a*x=b','x(0)=x0');
    , U" x+ E# z6 Z0 ^) B' Ox=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});& O5 w( W6 A  l  l
    yuce=subs(x,'t',0:14) %计算预测值; r- @, F* w/ }8 C: F
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    8 ~0 i( I# x1 E8 ]( e+ t值之后,或者不使用该语句, H) U2 L+ }2 l$ p% P7 s7 P1 Z" d% S
    yuce(16)=yuce(15);) @( {) `+ V* O( u, R" |7 f
    x1_all=[x1,9.92,10.71];
    ) r, H9 S/ k3 v) V4 S$ ~epsilon=x1_all-yuce %计算残差) O2 Y& K  E8 v
    delta=abs(epsilon./x1_all) %计算相对误差
    * v# G" p/ h* X/ k0 _delta_mean=mean(delta) %计算平均相对误差
    - L7 m4 N: v4 h( O* w8 Q  `x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    0 Z: v1 ^8 O6 Z3 Z7 {yuce_0=yuce-yuce(1); %数据列的始点零化像
    , [1 l& ]& h. b2 Js0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));8 r* [7 e9 w9 w4 }+ D9 O' V$ H
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    / F. j$ y5 j( `& u* Ttt=yuce_0-x1_all_0;
    & _& d8 w" D" R( ws1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));- ~5 h9 `9 ?$ M6 }; n& G
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    , U; r9 m6 Q5 o' D* e/ V7 o0 Kc=std(epsilon,1)/std(x1_all,1) %计算标准差比值5 `  X9 Z' u% z6 R. g' K
    8 R- N9 l6 ]0 a/ b0 q; y
    4 结语& R! p" g% U: m" y1 A$ r
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    ; I  j( b1 ~+ L/ h. r% K# c0 x6 y————————————————# N4 {7 [8 Y' C; u6 V1 k8 l9 h+ C) x
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    $ M$ Z  O! {( n, s6 ?1 S% d2 U2 r原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    ) F6 i8 `& S6 G% P6 W" S' p. h' Y# H- I
    + k2 n9 }3 O, }2 V; g+ N

    % k7 x+ F  N) P+ l$ W/ m3 e. d2 Q. G
    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 03:09 , Processed in 0.433759 second(s), 50 queries .

    回顶部