请选择 进入手机版 | 继续访问电脑版

QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 313|回复: 0

[建模教程] 灰色系统理论及其应用 (七) :道路交通事故灰色 Verhulst 预测模型

[复制链接]
字体大小: 正常 放大
浅夏110 实名认证       

542

主题

14

听众

1万

积分

  • TA的每日心情
    开心
    2020-11-14 17:15
  • 签到天数: 74 天

    [LV.6]常住居民II

    邮箱绑定达人

    群组2019美赛冲刺课程

    群组站长地区赛培训

    群组2019考研数学 桃子老师

    群组2018教师培训(呼伦贝

    群组2019考研数学 站长系列

    发表于 2020-5-28 10:03 |显示全部楼层
    |招呼Ta 关注Ta |邮箱已经成功绑定
    灰色预测是通过原始数据的处理和灰色模型的建立,发现和掌握系统发展规律,对 系统的未来状态作出科学的定量预测。目前应用较多的灰色预测模型是 GM(1,1)模型、 灰色马尔可夫预测模型等,可用于预测交通事故发生次数、死亡人数、受伤人数和财产 损失等指标。GM(1,1)模型适用于具有较强指数规律的序列,只能描述单调的变化过程。但是道路交通系统是一个动态的时变系统,道路交通事故作为道路系统的行为特征量, 具有一定的随机波动性,它的发展呈现某种变化趋势的非平稳随机过程,因此可建立交 通事故灰色马尔可夫预测模型,以提高预测精度。但灰色马尔可夫预测模型的应用难点 是如何进行状态划分,故对于非单调的摆动发展序列或具有饱和状态的 S 形序列, Verhulst 模型,GM(2,1)模型等更适用。0 s4 @4 c' }! C+ g
    4 U$ S# R8 Q# Z. R, L/ {
    Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
    2 m/ `! A& l& P- i; p# o9 G6 Y; \8 X- k; F
    1 Verhulst 模型简介
    ! h! ^/ j/ |6 n; ^Verhulst 模型的基本原理和计算方法简介图下4 s6 l! B, G( c/ x1 D1 s: j5 B9 g

    ! F4 j+ Q  O3 F$ z7 D
    . z" h- W) j2 q0 c5 D0 g8 P& {/ w
    参数列的最小二乘估计6 A: |7 Z" w7 C% z2 \- r
    - i. q& x5 K8 D- t+ _

    / J3 d8 f6 Z. N+ w/ j  q+ `9 g. O( W' v: Z" _5 H1 r' ?  z

    2 w3 q( w# Q: e 定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    0 k, @  o; H' z0 F5 @; \7 }, _: T+ _8 g7 k
    0 {! s2 P; q% o3 P
    ( z5 `8 f  X- f& L2 y3 l
    灰色 Verhulst 模型的时间响应序列为  z  o6 P8 w( ]* f" p) Q, `( a

    ) J7 D# [" A( C1 D7 _0 E- ]
    1 t- d% U3 q7 v' U% k0 i  G) a$ [- S$ j& f" E0 v' M4 T" a
    累减还原式为
    ! X& q. _- @! l  _  X  \8 g5 b7 B4 I# j" U
    & j7 {% E8 b- ?; j* a8 B: O9 f2 C

    ; t+ b8 y1 N+ S: ?, @8 U. a9 ]% c2 道路交通事故 Verhulst 预测模型9 `7 _0 @& F7 {" R

    ' W' E; o; k) N7 R& m, `8 K" t( e* i5 P# m$ n/ k  h
    : y5 P' v# g' b5 R) P' h
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。8 C* a+ n( r/ X" u  J. u# f; i
    ) G! X4 K: n! s
    * F1 v* r: l# a0 q' t" V+ ?
      Q% f# E6 Y6 G5 [) j) k6 [

    2 i& z5 j5 W1 ~3 j6 f% y
    , C! n; b6 B2 d" W2 r" x( A, O
    / q, u; L* i+ c* j! l3 p9 c8 _4 q' a( {* `" [4 F4 w
    $ |. R' v. H+ b  h6 d  U( Y
    9 W" N. I/ A; p) s* S* l
    (7)模型精度检验。1 H' P- W$ {9 n/ x, Z2 f
    : R. v: A" G1 O, R6 a4 J
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    / p2 a& |6 E) z6 `, B: q* m+ @3 `2 x4 Z# s
    ① 残差合格模型
    ; y8 i8 q  A0 [0 R7 d5 P8 |9 Q& r* w% S5 C6 |* H
    . D' c8 X9 J1 {- |8 S$ F
    & c  b2 F; f6 c! f6 T
    0 o! ^2 j9 q: q, `5 C4 f8 H) P2 _( O
    ! }. \7 ~  b0 ?- W3 A2 u
    ② 关联度合格模型* f/ `! q  |: g4 S  h# r

    & E; p# c! Y8 k" W5 R2 q
    1 Z( o0 h( [- H, M8 U# K6 |
    1 N  O% ~9 X9 a( U, V* ?1 k2 w ③ 均方差比合格模型
    : M) t' F, k  _5 {, H6 D
    + ~% O1 C  B+ ]. Q4 v" x" C% f; W% O6 ]1 W% W6 n
    9 {; T! S* Y$ s+ Z: m
    ④ 小误差概率合格模型, g# l: h! w- ^0 n

    0 R  J9 B% ^8 ~9 h
    8 S+ l3 n7 s7 h7 X: R' K" B1 O& `+ R" W* _8 y+ h) H. N& i
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。; f  z4 g4 e4 _% I. Z/ G+ r

    $ _9 ?7 A% Q- r; Q) X% w
    $ m& n4 N- W3 s3 F' r
    : c! E# r: n2 `6 `! }5 }' P+ A3 m由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    ) l6 \" c2 l- T7 r' ?, W7 a. [; M  ~4 f% m0 ^2 A/ z
    8 f0 E8 B7 x/ I  b
    2 x7 \' C! ?1 o

    0 w( J4 X( Z$ e2 M$ a$ w* m
    + k8 ?: c# ]1 D* _计算的 MATLAB 程序如下:& P) `! \  N. b% V: a8 a

      o  B2 G1 J  Z. h8 Jclc,clear( j: w5 z0 D! F3 y
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35  m( f! T; W3 u# q  q0 `6 F; S
    9.39 10.59 10.94 10.44];" K" Q& \& r( e' L$ N
    n=length(x1);4 }. r& w5 U5 N2 D2 k3 Z/ S. w
    nian=1990:2003;
    % P* q& X) _3 O5 w3 W7 pplot(nian,x1,'o-');
    - {7 a% N0 X( t1 ?5 Z2 q) Y/ Ux0=diff(x1);. V4 l0 S  q' Q, J* a7 Q& O3 {
    x0=[x1(1),x0]
    8 ?" e5 c$ }6 N# D1 qfor i=2:n
    7 ~& ^+ h/ L" J( |    z1(i)=0.5*(x1(i)+x1(i-1));
    : [/ B$ u+ n! _' I& H3 Xend
    5 p9 Q3 r1 i; m$ _8 t; k2 Kz1
    2 g0 s- G9 ]. c) m- _( x% F' t- tB=[-z1(2:end)',z1(2:end)'.^2]
    0 i; `, _/ ~- w2 P2 O! Z& UY=x0(2:end)'/ ~3 p7 c7 Y6 B$ {" [
    abhat=B\Y %估计参数 a,b 的值
    0 [2 e' \4 v: ix=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程- G% w( l4 N3 M1 o" x7 R
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    & ?# v$ ?/ p$ K3 s3 i* E; Qyuce=subs(x,'t',0:14) %计算预测值9 G$ f3 W2 ^- }
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    1 R) R5 g* j+ v" E8 w% Cyuce(16)=yuce(15);% X& V4 v) ~& D% [6 `& L4 x, N
    x1_all=[x1,9.92,10.71];( {4 Y0 ]; P9 X5 L
    epsilon=x1_all-yuce %计算残差
    , b% i; w% N, idelta=abs(epsilon./x1_all) %计算相对误差& e5 G/ @9 [) {' Q
    delta_mean=mean(delta) %计算平均相对误差
    5 C+ V/ Q# m" R8 [# Gx1_all_0=x1_all-x1_all(1); %数据列的始点零化像$ w# D- F% \) ^+ z& l4 u0 r5 b
    yuce_0=yuce-yuce(1); %数据列的始点零化像7 B( C2 d; \* J0 A4 e; H; M( |& B8 b
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));( r# N: n$ n, X
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    ; K& z$ }" u) X, _, F* ~7 n$ htt=yuce_0-x1_all_0;
    7 M% z% N- E, Us1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    & l$ K9 n) ^" @) kabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度7 r+ w0 n' o' Z) |
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    , G( S. T7 F5 {+ J1 Q% [0 R2 `" w
    3 预测结果比较) G# T0 A& r: n' Z: M

    6 `* j5 [+ V7 K6 J3 q8 f* X6 o9 k) u0 X& r* ]! C% M8 b) g

    . d5 H) d$ M. a% ~" a# K& [" u! L; g
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
    3 J' F# S0 C$ m3 L( U* o3 G9 }8 p5 X- |: M6 \  Z9 J
    clc,clear# m1 X' b$ B2 x; }# d  C
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    9 V+ O1 L9 W6 i( ]. F; k0 t9 }9.39 10.59 10.94 10.44]; 5 e8 F! g3 [4 Y  V4 d
    n=length(x1);
    6 S3 @5 e  D5 ~* S/ O8 A& E3 F/ Ex0=diff(x1);
    ) x- T6 g4 w6 ~4 C6 ?4 A* h$ q* \x0=[x1(1),x0]
    4 B; p  v3 @/ O, |" F5 h7 ?0 P$ E6 Cfor i=2:n7 F6 z1 j" _! z. P- W. b1 H  E
        z1(i)=0.5*(x1(i)+x1(i-1));
    ( u, p9 n1 j  k3 d; bend3 H& X# R1 K% i- L
    B=[-z1(2:end)',ones(n-1,1)];0 M: s' O" v- s! A! y$ k
    Y=x0(2:end)';
    3 t$ b, h% V3 b1 e, H0 Z# Aabhat=B\Y %估计参数 a,b 的值
    " u/ L" t4 D- {3 Y9 k$ Rx=dsolve('Dx+a*x=b','x(0)=x0');' e  a! R) T+ x5 v) x% A
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});+ _( `! H, z# X# F+ A
    yuce=subs(x,'t',0:14) %计算预测值& v6 s6 H3 z" r8 U
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测" D2 B# s& E! C! G8 G+ c8 ]
    值之后,或者不使用该语句  J/ f8 ^5 g0 l+ u+ d- t! |9 L
    yuce(16)=yuce(15);
    & ?, {5 ], ~: d2 c2 px1_all=[x1,9.92,10.71];
    : k" c5 ]4 o) a- fepsilon=x1_all-yuce %计算残差7 w9 ]* d) O( s5 J* s" s
    delta=abs(epsilon./x1_all) %计算相对误差
    8 O! T6 [6 I1 |" K7 vdelta_mean=mean(delta) %计算平均相对误差
    " p9 v3 n, z( z8 jx1_all_0=x1_all-x1_all(1); %数据列的始点零化像: T/ R" d' r. D, C- ]4 R4 M
    yuce_0=yuce-yuce(1); %数据列的始点零化像# ]' e5 e$ C7 Y
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    6 b' Q6 B% y4 o8 Q3 ^s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    * c7 N" ~, k$ \, ntt=yuce_0-x1_all_0;
    3 @6 _# q$ d" }2 M4 Z( w* v# ks1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));* T/ X  J  H1 P; p. B
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度; ~$ r" J2 q  b- _2 l$ }
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    ) k: C/ {0 o1 S: W: c7 ?9 Z& Q
    4 ~5 [3 y: l( \0 U 4 结语" `  h: A2 V8 H: D( [) \
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。2 S+ m; [% y6 ]
    ————————————————
      Y3 a' x+ F2 l% e: w2 d版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    8 H6 H# r. d" p2 U6 J& B6 g$ U原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039* m  C+ Y  {) t, Z

    6 a$ s7 ]$ ~% a5 t8 }! h: R
    9 I! \. [' Z$ M6 ~5 x; c. f1 g" j4 U; F/ i% t; X
    zan
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2021-2-27 08:12 , Processed in 1.191778 second(s), 51 queries .

    回顶部