- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36304 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13852
- 相册
- 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)模型等更适用。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$ }* {- E 7 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' s 6 [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
|