QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2917|回复: 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)模型等更适用。
    7 P) M% k1 @: t$ X
    9 N& g# q7 g7 C5 i. UVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。6 T* ^' J! _. c

    5 K; m) |7 y8 B5 I1 Verhulst 模型简介
    7 `  C" l5 z9 u, E% {* S  e7 hVerhulst 模型的基本原理和计算方法简介图下) w. E9 k3 u3 Q1 E" P: g  I
    3 S0 _! {7 f5 v3 ~0 I

    3 W" d7 e0 d! o- y
    6 d/ _9 s6 z" y% x, X4 G参数列的最小二乘估计
    ; B$ D7 T2 d% b; c4 C' a" V7 C$ A. O6 j
    % |; S1 Z  Z2 l$ u- c

    / P% T/ T. `1 ?4 `9 c0 `4 f' X) F! e! L- t$ q
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为% r% Q$ {& v+ x5 g9 O" X
    * u/ j$ S3 l# ~* v$ ^- `* G
    - n- W) I  ?: I# z/ c$ I+ C

    ( ^* T* H% T( ^4 A0 }4 Z灰色 Verhulst 模型的时间响应序列为
    * r5 |8 E" U2 N: y% G6 E8 D$ `
    6 K  g6 ^- G0 m) c6 V  U, q: R1 X1 F
    2 [! {( X/ r, T4 x- Y& J
    累减还原式为* b9 ?/ X- y/ R" J6 U) q

    " z1 P- a8 V, S1 T" `7 k& @6 u8 K: }% |) F  Z
    1 t0 R' B! k- {4 V
    2 道路交通事故 Verhulst 预测模型
    7 }( J7 I" q( d# H. E9 n" ?
    4 {. w; ~8 l# U
    6 U$ b5 D- y$ G, L6 M+ S% `1 c
    % z- }" f+ y6 T1 V0 Y1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。: v+ G4 ]7 J) h: H) y" x% `) B

    9 w3 P, E* Q) }+ }. }, e) F# k
    * O3 D! d; b4 c$ p8 ~* b  P6 Y& D# w' U
    * i& H5 l1 c* X8 ]1 u% l

    1 Z2 t, X' h8 s: s
    $ y+ l4 O2 ^/ p, b
    / {% S9 p" ]  w5 u* c  s& e2 J
    5 b/ Z/ `3 a. I# n: ]0 u3 g, R2 X6 M" Q1 f# ~
    (7)模型精度检验。; \! \  p. ^6 A3 p
    . Z' A' E( |+ W* d, E" Q/ @  L* e
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    : Z: x8 \% Z& q2 {( E8 [% K! o6 R- ]: n" S
    ① 残差合格模型
    5 l# W7 |" l4 U; b3 i% f+ w4 \. u/ s+ K+ ?1 J' O  ^4 ]7 D; x
    6 o5 }; K) c1 I
    ( i/ o% F7 E7 {

    $ k6 `- ?; v" p: O( h& H+ q+ S) y6 _% g. D2 A
    ② 关联度合格模型' [# ?; V* y) ~' P! ]' V

    , w/ U0 g0 y: L% X9 [, O) Y' k; `0 S+ A' B2 \, v/ h2 `
    ) q. T% _4 F5 o) Z% A' E
    ③ 均方差比合格模型
    / o8 f2 Y. p$ P3 b$ p% i+ l6 j, j- S3 {
    9 i0 k3 m; h2 n3 c4 t: k% Y4 s+ F! P4 {3 F/ c4 K: D

    : p3 ], y! ]* x' O④ 小误差概率合格模型
    ) w$ e2 W) r( y9 m; I5 n) B  `. x
    5 Q7 Q' L2 l( d' ~+ _, a, p1 P/ r4 J& l% J4 S1 e* x

    * y9 a6 P# ?4 |" S" i由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
    + O$ M+ V( O) |$ c5 O  N+ E( t9 H, p: i7 |" S& C( Z+ J, m6 Z8 y

    7 j+ ]5 e% Z+ a& P$ B/ ~& z- R4 T0 u. ?+ q" b% C( S
    由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。( f) W, Y4 Q& C  z; ]: y
    ; y. Q* d- a! X/ z, F

    , X9 F% E" a5 W
    $ e9 t/ g( O2 k1 p/ z/ c3 w7 j; P- d; c; t
    % F7 a/ P5 l6 o# T9 ]
    计算的 MATLAB 程序如下:, C6 Q1 J  m) n7 W: k4 A

    ( n# [0 e6 B& z3 }, X: Iclc,clear
    : ^$ i5 |8 _2 J& Jx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    ' l: Y4 v# u+ g3 n3 c9.39 10.59 10.94 10.44];
    4 h; S! i2 r; W1 nn=length(x1);
    4 w* U# B6 P: T; x, F% \nian=1990:2003;
    * _7 Q9 z' E/ ~5 u# \' b* I% ]' qplot(nian,x1,'o-');! s/ D2 C$ z. |( z4 ~* y
    x0=diff(x1);
    7 v8 `/ n- q. k& ~x0=[x1(1),x0]
    0 ]& W6 P8 k: M5 b+ l/ I2 ~for i=2:n& Y' U* a1 z" \) Q5 ^* ~; g
        z1(i)=0.5*(x1(i)+x1(i-1));
    . ^/ ~9 w. i/ R* L8 f3 {( ]' j8 ?end
    % @/ }3 p0 c- X0 }3 {' Y" z3 az1" a4 j3 Q& R( p0 [
    B=[-z1(2:end)',z1(2:end)'.^2]! ]( G1 F* t) a9 b5 L( L$ A
    Y=x0(2:end)'; c- f) L) ]% m3 |5 g  Z
    abhat=B\Y %估计参数 a,b 的值$ g/ P5 H; {0 q- s
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程  S- J% l0 u+ w+ h
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值% J- Z6 d2 _& z$ {0 z5 R
    yuce=subs(x,'t',0:14) %计算预测值
    # c7 o" B  h' s! q4 a# jdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句  ~4 F3 @8 N; I8 L& a7 N4 j) I
    yuce(16)=yuce(15);
    3 m& C5 {" P$ A# z: i8 Ex1_all=[x1,9.92,10.71];
    8 n0 n7 E' }- ], ]) I0 Nepsilon=x1_all-yuce %计算残差
    , ^" G6 ]& c' e) K4 s8 Kdelta=abs(epsilon./x1_all) %计算相对误差
    6 H  h6 f$ ]$ `2 hdelta_mean=mean(delta) %计算平均相对误差
    ' r' A8 }5 `; c8 F, h6 yx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    : J, V9 ^" p% H4 k/ j7 byuce_0=yuce-yuce(1); %数据列的始点零化像- N  a# N3 j2 I7 P+ w
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));( j/ s" ^, C# J/ _
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    4 T1 F8 ^2 b6 R* v' |3 T' ytt=yuce_0-x1_all_0;+ i: e, t7 z- E6 v( b7 h, y; V  B5 H
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));& N% I: n' W3 d
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    & T) ~$ n5 o! I' S! I5 R/ bc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    . n$ i' ^  o9 e: Q) b. s/ j0 F/ V, g1 d& @% ~
    3 预测结果比较, r9 J; u. r4 C3 q3 w9 q

    4 v6 V8 @2 @! S# ^2 E; E1 ?# F
    $ x0 a$ g2 N. `. ?- y! z7 r1 P
    5 y7 h0 _: @% V7 }
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:7 w$ T; T) q8 R7 F% \
      L+ u1 R* }2 k8 w7 C' y( y7 s
    clc,clear8 j6 j) r: x' Z; U. v  v3 P3 N+ n
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35% d6 i. s2 D/ T. X; B
    9.39 10.59 10.94 10.44];
    % k4 M1 y3 D0 u5 D+ Jn=length(x1);- T6 _7 w+ n9 {. c! b2 Q1 ?; M8 |
    x0=diff(x1);
      g' f4 k0 z5 ~4 yx0=[x1(1),x0]
    ) ]6 p% f/ ?" {% v# V: M/ u- w) a* Afor i=2:n
    $ u0 X; X4 w) `8 z$ X' Q  ?    z1(i)=0.5*(x1(i)+x1(i-1));+ B+ Q" N/ o0 m; G8 N& M% L
    end
    . E! R- I0 ^2 ]  V' N, o: h( C0 f) QB=[-z1(2:end)',ones(n-1,1)];. A/ l2 q/ R4 J5 v7 q
    Y=x0(2:end)';6 M8 {( U/ z* d3 N
    abhat=B\Y %估计参数 a,b 的值) q6 |. g8 S* G& E7 t. U
    x=dsolve('Dx+a*x=b','x(0)=x0');; o* |3 ^) h% G# O+ f$ Q
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});6 T- K/ J0 u' v7 I- y$ D
    yuce=subs(x,'t',0:14) %计算预测值
    0 ~4 }1 l$ T: o2 vdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
    / P+ F3 T! w2 k0 ^8 z# M! U# w/ K值之后,或者不使用该语句
    , p- e: W5 p/ g' Zyuce(16)=yuce(15);3 a) _* u0 i# q. x& Z
    x1_all=[x1,9.92,10.71];' B* L! T) E8 _+ r
    epsilon=x1_all-yuce %计算残差
    ' \" C9 x  U4 O7 gdelta=abs(epsilon./x1_all) %计算相对误差
    2 J& R0 R$ ]4 y& w  |- Z3 ]delta_mean=mean(delta) %计算平均相对误差( `) f% f2 ?3 H2 _( L
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    % c) u9 }# G- G7 Y4 Cyuce_0=yuce-yuce(1); %数据列的始点零化像
    0 V) W& I- \6 P" ~8 Ms0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    7 W/ \7 q" F' q$ t( Bs1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    6 C# B% b. F0 Y3 @( A  L* Y$ {tt=yuce_0-x1_all_0;  |7 R! a9 B; X" [! j( w
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    4 A* p' f0 O1 f2 n# \: c2 jabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    . L- z. W  t9 O8 }- R/ K; Ic=std(epsilon,1)/std(x1_all,1) %计算标准差比值: o# @: E1 Q+ G
    $ [, A( R' w0 \, a7 e
    4 结语; m. Q. z, n# r# Q6 S/ }
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。# e, G2 n0 _0 c, P' ~
    ————————————————
    $ {' A5 i. ?# V5 a+ c/ N+ D1 X! ?版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。- f# h1 v, i# k& t4 H$ r
    原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    $ d% \) Y: y5 `, G
    3 B0 e- `# t6 z  X  }
    / ?* U1 e* ^/ }5 f
    4 P0 [$ \& v+ x$ M5 g; V; T
    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-22 09:17 , Processed in 0.556991 second(s), 50 queries .

    回顶部