QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2991|回复: 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)模型等更适用。
    - v: G, z3 w, v( _
    : |/ f! s( e) y& y8 v% r# iVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。, Y3 \' D7 Y0 E% N2 s3 B; C
    $ Q' A6 K/ n( t! G. b4 R
    1 Verhulst 模型简介8 C9 g3 r: w# N& C: O
    Verhulst 模型的基本原理和计算方法简介图下3 Z  q  ~/ s5 r: f$ n

    : Y5 I) o& g) f& h; J- ~8 i6 P: l
    ; v, {: d% R8 @) D% c
    : O% f0 G5 \. r参数列的最小二乘估计3 n+ W3 r, ]5 }5 J* n' U+ \9 O3 d
    ' z5 Z% ]/ _8 e. p$ @7 T
    2 y5 G7 H6 Y1 K1 {
    ! T; M5 k1 c* K: C
    4 E- y$ ]3 E9 Q7 M  X- L& V
    定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
    - ~: j2 y6 F% v. |% \
    3 P+ v+ i  {* a, [9 b- h! p& u1 C: l8 U; }  A' P
    ; q* @: M# @2 A8 I; a# n, C  l  w: r
    灰色 Verhulst 模型的时间响应序列为; e; v2 t! a* I" P
    0 k! V; L: n  J; H$ Q9 R7 h+ k6 |
    & D0 [7 _0 T3 v4 O4 `

    0 D4 {: c  i$ \; x8 c; p. e% E; k累减还原式为
    , ~9 U# V. K0 J1 e$ W5 s1 t4 `7 `; ~2 V

    - z, n# @# A5 q* Z. J' [
    + C2 D1 o$ G( l! e2 道路交通事故 Verhulst 预测模型
    $ N  [" x$ E9 V9 Q- S' o. H4 d
    . F5 r1 t' n' d" g5 `$ ~* b& j( A; i; w
    ! \8 n% c' A" [: s+ _% x( O+ V5 X  v5 ?
    1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
    ; K. M. S* W* \# r& a' G. l
    8 A' Z2 N7 ~8 ?& ]3 T0 E' \4 g' C. N: a; r9 c! R* @  d
    - e1 y% n5 @- M+ W! t/ D
    3 i  q9 B4 ?7 g9 S7 o$ l7 p

    0 z/ z# m: R( x% g- I" K* p% y  _; s/ E

    2 c) G. B/ j( \* x% d
    2 b' p5 O8 i  k% a0 K- w& J( y
    (7)模型精度检验。
    3 P& H& v, E0 C( n# s# @8 l4 @+ b; m5 s) e- h! A
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
    7 t, }$ j6 ]$ I: ~$ W- M6 k- N* c8 }4 M  H1 P
    ① 残差合格模型
    9 H6 K0 I: k# `
    : N: o, Z; ?$ _" z  ]( ~/ G' K5 c1 Y9 \7 W* U

    . q( x- ^5 I+ j" z& \  ^7 z  D0 p) K2 u, a$ @/ a+ I
    9 S+ Y8 B3 |$ O
    ② 关联度合格模型
    . p. r! N) P# J
    + l8 L, r9 h, i4 T$ E" i
    1 X! J9 }" d9 t4 _5 m& s8 h1 ?0 o, d1 X: h  z
    ③ 均方差比合格模型  @1 e1 A% z* c. o
    ) J6 I9 n, d. k" r: p2 p2 @1 [

    # O0 M* U' g0 Y  K8 H4 l. t
    ' J1 A. ^. F) O" U9 h6 j' U④ 小误差概率合格模型
    % V0 r/ g- h! x
    ( i! h( [$ Y$ `" h9 q# s" S( o. w
    " B3 h" n2 t8 k0 o# |" s
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
    0 o0 Q1 X! \  F. o7 {* m6 ~- R3 \
    7 f7 t$ e( J2 i; A
    0 n* B0 W& G  _7 f; v% M9 l: |) ]
    , `1 X' b. ~! |: z& g由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。0 v- b+ k& R# r

    5 ?$ i( Y5 t! @6 \
    ' C+ |9 a5 @+ m* `+ L, E; I( r' E$ G, B+ Z4 b2 k7 u9 o
    * D# m( A( n" [0 P' z

    6 V$ R' o0 t! ^- u2 u- E/ ^计算的 MATLAB 程序如下:, e  @, T1 |: ?+ y6 i& z% z
    ) r2 ^2 e4 B3 m2 @# |% k
    clc,clear* J5 a: E1 R; _; D
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    ; Y$ m! F* r. k9.39 10.59 10.94 10.44];  I; g  z$ R7 T* ~8 B+ X
    n=length(x1);) m  L" ^' S" y
    nian=1990:2003;8 G" H9 i7 ]/ a; _* o# {
    plot(nian,x1,'o-');4 C0 ]0 k) u8 S
    x0=diff(x1);3 E/ w8 J( e: s  Q: m  Q
    x0=[x1(1),x0]7 a, Q" y9 D* N8 h) V' c/ H) k
    for i=2:n. L) b* h" R$ w! W
        z1(i)=0.5*(x1(i)+x1(i-1));- k2 K9 @% R' P1 e# {6 E2 U! U; a  T
    end, p; [! z8 Q! [* l# N* f$ z5 q) P
    z1
    7 J1 @2 @5 n* `: vB=[-z1(2:end)',z1(2:end)'.^2]: X0 P, l  m# A6 _9 E
    Y=x0(2:end)'5 ^! b/ h. X1 k$ K- W# q
    abhat=B\Y %估计参数 a,b 的值
    4 P: [5 Y3 ?$ R) h' z2 ax=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程' E& b/ i) f; B6 B. j4 Q, n' ^
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值: a; m- J8 c1 F) g$ r" _
    yuce=subs(x,'t',0:14) %计算预测值( P/ W9 L  t4 }7 ^4 z) v/ n& }- c" Q
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句/ P$ W! \$ a6 U
    yuce(16)=yuce(15);
    8 L9 a9 v' U! xx1_all=[x1,9.92,10.71];
    , U% k* O+ f* G. n9 \2 hepsilon=x1_all-yuce %计算残差  P) O4 q3 ~- ^
    delta=abs(epsilon./x1_all) %计算相对误差
    / I- D6 X/ N9 M. f* P, J7 d. Adelta_mean=mean(delta) %计算平均相对误差. ]+ g. g9 d4 a) D- G
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像9 Y* S- R! V6 c2 J
    yuce_0=yuce-yuce(1); %数据列的始点零化像( Z+ P+ I& m" i! L# X
    s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    3 h) g2 @2 Y; Ds1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));& `5 w$ v6 x& O0 |/ |, D
    tt=yuce_0-x1_all_0;: Z0 o; `: |4 l. b
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));3 {4 E: r. @4 P+ ]
    absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度# Y/ D+ j* f* A5 z$ o
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值+ o) G! o/ N- M: u8 D- i! J
    7 u* U# t+ K. _7 X( `2 @
    3 预测结果比较. G& _5 G8 g% a) N- D/ D

      C  \( }6 x1 a1 `
    & L' M! j3 e6 u+ C6 F) D6 _5 |0 P- ?* _0 L; E$ F7 s& c4 V* X7 ^# g' V

    , ?$ q; E8 j2 U* |& X比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:: K' q, g, [! W* z" W! A

    ) B. \. O% i" q# E1 E" v3 R) bclc,clear
    : s3 s8 O& h4 f* D3 m, r1 S+ Mx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35, L+ B( S/ T# G3 P, j( L4 i8 A' L& k
    9.39 10.59 10.94 10.44];
    + q1 Q9 O3 V6 H9 Xn=length(x1);8 _9 K: {" p, h2 f' u
    x0=diff(x1);1 N6 u1 M* f! @6 d
    x0=[x1(1),x0]7 u) x2 \+ }9 y% _- i/ [! _: x
    for i=2:n8 W7 [; D- U/ W* {: N
        z1(i)=0.5*(x1(i)+x1(i-1));
    1 U2 E3 w0 W6 Eend
    9 `* ~/ y# e0 j" b1 i# d' nB=[-z1(2:end)',ones(n-1,1)];9 }4 D: ?& k& j# v. n! f9 n
    Y=x0(2:end)';) O: U" e7 m$ |( X- _
    abhat=B\Y %估计参数 a,b 的值: z; k/ k0 m7 k" ]% Q
    x=dsolve('Dx+a*x=b','x(0)=x0');+ D4 w1 m, e6 T+ i" Y/ ^
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
    # j- x  K* l2 P" z2 ryuce=subs(x,'t',0:14) %计算预测值* X: A9 [, ]- f$ F- l
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测& c, L6 _2 B/ m
    值之后,或者不使用该语句3 J' y2 K# ~6 L7 y2 e; X
    yuce(16)=yuce(15);
    ; ?& X& M  }+ P( D$ P8 }$ Cx1_all=[x1,9.92,10.71];; \+ B6 s- a, h  t  ~
    epsilon=x1_all-yuce %计算残差5 `9 w1 G( B; ]# Z4 d# \& [
    delta=abs(epsilon./x1_all) %计算相对误差; V  E& L5 D9 J* v$ t: B3 P5 J
    delta_mean=mean(delta) %计算平均相对误差- [  F4 t3 ^8 w  V! d2 C: l
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像( ^3 X9 y0 D; c9 t# u0 O
    yuce_0=yuce-yuce(1); %数据列的始点零化像
    ) a5 u; _. i' p! f  {/ Us0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));3 I9 D. E( U0 K  `$ r# s# P0 C
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));( Y7 v. A5 S4 m9 ^8 G# g& N2 l
    tt=yuce_0-x1_all_0;
    8 m+ A% j1 u$ [2 C) j  Z/ l7 Cs1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    + Y3 {/ ~+ g+ j  u+ ]6 t3 sabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度8 y: O3 N* p7 a  o
    c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
    , j% A0 [7 h+ \7 T" X6 J8 |+ R% ], |) z/ c& c( B$ O4 Q7 f# H
    4 结语* D  C( T! _/ J* q
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。9 y  u- e- r  R! g2 X, h
    ————————————————
    , i# P0 m2 x7 i) p版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: x- O5 T7 }6 b2 G$ f3 G/ h
    原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039! ~* y: [9 G0 g% J+ I& U

    0 }! q9 M( o% b: V. ?- Y: `; j2 v- y8 p
    9 }% e+ ^  }: e* ?$ Q3 P
    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-7-30 15:55 , Processed in 5.710947 second(s), 51 queries .

    回顶部