- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36307 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13853
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 616
- 主题
- 542
- 精华
- 12
- 分享
- 0
- 好友
- 225
TA的每日心情 | 开心 2020-11-14 17:15 |
|---|
签到天数: 74 天 [LV.6]常住居民II
 群组: 2019美赛冲刺课程 群组: 站长地区赛培训 群组: 2019考研数学 桃子老师 群组: 2018教师培训(呼伦贝 群组: 2019考研数学 站长系列 |
灰色预测是通过原始数据的处理和灰色模型的建立,发现和掌握系统发展规律,对 系统的未来状态作出科学的定量预测。目前应用较多的灰色预测模型是 GM(1,1)模型、 灰色马尔可夫预测模型等,可用于预测交通事故发生次数、死亡人数、受伤人数和财产 损失等指标。GM(1,1)模型适用于具有较强指数规律的序列,只能描述单调的变化过程。但是道路交通系统是一个动态的时变系统,道路交通事故作为道路系统的行为特征量, 具有一定的随机波动性,它的发展呈现某种变化趋势的非平稳随机过程,因此可建立交 通事故灰色马尔可夫预测模型,以提高预测精度。但灰色马尔可夫预测模型的应用难点 是如何进行状态划分,故对于非单调的摆动发展序列或具有饱和状态的 S 形序列, Verhulst 模型,GM(2,1)模型等更适用。
. A+ r, h% j) I9 j, g; ~2 I
( P' D3 @) U/ E8 c6 \% IVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。; ^6 G" z& `$ h& n9 M" a' J2 P
7 O' {+ L5 |7 i1 l1 Verhulst 模型简介. c4 I& F5 l0 ]8 ]' ]0 m
Verhulst 模型的基本原理和计算方法简介图下1 b: o! }! ]" r2 m
( b8 Z, ^5 _) M* v
4 U0 D* F* `$ |) i
+ A. A; h) |1 }; t( z' T1 o) _4 q$ q
参数列的最小二乘估计
8 x0 v0 v/ F. q6 L
: h D" ?! ~5 @0 S![]()
3 ` O2 R0 E4 v+ `" Q y7 q0 ]5 n
1 \0 K( [, m% @0 O; L4 [+ s" J! E7 ^+ o
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为! z8 z" I+ Y& o8 V
" z0 a2 R5 L \0 ~! A a
# n& G) _& u* K( w9 Q
' ^# S; Z4 W4 H6 _
灰色 Verhulst 模型的时间响应序列为2 ^+ u; z: u+ ]) `& {0 {
! _7 ]# q" @: v7 P* R, q! v
![]()
q# C; O7 Y W4 D$ L) ?# G# P! k. v( v) @
累减还原式为. B" }- d8 |# Q9 b l5 f' G
Q9 w& y) R. q/ Q4 {$ t+ O; L![]()
1 \4 E' W( ~7 C4 }
" [) j$ L# s3 \. R) u( {* K2 道路交通事故 Verhulst 预测模型
+ s% y x7 f# L* ? m/ A" }" b7 r h5 `
![]()
/ K0 |+ J0 z- o, I4 d$ ]9 |( D! |0 {, H$ o
1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
; {4 E, j$ u/ V( K/ A8 r4 J6 {
5 J% c6 M! p3 d1 t3 p- C% y! y 5 I0 _' F! B- v5 r
$ k+ x8 Z0 g6 w![]()
) d: p' y- O! s2 g' `% H9 `; v7 r
![]()
% W2 p: X2 x+ C$ h# G6 ~. q+ }1 f) Q6 w) B7 {+ c# W# J
7 x" [! s; q/ G% X2 H2 g
0 {" m8 W; p$ W; D ~' r7 p) D7 ~4 x(7)模型精度检验。
( }, t! I Z5 }% |$ v* ?% i3 ^9 Y0 G3 D$ I! }3 Y% A) B! B
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。% R! e& h6 A. j/ {' S; ?! z5 T2 d
' `0 W0 |; r! V
① 残差合格模型
8 S2 G6 Z3 i2 `* `; P; f: X6 x8 A I1 c7 Y4 |5 t& h0 `9 V
![]()
* b( b, } K4 w3 {0 k' J
) |" y+ L7 I8 ]8 v7 C; j% r 9 ]" c4 U4 K- o& ~- U0 q- i% K
' x6 Z* }1 l8 u- l7 e2 `: T② 关联度合格模型: _3 R# v _. Q1 V& ~
# d% E1 m3 ?6 `3 W+ J![]()
( Z; d: i4 e+ a& f
^- i' z n3 O5 u' I- L: n2 s ③ 均方差比合格模型- m0 S1 z& v( b& l2 v
, Y6 w* K; d, d ' R$ N2 q# G+ `8 t3 t( n
* t, I- L) h- s) g: _8 ~8 D+ l) }, p% n④ 小误差概率合格模型
$ ~$ S: Y% W6 Q9 V( ^. O% i6 S. a& ~+ C
![]()
1 ~ Q) A/ `1 T
4 g/ ~9 F2 b+ b( B! Q由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。8 n: Z2 _% ^! h* r, E( S
& Y6 Z# p/ @( _
6 k, z5 p; D5 X/ l" J% u8 p
5 y0 n0 Y+ ~9 \6 @
由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
/ A9 `- N( P$ `% u
; E7 S9 w$ M" u5 f) M) G / p t1 [. A1 R! E2 u! Z2 ]
: z" @, V6 ~; x; o! \![]()
1 {: h' y" q ?% Y& O3 |+ k* h+ _0 h! `. R8 w1 q
计算的 MATLAB 程序如下:
; d9 X, M1 f& n/ v3 S d
4 Y J Y. {: }/ Mclc,clear" ?. u3 j) Q- G. q U4 U: ~8 X
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.352 e6 E; S& y; V! m$ h
9.39 10.59 10.94 10.44];- D* Z4 J" U7 z' @! k/ g
n=length(x1);
# S2 C/ d7 ^0 C) Znian=1990:2003;
. U* f) S z" g2 D: q- t; `plot(nian,x1,'o-');" }" X$ P* h$ R4 X2 U
x0=diff(x1);+ U# [* h+ I& T$ h' D
x0=[x1(1),x0]( d6 A# t& F1 E, ~ w3 f
for i=2:n
3 N1 T- H! v% S3 w2 b z1(i)=0.5*(x1(i)+x1(i-1));% \+ H6 s9 _: p, [
end
# _4 f2 G4 e3 ]$ W: G, Lz1
% T# D/ C5 F8 Q/ y) lB=[-z1(2:end)',z1(2:end)'.^2]
; `: t! X" ?3 r$ n9 i) YY=x0(2:end)'$ B; O9 z) _% W: A9 I( m e5 d
abhat=B\Y %估计参数 a,b 的值! t& F: H' f3 w0 s1 V6 D8 f
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
3 ]/ Y5 v; O4 D/ ?: Kx=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值+ }( w0 Y9 S Y6 m+ M
yuce=subs(x,'t',0:14) %计算预测值
/ t3 y# ?+ i: S- hdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
, e U; {! f& B. e) Byuce(16)=yuce(15); M6 g* N( j+ m& `$ b
x1_all=[x1,9.92,10.71];; F! w# H0 Q, r
epsilon=x1_all-yuce %计算残差# ?* r4 t6 K- c* r/ L
delta=abs(epsilon./x1_all) %计算相对误差
' I: K& Q% J' C0 `3 q( H( Z! pdelta_mean=mean(delta) %计算平均相对误差3 E! F) m- x' Z+ J0 `5 u
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像( u z. P- @6 }
yuce_0=yuce-yuce(1); %数据列的始点零化像
Q- d; s; }& ]2 N+ G3 {s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
# m; f1 I- V0 ns1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));' ?4 Y) s; U1 z
tt=yuce_0-x1_all_0;
" Q9 F4 b) n4 k+ [9 n& ps1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
! b8 [, U( V5 ]# E5 o6 t8 p4 labsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
: Q: x J- |& L' ?# ]3 u [c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
! C/ G' }/ L6 x! H; d/ a
+ U* o/ K. w, f# }) G5 S& O3 预测结果比较
1 o4 x+ c% Q+ g0 ~0 b1 h1 ^7 O ! E* m4 Y7 a$ f6 h
1 p. h) i0 w- ?2 V' E
* j* o+ k. d! G: i8 h1 w6 r+ X
0 j* t% E8 @7 v3 g2 L: d3 q5 P# y
比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
, G! L* g7 m. U& X! x( w# W9 D1 h# q: s
8 h9 ?7 I6 A9 cclc,clear* ?* w. W! B% S7 G* k% ? x% \3 B. \
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
% s% T2 G6 K' G) u0 W) j9.39 10.59 10.94 10.44];
: T7 p/ q7 i5 t5 Z! @n=length(x1);
& t8 M( p8 V! d# }1 m# Tx0=diff(x1);
. }2 S: G0 v* L: L* `" z7 ]% W- t9 X9 @x0=[x1(1),x0]
1 ]; Q$ l9 R; P$ X h& u9 ifor i=2:n
3 o6 y: d/ {" L' I: S z1(i)=0.5*(x1(i)+x1(i-1));
( m! n" f6 V% q( ^+ U7 {: Oend
! c+ ?9 ~; T" ^$ eB=[-z1(2:end)',ones(n-1,1)];; o5 U$ A1 J3 s% a$ W
Y=x0(2:end)';
/ A w$ ~+ @/ L5 L U- iabhat=B\Y %估计参数 a,b 的值
3 g7 ]2 D" Y0 W+ R& x' u" G5 Ex=dsolve('Dx+a*x=b','x(0)=x0');8 u, n" @* f' [3 F
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
" M* x) d- _2 Oyuce=subs(x,'t',0:14) %计算预测值
. p& h& i. _& \& n0 y7 idigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
2 x9 G9 y$ t/ \, e. @& [( S( `值之后,或者不使用该语句) m& @$ D" o2 ~# I3 d9 Z. X
yuce(16)=yuce(15);$ q5 o3 b% v' m) [1 g
x1_all=[x1,9.92,10.71];3 s1 }1 M: @6 s( Z& `% o8 y
epsilon=x1_all-yuce %计算残差7 Y. [& Q1 s1 n: ?
delta=abs(epsilon./x1_all) %计算相对误差
2 w; x9 G9 K! R9 k/ N2 K# i" Edelta_mean=mean(delta) %计算平均相对误差
$ ?) _6 z% T5 Y$ n! Ox1_all_0=x1_all-x1_all(1); %数据列的始点零化像$ D$ L9 a0 B5 s' R! G& K J
yuce_0=yuce-yuce(1); %数据列的始点零化像, k* b/ b t+ s( \
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));' h- x1 J7 [7 ~9 w- Z; e! L
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));) X6 d4 k8 v, M. j3 I
tt=yuce_0-x1_all_0;
3 w' g0 R" W5 ~ U! rs1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
; _3 A+ B5 V9 }, V5 C( Xabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度# B L% Q* h5 c3 n1 u: @8 h* ]' X
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
. q" z. G3 _9 C6 I- }( L4 j7 q$ h# E: f/ I& q' {
4 结语
. Q" j; R- T9 G6 I# n6 c道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
; [/ q' b& T% j/ W t6 ^' I————————————————
7 E J9 \4 l0 ~: J# H/ j4 Y8 E ~( ?版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
$ o; ^4 s! j. G p; f" ~原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039: a4 n ~3 O- u: I9 ]" d w
u0 U% Y. `0 d2 N* L+ D Z$ w3 k* }3 M3 I2 u0 T
" H5 ^/ g3 K* G8 D |
zan
|