QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3013|回复: 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)模型等更适用。
    : @+ L# E1 E7 ?# B7 h2 X$ r6 V3 Y/ A: b+ |: o) g# P5 T  w* V
    Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。- }3 F  y# D8 g
    - B1 y  ?' H, h
    1 Verhulst 模型简介, k* W# S; s- y3 \
    Verhulst 模型的基本原理和计算方法简介图下  n; S. P& N, e9 V3 P4 {: F3 z9 E
    # j+ m9 r/ \( l0 W% m

    * ?+ e+ d5 k. Q; p$ ~3 R2 v2 G7 o' J1 o/ d
    参数列的最小二乘估计
    1 y1 \/ n$ R: L: z! I! N7 |7 C# l6 z3 D' H7 g
    - v/ y6 [. o$ Z2 _2 c
    ( ^6 f$ Z7 |8 N0 i) I1 {8 f
    8 [7 }' I4 t: @. r( G
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为0 d! j, Q* n3 S0 s+ G  T/ Q

    4 h' o( ^% ]1 M$ g2 O) {" i* @% E
    + h8 ?5 _6 I3 C2 B; ]7 u8 I. ?( m3 p4 j; s* l
    灰色 Verhulst 模型的时间响应序列为
    / O5 h" e2 f" B4 q. x& G, s9 p* z; |
    ! `2 X; c, {& G2 u
    1 R0 a7 F2 {4 h4 o9 l! c! b
    * _; j- W7 g6 X0 t  C; `8 @1 l累减还原式为" S2 F+ a1 ^! ~: M( [* @  y- B
    ! F7 }0 {) K% V8 V& t; o( X
    ( P( e+ l) v8 U1 r0 U

    * q! }5 T! _6 k. l2 道路交通事故 Verhulst 预测模型
    2 @3 K; N; q- y( y# \# D" K: x; }& n+ v( L5 p; ~% }, A' K2 ]2 r7 W

    % m& K0 `: f4 c2 _5 S: P
    / B& z2 y" v( V" Q9 I+ ~2 H! k+ @1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
    7 |" {* s9 ?% M1 J* _' u  i4 u
    2 B/ l8 M2 J) A! e; u$ u
    ! R, m& U8 W6 J; |2 e( ]4 s9 U* }* x6 L5 g+ _* h& R: i
    1 e/ p7 r5 u' n; s
    7 H5 [* i8 \8 m1 O5 U! O
    . O0 l) }2 |$ D% ?
    2 k6 d, p0 T( F% \4 f( c

    # ]! ~" p. ?* ?, A: v- P, c" Y: g/ j8 W5 ?- V2 }; j0 J" ?4 z
    (7)模型精度检验。8 H* s2 t, \5 f* W2 A

      x1 N% Z5 S# [9 |. l: }% P# c一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    $ S% R/ `# S! M+ V; w( G* g4 F/ q* p) G, A% O5 f( _# p" g
    ① 残差合格模型
    + S' \' m; ?5 c' W$ @4 n1 i* Y  P$ ?+ A1 w$ q; [1 u, I7 D+ C
    ! [8 }" ~0 o. ^' T# L, [( F" ~
    6 ~+ b2 j, S+ U" [3 F9 t

    % E5 F+ L% ?3 ^: M" m3 {5 t" h& y
    ② 关联度合格模型$ j% ~; K. l5 X: b  c5 z+ m
    ) Y/ C- ~) {8 I
    ! d3 j1 w0 E% Q# G2 J- K9 v
    6 u. r4 n! Z5 j/ E0 s" _
    ③ 均方差比合格模型
    4 W+ ^( U. j, \5 S- i1 P7 c: \% X- z1 l: d% M, l- _& t

    2 x/ Q# K3 s+ t" [+ h: T# {
    ; ^3 G; ?) i) U- b$ l$ W④ 小误差概率合格模型0 e% d) X) y+ }( H6 W& Z' [- G" r
    ( E8 @0 S+ J9 p! R! F* H3 @! W
    ' s9 R# ~& O  a, d+ W1 h

    ) t$ n2 ]) c# `2 Q" h4 F由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
    ! P. l2 ^1 H  v( [9 J1 f6 t! [3 V8 ^2 p' n/ N; W9 K* q

    % Q; R+ o' I7 W& l" W
    ! r- M) u* d. n4 O* Q# c( ]% F由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。# R2 U2 p0 F7 S' o
    # v  n3 C; K9 m% ~1 w: j

    1 v: `& u, D/ D8 m0 A& N# Z3 ~  d7 M8 j" N; @

    1 a- I6 V; y! L. u2 y: y) ]
    - P5 ?0 Y# i' Q& `计算的 MATLAB 程序如下:- d7 n/ Z% T) h4 h! ?5 i  p5 u% h$ H, N

    - F! C2 M) ^& P7 Q$ R8 e$ Tclc,clear
    ) g$ X/ d9 F' N4 w+ Px1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.351 u$ I! e& W/ @+ ?+ ?8 E
    9.39 10.59 10.94 10.44];
    2 i, L; v6 _; |; T9 a- L& w( vn=length(x1);8 Q: E! e2 u9 H( O* O
    nian=1990:2003;
    ) M0 m% U. g; @- splot(nian,x1,'o-');5 P( T% {: f- @
    x0=diff(x1);
    - o7 E$ h  r1 Z7 _x0=[x1(1),x0]& A8 z! [/ y% {0 x0 n1 ?
    for i=2:n
    4 Z* s" B6 E- I( s% Z! ~5 _% T    z1(i)=0.5*(x1(i)+x1(i-1));
    . {1 e) r4 F* M9 Gend
    8 F: n, W8 [6 |& m6 T6 w6 {  \5 Zz1
    - }2 i" ^! d9 ^3 _5 |% y* E4 Y& v8 {B=[-z1(2:end)',z1(2:end)'.^2]
    0 J( |0 }7 z, |" I, _5 uY=x0(2:end)'
    " |& X+ Z+ f( n- S2 o# A7 ]abhat=B\Y %估计参数 a,b 的值5 W" P7 r' [2 G
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    5 C: G( d" q- c/ w+ \$ y0 w, y$ jx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值& h  t* n  [& r9 I5 t) R
    yuce=subs(x,'t',0:14) %计算预测值7 m4 f' `3 k: v/ R. _, }  p" j" E
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    4 p* s+ g3 d- ]yuce(16)=yuce(15);
    ' M5 \4 ~; o/ Y. Q6 C: ?x1_all=[x1,9.92,10.71];7 N# L$ I5 [2 @- H- e0 A
    epsilon=x1_all-yuce %计算残差1 i, z: ^  S6 w
    delta=abs(epsilon./x1_all) %计算相对误差" U7 P! n8 c5 S# D+ T6 ^
    delta_mean=mean(delta) %计算平均相对误差
    * v. {- a9 A) V) F( ?x1_all_0=x1_all-x1_all(1); %数据列的始点零化像/ [7 w  h% g8 X% _$ L
    yuce_0=yuce-yuce(1); %数据列的始点零化像% _1 ~  H+ _7 Q7 L' D* w  o' b
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    " ~% X" a% v, P1 ds1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));$ I5 W) Q3 Y8 z; r/ j2 l
    tt=yuce_0-x1_all_0;
    : ^/ \5 e9 L& g( t) @( \s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));: n; `6 s5 ^$ i- n; t+ v6 J! T! y0 W
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    2 k3 o8 j6 ?" Y8 {1 I2 R! lc=std(epsilon,1)/std(x1_all,1) %计算标准差比值" \( q: |8 B! h8 ~
    & w' e% M3 F8 p- l' j9 J7 I1 u0 B
    3 预测结果比较! V! |" h' K: |" B" }2 c3 ~
    4 Y% ^6 V1 |5 U3 P( _: O
    7 @  @+ e& _" ?7 `+ A1 G/ m% k3 m! p
    9 V% B% R4 [% ~/ C' c5 E9 ^; v
    + D" I. J# r& r$ U% U9 C4 m
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
    5 q9 \% a4 v1 v& m* O
    7 a: ]9 `, t5 I) v1 `8 u; A8 qclc,clear* v& I" k# X: W9 Q+ s0 O* ~
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35# p7 E) E. o! i
    9.39 10.59 10.94 10.44];
    2 b. f  Z4 a' b$ h% _n=length(x1);+ b, R8 m1 i2 Z
    x0=diff(x1);5 w( c1 v+ ~' E7 _- e7 p
    x0=[x1(1),x0]
    % \0 B5 W, q( I* _0 _9 dfor i=2:n0 ~9 x' k0 M9 u* K1 y! V" L6 J# R
        z1(i)=0.5*(x1(i)+x1(i-1));% D& g2 j, N, U; E
    end
    # a) S5 d- h# P& IB=[-z1(2:end)',ones(n-1,1)];
    " s' H: z1 F2 t' y" n  F0 @Y=x0(2:end)';
    . H7 C& `; Z8 |abhat=B\Y %估计参数 a,b 的值
    : [) l) d% V) g5 f9 yx=dsolve('Dx+a*x=b','x(0)=x0');
    ( \- @4 y  @$ m9 L+ Fx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});# S' n; d. S  X' z: N, V8 k
    yuce=subs(x,'t',0:14) %计算预测值/ o% [; }) [; R5 S: S  X; P- F
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测9 T; P& k6 X1 k/ p- ~! r0 y0 T3 J
    值之后,或者不使用该语句
    # d% V# a' R0 G7 \9 {+ \" @* _# P- Ryuce(16)=yuce(15);4 e% p) W! X2 ]2 ^& l
    x1_all=[x1,9.92,10.71];; y* X9 q# w: t( f. Q4 r6 S
    epsilon=x1_all-yuce %计算残差  C* W" h2 E$ ]* P# y) |: G
    delta=abs(epsilon./x1_all) %计算相对误差
    8 E# m2 s2 G7 X- F0 Wdelta_mean=mean(delta) %计算平均相对误差
    ! A2 g- x6 H+ b: Fx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    4 @! M" Z. f/ }yuce_0=yuce-yuce(1); %数据列的始点零化像
    ' c2 r/ w& A6 y9 V( ~  as0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    & X, l( B  r6 z; V1 A6 q3 Ws1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    ; ^: h8 R3 ], wtt=yuce_0-x1_all_0;, g' n7 K/ ?  Z7 b7 H
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));' q# U2 l6 @% x4 c$ p5 @
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度: ~; o  N+ n) N6 t, a& F
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值- S' P3 g; k7 g/ B: m3 A, [

    6 O/ `) J" q# Q( e5 N 4 结语
    . A. Q0 u" r( }2 N/ e道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    7 x% \; C2 v9 Z  n" C————————————————  a' V' }4 }3 }' H- z
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    & x$ N2 y( n! G2 \原文链接:https://blog.csdn.net/qq_29831163/article/details/897150398 O; M" G4 z  f8 O/ E2 ?
    , q% j& R8 ]9 E1 i3 N, I+ @

    ) O3 m- {2 S( Y/ g9 j
    , s0 S: n0 B- u; I$ S. m. i: Y& 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-9-13 09:53 , Processed in 0.897782 second(s), 50 queries .

    回顶部