- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36352 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13866
- 相册
- 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)模型等更适用。. q4 p$ \1 I5 `
6 o2 ]3 `# u6 N/ ^+ tVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。4 m" b; P! s+ E/ h: Q) c0 f3 I
& {* ~/ T8 X9 j8 z) A" x4 w! ]
1 Verhulst 模型简介. u$ M$ q5 U. d5 i: ~; p
Verhulst 模型的基本原理和计算方法简介图下5 L: l3 S0 C4 P
0 q7 W1 y. t& Z( X( _' N 0 K0 S7 ]. O' L) A, ^2 [! f
0 p) j, l3 V+ Y4 m! w9 Y! v% r9 O4 {
参数列的最小二乘估计
4 z6 q y2 p) ~0 E% [$ z8 C; H* O8 ?. k) u
8 l. o: J( m0 W7 K; A" G
9 c' h* W$ j# G* _+ C) r' x
: t7 X! l: Y+ v1 h
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为 y) R. E3 k3 u# u6 O: ~8 x2 I
, i2 n/ _' o" U( e![]()
3 M+ e: a' M1 S+ ~% y1 g
0 X6 Q% P. c; [( p% [% J; L& I' V灰色 Verhulst 模型的时间响应序列为
L5 ~0 y" F9 h3 r
1 F8 n) N- u, }- q, @6 q) q" F 1 L- g* j; m4 U- j4 j3 B
0 w' z# j) \3 E5 M
累减还原式为
; K" {$ H U7 X8 o: u$ \& z# ]) L9 t8 A$ W2 j
: {1 Z, `$ R. m" T6 Q
/ `; S9 \9 ?- j$ K' P! x- Y; J
2 道路交通事故 Verhulst 预测模型
. G" t Y G! z) |. \9 |. I- ]
! L+ T7 n# Y: P: }* h. L. g![]()
# i7 K5 `0 R7 P. D7 {) ^2 }+ T
6 [& B. V5 S4 X3 s( E o* _1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
W6 d5 B% S9 t$ }5 B/ }9 I( B; s5 i% ^' a7 W6 b, q
" R! {/ l+ k9 k* x- j! E( E
4 [! W+ I8 U' j6 S+ N![]()
; ?8 e) n/ |2 W* ` m }2 E/ B: a
" P! c4 b6 x8 ]* _2 }3 o. {![]()
2 f. v/ h# [$ h1 e/ N. V. a
5 n3 v- `: i1 T, e* t& o% N+ M7 A! L
1 f2 g$ Q& q3 L+ @. J(7)模型精度检验。
% t& \9 W) M+ R6 g( e- v# z3 U ]+ W$ L, ?5 N/ ?+ Y
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
2 d& U+ C. ^1 w; ~. p: W/ E- X' d7 L4 t6 X6 ~! a# ^
① 残差合格模型0 T- U% D+ C' \/ f4 L# u$ U
5 W" B8 H9 K/ N# G
![]()
% Y% K2 {: r! H5 Z3 T# I! u) i. {9 k
1 x# D! u" |- ]* B$ g
1 I0 L5 a/ J# M( ]② 关联度合格模型 _) {, e6 @ c6 |$ [
: h' l, t; x+ u6 }# _ ]5 Q& u/ g7 X1 J+ [- K
7 ~& ]* s' ]5 o9 t8 e# C- C1 [# K
③ 均方差比合格模型
0 f) m/ W1 x& m( \' p' Y; g4 A3 W3 F
. N9 @9 Y3 d @7 o8 \4 d" j# P+ R
- ]. \3 B! t: U1 J/ \7 ^④ 小误差概率合格模型0 \0 @! C! W; V$ w4 E0 U
/ r; \" @1 [) ]. N
( r2 S; o: |! C& ?% M
0 g/ F0 y! N8 \) d/ E
由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。% j/ i, S, H& s* j: G, d n
7 _& \- W2 n1 Q+ T" Q6 {7 E6 `# U# T/ p 1 b6 X* r5 O; L) m
0 V3 o9 }) H2 k( t
由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
! {5 P0 Z1 q' m
/ G6 q O, }+ t" T) v1 }# u5 ` 6 B6 J2 q: v, {1 I; u5 \" q# a
. \4 x! i4 c; ` {0 M. d3 b![]()
2 F6 [- h3 n# r$ b9 h3 R4 ]. u
! |1 w5 `/ x0 }计算的 MATLAB 程序如下:
9 }0 m4 }* G$ |5 y# ]0 m! ^. s) o- u% }) o% z' b8 \$ @3 t' E
clc,clear! ^7 N. u4 R& L& \; ~3 q
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
+ R# k: K1 }. F8 @/ ]2 ~3 l+ G2 r9.39 10.59 10.94 10.44];0 F" w8 C1 W# C. R" z1 c
n=length(x1);
0 j8 {4 F6 L; d# V1 cnian=1990:2003;
7 ^- U8 D/ x; _9 h. s9 E) @0 hplot(nian,x1,'o-');) g+ z* Z8 Q4 `- F2 R
x0=diff(x1);
$ y' d. P4 n8 x0 y& a0 a6 ux0=[x1(1),x0]' ~0 g; @6 u( n' ^( @
for i=2:n' \5 n1 s2 F s1 |, B
z1(i)=0.5*(x1(i)+x1(i-1));7 F8 i9 k$ o: E+ h9 F
end, }% [/ r; y) c* Z
z1
/ r5 Y4 I/ M) VB=[-z1(2:end)',z1(2:end)'.^2]
: B0 C$ G- k! M8 y( m0 NY=x0(2:end)'( ]# C8 F$ }# h" g% ?0 V( n0 X
abhat=B\Y %估计参数 a,b 的值% r- ]! a( ^8 o' h5 s
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程7 w5 s: a( S6 I* a( M$ ?' P+ r' _
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
% `7 v& ~+ X* T) G' L. O byuce=subs(x,'t',0:14) %计算预测值/ i' g6 m6 l' m2 U
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句3 F- b, o) K1 R$ v
yuce(16)=yuce(15);
U$ g T G7 N/ G' c: o: bx1_all=[x1,9.92,10.71];7 m* ?9 e& r# `- G/ ?3 t
epsilon=x1_all-yuce %计算残差# Z* T" L- F, e* s4 g2 e
delta=abs(epsilon./x1_all) %计算相对误差
/ l8 ~- o+ s: @/ \/ ~7 O( qdelta_mean=mean(delta) %计算平均相对误差
* K! x7 [9 `9 n) ox1_all_0=x1_all-x1_all(1); %数据列的始点零化像8 N& ^4 _' I& e5 E
yuce_0=yuce-yuce(1); %数据列的始点零化像
8 y: T1 t2 y! ^4 K/ d2 a6 K5 f0 `s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));. u0 c L1 p- {. r. x& ?5 `( Y2 _
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
) b0 O- y$ r$ j: Mtt=yuce_0-x1_all_0;4 v; F" X( Y; o" K I7 ]2 {. h
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));' N) p5 G3 i0 c+ p/ L* c
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
1 Q: X2 p! w( y4 Wc=std(epsilon,1)/std(x1_all,1) %计算标准差比值
6 c' W0 s5 D: ?7 ^
; w5 `5 w4 @! V7 Y6 q9 ^+ l3 预测结果比较
5 _ h) h( h9 K' B/ F![]()
r {0 x2 B8 [6 g* q0 Q) e% Q- R' m
![]()
, O/ b5 @/ i1 P$ S* D- j% U2 Z( h
( D2 N4 M: a2 `* R# g! w- P比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:! ~5 w2 t/ `) g3 R
, n) Z ~7 k- J* W
clc,clear
8 s; E% g2 X( c+ v7 Vx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.357 a2 n! S' M' R2 _: ~
9.39 10.59 10.94 10.44];
1 m+ Y9 @$ ^, |. P9 y0 bn=length(x1);4 m( o' A- E3 k; K
x0=diff(x1);
5 G( {7 b4 L+ Mx0=[x1(1),x0]
' C" s- k8 V2 \( nfor i=2:n
6 O7 l3 e* W. R z1(i)=0.5*(x1(i)+x1(i-1));/ u9 F" r4 c7 L. H! E ^
end
) H( H1 u, A2 _0 AB=[-z1(2:end)',ones(n-1,1)]; L, @8 Y* a. U9 q
Y=x0(2:end)';
. {4 c" V( [+ T% M( b* tabhat=B\Y %估计参数 a,b 的值
7 A1 C* j" ?( W# b- F; f, o" wx=dsolve('Dx+a*x=b','x(0)=x0');
, U" x+ E# z6 Z0 ^) B' Ox=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});& O5 w( W6 A l l
yuce=subs(x,'t',0:14) %计算预测值; r- @, F* w/ }8 C: F
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
8 ~0 i( I# x1 E8 ]( e+ t值之后,或者不使用该语句, H) U2 L+ }2 l$ p% P7 s7 P1 Z" d% S
yuce(16)=yuce(15);) @( {) `+ V* O( u, R" |7 f
x1_all=[x1,9.92,10.71];
) r, H9 S/ k3 v) V4 S$ ~epsilon=x1_all-yuce %计算残差) O2 Y& K E8 v
delta=abs(epsilon./x1_all) %计算相对误差
* v# G" p/ h* X/ k0 _delta_mean=mean(delta) %计算平均相对误差
- L7 m4 N: v4 h( O* w8 Q `x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
0 Z: v1 ^8 O6 Z3 Z7 {yuce_0=yuce-yuce(1); %数据列的始点零化像
, [1 l& ]& h. b2 Js0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));8 r* [7 e9 w9 w4 }+ D9 O' V$ H
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
/ F. j$ y5 j( `& u* Ttt=yuce_0-x1_all_0;
& _& d8 w" D" R( ws1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));- ~5 h9 `9 ?$ M6 }; n& G
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
, U; r9 m6 Q5 o' D* e/ V7 o0 Kc=std(epsilon,1)/std(x1_all,1) %计算标准差比值5 ` X9 Z' u% z6 R. g' K
8 R- N9 l6 ]0 a/ b0 q; y
4 结语& R! p" g% U: m" y1 A$ r
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
; I j( b1 ~+ L/ h. r% K# c0 x6 y————————————————# N4 {7 [8 Y' C; u6 V1 k8 l9 h+ C) x
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
$ M$ Z O! {( n, s6 ?1 S% d2 U2 r原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
) F6 i8 `& S6 G% P6 W" S' p. h' Y# H- I
+ k2 n9 }3 O, }2 V; g+ N
% k7 x+ F N) P+ l$ W/ m3 e. d2 Q. G |
zan
|