QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2909|回复: 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)模型等更适用。0 U- M% U" \6 I% [

    3 n, `% o+ R6 n9 L6 M0 pVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
    ' a! e, N9 m& q* X5 z% U7 [4 W+ A1 L# d+ m
    1 Verhulst 模型简介
    2 M* n/ c/ o; \8 a7 NVerhulst 模型的基本原理和计算方法简介图下
    ( j4 f8 T% a6 }: Q- M/ b! k5 M( O3 r! x8 t
    0 F" \; F! z3 {# y: J7 D
    3 c1 s; l, k# k4 `( f* e, D! B
    参数列的最小二乘估计
    9 p- V0 ?* F3 J. P2 m  j  M  ]7 ^( d& l) A* X( j& \
    ) t; l& U) N! x, [5 G/ ?3 u

    8 U4 d$ d- h3 w4 l- L5 U
    3 D4 A+ u5 G6 h7 p, P7 A 定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    , P, H8 y3 t* P) y
    1 f; Z: m& V$ }* {- E7 u3 f! Q) Q$ @1 E; i

    + J) r. P/ v! Y9 B, p" |灰色 Verhulst 模型的时间响应序列为" q- M$ W" t* u1 A$ c" V
    ! [: S- U! X% T# I; B# H# F: L

    9 I9 }9 q2 G$ V  |, i7 j# S# R7 Q& i% ~! z# Z) R0 b8 v7 @, u, h% w
    累减还原式为* N* I7 ~3 p* L. h4 w

    8 N4 \! V1 @3 y; A( X% X
    ' _& ]6 A% l; L8 E0 u
    6 w7 F& r' |  P9 K2 道路交通事故 Verhulst 预测模型. h& G. U7 M( B. _5 y5 J, g+ e# L7 u
    & z2 B" H  O( w* Z+ I
    $ N' d- }1 s8 c
    + L0 T; _! A, n5 T  P
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。* P1 ]) x* U0 v  ~. T+ c# v6 t

    9 S9 Y. Z+ C1 O" @. n
    # Q$ j4 g# [( k7 E; z4 N0 L0 k) b# F' {9 i+ [$ G: A5 c0 q
    ' A. E, {- u: z! |) S
    5 [; F/ a- v5 t) w6 I  K4 R
    ( S# U" S" X8 }5 ~9 d$ }9 d* v
    + S, ]% T4 A6 T- A* G$ E" z1 L' h& {

    2 }  W4 Y4 o4 ]' e9 `" `9 [2 u+ r& S5 _$ z1 E. P
    (7)模型精度检验。
    ) O# b, n7 D1 p1 L* K1 x7 ~* J# p: u, e0 M2 w
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。# v6 `  j0 c1 x! ?6 X. A

    7 f/ E  D1 `0 K2 c① 残差合格模型
    1 U- z- i: c8 o/ n) O' o
    / T! V, n: b/ e) U! m( A7 I$ u
    3 K4 H& N3 N4 V/ }
    5 j: n8 P2 ^% _. b- K
    2 Y7 C: p  V: D" Q' J7 ^$ o, v9 f" ~/ u/ G8 ]& |4 _4 T
    ② 关联度合格模型7 c2 [. I& o/ Y' o9 A

    % q5 v* z  s# j' s6 [4 j6 \& d! c" H1 R# Q1 q! `6 B

    4 A9 y5 C+ U( I9 U: M. B" \% J. I ③ 均方差比合格模型# V+ E) L0 n% i( n
    3 s, S$ G6 R- q4 X# i
    7 W. F6 l: w9 E0 z1 X
    9 `4 c! }! q1 K, R- n4 V& }
    ④ 小误差概率合格模型: @% E' X+ B" ?
    : _0 Q6 w! q* N  n7 c& {9 O

    ( Q" O4 p4 c) c2 m! d0 |
    ( a3 K3 ]2 _* J由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
    # _- C/ v& E3 `( d( k! n. a; \" X9 Z
    % m# S. l! d0 {) f3 s
    ( o) c2 K& k. P" m. o6 S
    / X- M& _3 R" L1 Q: C% ?( M2 F% }7 r由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。; Q4 g# B+ ~, c$ e
    % I5 ]9 n) [% F7 C$ A

    - ~' }- M, n5 q+ S! g
    - I5 k- w2 D* R& ~6 h  |# _/ N) g: q* `* F7 N0 R$ [! f) j

    # z  }! m- _8 h/ J& F计算的 MATLAB 程序如下:* E: a) T% @2 O/ y' D, h

    / o0 \" u8 ]3 z5 _# jclc,clear
    8 b  X, Z* L9 `2 Q* tx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    + m% c6 z7 M2 r5 w* O) J2 s9.39 10.59 10.94 10.44];) f6 d- V( f! t/ [
    n=length(x1);) O' L- U$ s$ q$ A$ b0 n0 [
    nian=1990:2003;- A. z9 E) P8 Y3 X, X+ z- X/ v
    plot(nian,x1,'o-');
    6 x- @4 d3 K! N, w9 Lx0=diff(x1);
    6 t5 [& |3 E6 c' C8 R9 [+ s: g5 qx0=[x1(1),x0]6 I8 L5 Y5 ?3 s/ @: [$ V7 d/ w# p: O
    for i=2:n9 q& B6 h$ n* \( g
        z1(i)=0.5*(x1(i)+x1(i-1));, k/ s2 w% h! X, n
    end
    & r6 z1 e' w5 O9 Jz1
    5 S6 s  o4 l8 d% c8 dB=[-z1(2:end)',z1(2:end)'.^2]
    6 F2 ]  D+ g( }* jY=x0(2:end)'
    , l: K; S" a4 C' Zabhat=B\Y %估计参数 a,b 的值! a; ?- C$ ^4 l- q( a" j
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
    ! g3 u/ o, j3 E9 zx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    - q% g# A0 n0 h. U  S  ?* ryuce=subs(x,'t',0:14) %计算预测值( S) v0 D  K2 ~& K7 Q
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
    4 c* D% _- v. N2 o1 m6 Ayuce(16)=yuce(15);4 M0 }' |, {) G2 b+ T: `
    x1_all=[x1,9.92,10.71];  o! k2 i, y% S9 ]; N
    epsilon=x1_all-yuce %计算残差; m4 y% x2 `& M: P' L  u" m8 E
    delta=abs(epsilon./x1_all) %计算相对误差! V# P7 ^/ m% u: n% j3 z
    delta_mean=mean(delta) %计算平均相对误差; l1 r6 S6 _) ~/ l- b, X+ H# Q
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    ; ?6 c/ F% H: Dyuce_0=yuce-yuce(1); %数据列的始点零化像
    4 \6 c9 k' M# ^4 Ds0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));, l( P/ s& O( Y8 H0 _. `. R
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));# _2 W( b! g' j: Y1 c
    tt=yuce_0-x1_all_0;8 r  `& G( H3 v) t2 w; L
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    1 x  U0 U2 S  J: W' o3 u6 z' }/ a6 Habsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    + ^; @* N1 E: n' @/ [; ], ~9 b5 A  Qc=std(epsilon,1)/std(x1_all,1) %计算标准差比值1 h, l. v% d& P. d3 A% w6 s

    ( l/ t3 v, M7 H3 预测结果比较' o+ U* [3 g/ \8 W: U/ \9 I9 {

    + M) e$ n- \' s
    : o) C6 `) y  k3 q: O  z
    ( I1 t- x% K) v5 V4 N$ q0 T+ [2 t' Y6 e2 ?( O  R( `. I
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:0 q8 g1 |5 H2 a% E, @: X
    - y8 I$ W, ?' [( P# Y0 t3 ?% a
    clc,clear( J4 c6 L0 \# k
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35. C, y6 G( `7 V+ S" h  b9 u1 u
    9.39 10.59 10.94 10.44]; # a' o0 ?+ }. @8 l+ K7 n! M
    n=length(x1);; J, k! }: |, c, N
    x0=diff(x1);/ s( k! Q; z: f8 c: o. O* |1 o
    x0=[x1(1),x0], b/ u# m% k0 h/ Q# `
    for i=2:n
    , k# L* M; T" A& u1 ~# c    z1(i)=0.5*(x1(i)+x1(i-1));0 U- Q8 c, F1 F3 o* Q
    end
    , @* N  t( i$ B; z6 ?: IB=[-z1(2:end)',ones(n-1,1)];$ i4 _2 [0 t% }! `
    Y=x0(2:end)';. b9 r0 C) g( U6 ^! _
    abhat=B\Y %估计参数 a,b 的值! D! f! ], W, M3 W/ M- d. S
    x=dsolve('Dx+a*x=b','x(0)=x0');
    3 v3 s) Y0 ^( Y- {x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});, z& Z$ L$ X, A0 H& U/ L" X1 R
    yuce=subs(x,'t',0:14) %计算预测值# X5 P( i8 Z1 H+ O) X2 w& |+ a
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测6 T3 M3 t; P9 {
    值之后,或者不使用该语句
    : |  G9 M( f3 g6 }( S7 J: {yuce(16)=yuce(15);
    : z) M, H4 N' t5 |. k; {- Cx1_all=[x1,9.92,10.71];2 C/ B- y) B! G, J( f" p6 }# {
    epsilon=x1_all-yuce %计算残差/ ~0 W2 W9 _6 L0 l0 c
    delta=abs(epsilon./x1_all) %计算相对误差
    6 N. u% C7 d$ D: L1 m( edelta_mean=mean(delta) %计算平均相对误差
    1 {- L) G1 S2 G/ ^8 zx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    & c# c) L& J6 y- Iyuce_0=yuce-yuce(1); %数据列的始点零化像& t5 v3 N3 b0 p
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));8 m3 G. G+ x% ~6 m1 D5 [' e
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));# B) o( K7 E8 z7 _3 k
    tt=yuce_0-x1_all_0;, A- F: B  X4 D1 o. }' a2 b  ]
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    : }8 i7 @& j  Zabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度" _! m( t+ M; `+ G
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    , C6 S4 S0 q' f$ w5 C
    $ R" v- j6 A# e% L% [ 4 结语
    2 i- V# @* G$ D1 g4 `道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
    . b6 u8 I" Q% a  f, r! S/ A; N  F————————————————2 l7 b* U0 M$ A* [. Z& E& J, g: J
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。. c+ h1 o( S* z. o
    原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    ; H- I: @" z& o# a7 _  B5 b# g6 j2 h
    # J, w) O* z* O* h5 J
    : x4 G+ P; e1 h& x/ ?  M/ q
    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-12 01:21 , Processed in 0.284080 second(s), 51 queries .

    回顶部