QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2913|回复: 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)模型等更适用。- ]" \& S2 k! [8 N
    , Z) v5 l9 R& Y! y
    Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。8 ]- ?- e# D2 A/ R1 T

    * v( a. w) Z/ I5 X9 t$ N1 Verhulst 模型简介& |" M9 v, W/ }# n- k( t3 P
    Verhulst 模型的基本原理和计算方法简介图下8 V5 ~* v/ ]2 s* v

    ; M3 D: n1 o* E( ?* X
    2 e& x2 h: s! O5 c' O6 h0 |% h; b$ N. t* N( V9 L0 p
    参数列的最小二乘估计
    4 U4 f& u! S: X* |1 @8 d% W! P- P; L$ {. s
    4 S% p( [3 I9 A- E" `+ G" b4 x  h
    9 g% s/ n! e0 y. U! l

    / v: P' b& f7 B7 l 定理 2       设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为& ^) R# z, g1 \, Y. F
    / z: c1 v$ H& l* j) E. W$ o7 ?  k+ a
    ' Q0 ^0 ^! O% d5 ?

    & C4 D/ l4 b( ~2 `. V灰色 Verhulst 模型的时间响应序列为
    % O2 g1 K% S, {- S
    0 Y7 |, K2 U3 a7 J" W8 m. q* ~) Z2 b* t+ d2 P4 p! O( S' M
    ( W* k$ Y9 g7 h: r* m# i
    累减还原式为
    8 m0 X5 M0 t* _* \. v0 l7 z+ W) M* E# M
    7 L) a: Z' r3 X7 L# n- s: a& v

    ! }7 Y# o3 u7 b: S' ?, V& m( {2 道路交通事故 Verhulst 预测模型  T5 t! i9 S2 f7 a' ^0 {' {& n
    ! O. [0 y5 c4 ]1 r9 |
    2 H" z  J  l. W' c

    % Q4 o) B0 S# w# u1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
    6 s, a' _* L, M# R0 Q2 \0 ]
    3 r# q, C! _2 L6 u0 v. r$ [' S9 x3 p/ u  M' ~* y  ]9 B
    / R  Y$ R4 X9 l7 [+ D6 d+ o
    " I) E! y4 |' h3 K6 N5 Q
    + C+ ?9 B* n5 l2 X# e

    . D6 A" B* _& m5 I* d# ?; A
    ) X$ q8 C, _: a3 X, V4 [- t* ^) b- w

    & X- N& B0 k, h(7)模型精度检验。7 q. N# Y( C$ K. k$ M
    " y  I$ K4 M: a3 F' Y
    一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。6 E3 \  H9 m" ~( ~

    % P; b0 V( l/ J5 l2 B# v① 残差合格模型
    - K4 `: d- n+ W2 L2 }1 q" x  F
    # T( a" I. a, |/ R$ M$ h/ S3 Y6 [# h, X! Z/ S3 w. ^8 Y3 e
    4 V4 }9 K5 c; [! r

    0 x, l4 i6 z9 o# j
    2 ^, w0 @/ B# d# s3 q) [② 关联度合格模型
    % D5 B- O9 R! Q& W. G3 W# A
    9 J5 N# O5 K. G+ O2 S. _1 Q, H2 `
    ' |  r- `- O1 R, f% d2 Z7 Q; F
    6 f/ a( ^$ D1 T5 v ③ 均方差比合格模型; \* F2 P5 x" r2 N6 [) ]

    ' S, X# Z+ ~& o- w) ]4 V) Z
    , v7 Y" ~6 d& K1 z
    ' ?  |% Z1 v! Z6 O2 H④ 小误差概率合格模型
    7 [* B7 [6 q9 a) R" ^- b
    # `" \4 Y1 E4 s$ E( f& |+ F: ~! y. n
    ) x( Z. f  t5 O) N2 X+ S# @1 V4 i# n9 B- i& T  S) U
    由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。$ Q5 ?( J7 `1 }( [9 W, Z+ I+ b1 W

    ) t* d/ x! @0 B2 P! l: |% u$ o% |, R3 v2 M; g

    9 h, E; B0 L" l0 t由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
    , ~5 x( }3 @4 x' o# U/ k+ e0 v
    / R# k$ Z5 n4 c6 m
    1 @# i6 k1 Q  _9 J* \4 K& e9 b" }- k+ Z  J; L+ Y8 I2 u

    * D. h! n8 ]5 d* p7 W8 n/ h; u+ [% p% \
    / i- {& C# |4 q* ]* g计算的 MATLAB 程序如下:
    * p. W: a7 D2 v' J3 e+ d2 C& S" G+ |2 j$ L7 u
    clc,clear+ @! H4 }& U" }; I
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.352 M8 T/ o2 Q# c- n2 `% R
    9.39 10.59 10.94 10.44];
    3 n/ D% D8 m" F) N: Fn=length(x1);
    1 ~+ @) S; H4 w! [+ ?; Dnian=1990:2003;2 f4 T, S) I' H  d
    plot(nian,x1,'o-');
    ; R. T$ x' N( _4 s9 a! cx0=diff(x1);
    ! |" r) @0 c, o, Z" fx0=[x1(1),x0]
    / P9 i3 r* }7 l9 F5 A: O) Gfor i=2:n
    ! y) t& w1 F5 Q    z1(i)=0.5*(x1(i)+x1(i-1));
    , {9 h; O2 Z5 D6 Z) [, A" Yend
    & ~, o. j  q; A6 E1 pz15 ~* Q6 A( Q1 ^5 w
    B=[-z1(2:end)',z1(2:end)'.^2]: ^: v8 L( P! Q6 ~6 H1 v8 V+ W
    Y=x0(2:end)'1 Y" E, g5 w- {1 V2 R$ V- R$ B
    abhat=B\Y %估计参数 a,b 的值6 W! N1 u/ ^  O+ t! E7 E! a/ k* c( G
    x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程" ^' i: o, ]9 s
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
    : y9 y+ @9 a. J0 o$ {1 q4 l# ryuce=subs(x,'t',0:14) %计算预测值- y5 N3 k% e+ J/ Y2 _/ D4 T
    digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句, Z3 e- ^- }& j
    yuce(16)=yuce(15);
    2 m. G- j+ R, C' D9 fx1_all=[x1,9.92,10.71];5 o6 x- e( J* D% E7 T1 ]
    epsilon=x1_all-yuce %计算残差4 Z2 I+ f( y" |, n
    delta=abs(epsilon./x1_all) %计算相对误差
      s* G& ?. p" M3 \delta_mean=mean(delta) %计算平均相对误差2 ?; q: d6 D, |" x! U
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像/ G; M% J3 Y( A; {# f: u8 {
    yuce_0=yuce-yuce(1); %数据列的始点零化像
    0 ~; w1 l) v/ b! Is0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));* ?4 ]# W+ S- H/ A% W5 Q+ A6 j* Z
    s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
      W2 }$ \4 S  O+ |0 gtt=yuce_0-x1_all_0;
    1 H! D1 \. H, Os1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    7 I( ^2 w! c: Mabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    5 I2 |  r; p$ R) ?( w1 D8 ]7 Wc=std(epsilon,1)/std(x1_all,1) %计算标准差比值4 p" S0 J! L% K* J$ q" y
    3 Q1 a& T0 Z7 a0 E* ^0 R
    3 预测结果比较
      j% f' v5 {3 X6 W3 G9 D8 g, A* g- L( k/ U( f8 D# j9 O

    ) x3 q3 z6 W4 g% R+ q- m' H; I8 i
    1 K! u- x* V  N' m3 {
    比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:) C% `6 q5 x. \, Y7 S9 Y2 T% W

    ! H+ ]8 Y- m, L6 `9 nclc,clear1 s+ B2 B2 S* T. u$ P5 T9 D0 y: _
    x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
    . H. |5 s' ~2 H6 Z( \# F9.39 10.59 10.94 10.44]; - C# I7 E1 [$ O+ U# |1 o/ N! K8 g* k
    n=length(x1);
    2 W- t6 h5 h, v6 V4 N# [x0=diff(x1);" D* |' f4 X) I3 M% B) g
    x0=[x1(1),x0]* h0 G+ f; V4 T: D
    for i=2:n
    ' N% R# N0 N' b: _    z1(i)=0.5*(x1(i)+x1(i-1));6 [5 F0 N$ m8 Q  x. k0 J9 X
    end8 D: V! M1 B7 J$ E+ X
    B=[-z1(2:end)',ones(n-1,1)];1 v! W7 p) D  P% x3 F5 T
    Y=x0(2:end)';! W8 t9 Q+ F2 v# w% e& P2 l
    abhat=B\Y %估计参数 a,b 的值! y- x" V6 o/ k' A4 ?
    x=dsolve('Dx+a*x=b','x(0)=x0');: q4 b8 X- _( q, D
    x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});  V( P* V/ z6 t" u  k& t
    yuce=subs(x,'t',0:14) %计算预测值
    6 H- ~( r; t% E3 P% Mdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测' p  G% i& F1 z
    值之后,或者不使用该语句: e4 U% y5 T/ \" L1 H# p
    yuce(16)=yuce(15);* {% s+ ~5 |7 Q/ ?# G
    x1_all=[x1,9.92,10.71];
    3 `& q1 V/ x! x" oepsilon=x1_all-yuce %计算残差" X4 {6 Q+ }( i& N) m. S* e
    delta=abs(epsilon./x1_all) %计算相对误差( @0 n. M: G+ v
    delta_mean=mean(delta) %计算平均相对误差: X! K, v" Y' S+ ]- E" _
    x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
    - F: b4 X- \5 V: l( c0 x- ~yuce_0=yuce-yuce(1); %数据列的始点零化像
    . `$ p; c% y! g' o) C1 T2 ps0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
    # @( n3 L. m$ E5 _s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
    , {' V: G' W. F1 Htt=yuce_0-x1_all_0;: T* Y1 M5 n9 R9 I' E9 p
    s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
    : v. {/ h$ s3 R5 R8 Q8 K. eabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
    ' F% |0 b6 l1 N6 Mc=std(epsilon,1)/std(x1_all,1) %计算标准差比值0 p* [6 c2 g2 `% }! f

    3 S" _: N, V2 g0 V) ~4 X! r4 r 4 结语* H. n. h9 z5 Z- E
    道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。/ j% z  ~. Z2 \9 R. k1 P3 V
    ————————————————/ l+ G+ h# t, X3 \
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    3 G9 _# I: E$ a& S0 X原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
    ' X' V5 e" X' M* P' T/ U5 A/ A7 d6 {+ B

    3 i" _7 f, E* G" l+ H+ ~! _. b# ]2 n
    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-19 04:30 , Processed in 0.457236 second(s), 51 queries .

    回顶部