- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36395 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13879
- 相册
- 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)模型等更适用。
- \! t) C* n$ O3 u! _# w
+ `# M4 s9 {# Q5 t6 Y1 A! ZVerhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
" P8 Y; Y/ c2 F0 `
! b7 o k! q+ h* }2 x, [1 Verhulst 模型简介
$ e" A+ w' _2 w$ u* ~2 s$ pVerhulst 模型的基本原理和计算方法简介图下
* x: \1 D) @5 Q% Y- i7 e# i8 T! ?
![]()
2 j$ M- \2 U! {! e# o& E9 v6 Y. F2 N
参数列的最小二乘估计
6 [- ?) Q1 i q/ ]7 S/ Q2 a+ N/ `( w0 C8 T% r" U7 l
0 h) K1 |8 f4 g( J+ M3 w+ Z
) W' n5 M; ^# @, u t1 |$ B, G$ }' t+ e6 n7 ~
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
- {% _/ X& d( D
" W4 Z7 \. L# C& N0 r, B7 q) c![]()
; N) O8 A- x1 f A+ R# o$ L# Z- |) Y4 B
灰色 Verhulst 模型的时间响应序列为& l5 p+ N. F/ A: Y2 S; Q
& c3 |7 M6 ]$ j* B& m( d7 c
* n5 W- Y$ o% j! J+ Y; W1 X6 a p
: x1 l; x% {9 y" O, Z& [: p4 ]累减还原式为* q' Z' q5 w- k( \0 s3 W. J- M
+ d" z: K9 G6 a8 c2 x0 I
![]()
: D5 s9 ?. y: }! v* p
& p$ D$ V; N/ ?" h& \: h2 道路交通事故 Verhulst 预测模型
2 q/ b5 A: |7 Y7 \$ \" ~ z; ?) p
* u0 z5 j+ i: z2 n' R) A# w 4 q, B& k5 G9 z. \+ F, ^
+ l t: v2 d l: u
1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。- m$ C3 x" n$ R8 s
- z+ F1 r* F; o# ^! T0 a! @ ( U( T" l8 e- b3 V' u3 ~4 Z
. G m/ [- t$ c) T/ A ; ` X) h8 w5 \0 }2 S1 \2 X1 y
" j' W, K1 {' M0 p0 B![]()
; y% H0 x" W. U' h0 d
/ v: d3 n2 C# e
" K+ l/ m. A( k0 v3 U/ S3 Q. _; |
(7)模型精度检验。* j: R2 F+ o- D; Z; V: K
* J" ?) m' `! f" [2 l一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
+ G! G0 i' s; ^6 s1 B! `9 O* I( O+ u9 p" t! U' E
① 残差合格模型
- G7 w" `7 `+ D8 K4 p( g
+ O, M: ~& C+ V![]()
) T: p' u( k, m% T, S* x' B5 [+ E. b- F6 r5 ?, D% ^, V% x! H
![]()
+ `" G' }( m8 ^8 H' \* J: }$ q. Q5 L
② 关联度合格模型
! M5 f% D3 N+ C$ a }( D) H. u+ p* Z4 }5 J5 C( i5 b
![]()
/ x. ~! T$ G7 d2 h1 F5 x6 I, u. K# p! B# }9 _) l
③ 均方差比合格模型" L1 j# i/ w- h# |& k
2 s9 E# v% y7 D& g' b6 Z + z8 Z$ z" z6 x/ {
* @6 x$ t: h: @5 [: D
④ 小误差概率合格模型3 L8 ^2 p# g! T6 s! n- m
# d2 e, J% Y( P' v $ m! N6 b5 Q" }8 e: i
! c2 ?& ^1 R+ J1 U# y3 ?4 l; h! a1 D由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。 @( N: i* s5 L! D6 R5 ^1 g# Z
. S5 H6 f) z2 n' G6 c! N" s ; |# P/ ^( f1 ~
$ U1 \' y/ c v4 w由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。
+ x1 O# V! _/ z
$ ?) y0 R' }8 r/ j7 m7 @8 d ) W9 Z, T, J" }
$ B% |' A9 U0 Z: R! k
![]()
3 C' [3 w! ]5 m
8 C$ s5 }& p3 E, p0 ~! ]9 P: S, ]计算的 MATLAB 程序如下:) g' d1 M' [1 e* U& D- X: B( g
4 d4 k' k/ t# ^& x5 @1 M: h( oclc,clear
( H. ~1 t3 B! ?9 l2 zx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
1 `: O3 q% N! W! C7 ?6 v, \9.39 10.59 10.94 10.44]; o+ ?: _% V1 m* B& Q" ~6 |5 n
n=length(x1);# ~3 v0 e1 q; M0 U/ T. a$ I' R
nian=1990:2003;
/ t. \( }% d6 ?7 y) L4 ]1 jplot(nian,x1,'o-');9 c0 @6 o" u( [- j
x0=diff(x1);' u$ [/ |! k- {7 Q* m. E5 t
x0=[x1(1),x0]
/ j- [0 D) g4 [5 |% \7 J4 lfor i=2:n. z1 U8 Y5 J: |9 A. u1 B7 T2 n0 y+ b5 n
z1(i)=0.5*(x1(i)+x1(i-1));
6 U, Q! m5 \ f jend! B9 V) |% @- b. ~3 W2 c4 g
z1
9 d$ A: Z6 M0 X. {2 P, FB=[-z1(2:end)',z1(2:end)'.^2]
( s! j% u( M! |7 `Y=x0(2:end)'
- @7 ^1 c1 I. ?9 R/ L8 ~1 yabhat=B\Y %估计参数 a,b 的值9 e( h4 H2 M( s, L. P- l
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程- P. A& o+ A8 ?% H! q
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
' k) v! a0 Q Z0 ]; s3 @+ X* ^yuce=subs(x,'t',0:14) %计算预测值5 _7 W$ O% ?, L8 _
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
* S- E3 F; A' D* r9 A/ g1 ~# [yuce(16)=yuce(15);( j) Y9 a7 m1 {0 l2 Z+ b
x1_all=[x1,9.92,10.71];
# t$ E1 p# D, oepsilon=x1_all-yuce %计算残差
2 F6 b) \% I: V2 _2 k" Udelta=abs(epsilon./x1_all) %计算相对误差1 Z2 E! S9 r% ]( j, L( w; t) ?' S
delta_mean=mean(delta) %计算平均相对误差
" Z+ I* k" G1 L1 E( l* ?& k5 n( }5 bx1_all_0=x1_all-x1_all(1); %数据列的始点零化像
! _8 @: L5 \& e- w; K; nyuce_0=yuce-yuce(1); %数据列的始点零化像
+ a2 L" j% L# h2 N% g cs0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));$ E) \* J' |8 x
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));1 a: p) M! }+ x M( @4 ~4 m
tt=yuce_0-x1_all_0;5 B0 o/ k3 x- B$ Q
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));( h( l7 n9 u8 D4 W
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度) [, m0 Y. n! Z- m+ ?
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值4 d2 P/ H* f- E8 x$ }% B8 a
7 P& f! b) x+ E2 ^! x. ~- |3 预测结果比较
0 X3 l2 }" b3 r9 s: K. l& P 9 i; m0 a' n U+ x' t& q
a- L! ~* }" k/ Y! P, Y4 c5 W
% i* L4 M, y9 z0 H6 R
2 p8 [- k2 u- G6 ~6 @" v5 {比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:
# k4 d6 V6 i0 ]+ L3 B
; H# ]: E+ S+ p8 L5 C1 dclc,clear/ S) g! t2 \6 u: E) G+ `. ]* B
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
, I6 \5 N9 K# C; f% ?% v( E9.39 10.59 10.94 10.44];
, N6 l. u; a3 w5 tn=length(x1);
; |% |; @9 a! y' Y* X; ~1 _% D1 \x0=diff(x1);/ j' _1 h; N5 C8 C2 g" C
x0=[x1(1),x0]
- t1 Q) H- R+ Z* C" |2 h- M" W. Yfor i=2:n; U5 ~4 B" t2 i/ T( F
z1(i)=0.5*(x1(i)+x1(i-1));
+ I) T. b& [4 O6 |% ~' J, M/ Gend
6 b( B7 M1 o# ~0 ~: W% mB=[-z1(2:end)',ones(n-1,1)];% {, v) ?% C8 `4 P& F6 J3 l* M/ C
Y=x0(2:end)';
q, c0 b4 i4 u5 wabhat=B\Y %估计参数 a,b 的值
& c* Y9 Z* {' k+ ]$ Qx=dsolve('Dx+a*x=b','x(0)=x0');+ F; t+ A) a, D2 G5 V
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});0 m+ A# O/ m+ S6 H) F- F
yuce=subs(x,'t',0:14) %计算预测值
& |) T) ~& b( E! fdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
1 Z, E7 u+ [# C( y6 `& v# p值之后,或者不使用该语句5 t: a7 D' ^ B6 H6 V0 ?8 P7 E
yuce(16)=yuce(15);
5 N4 ]7 U) t5 B3 X% i9 V: rx1_all=[x1,9.92,10.71];
. r. r# S! f w! Z! Tepsilon=x1_all-yuce %计算残差
( W X8 {, T. V- B5 `1 ?' s `delta=abs(epsilon./x1_all) %计算相对误差
! L9 A6 X4 ?% H" W$ [delta_mean=mean(delta) %计算平均相对误差, C3 N* z8 h# l5 u
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像5 e% n" }- X! h7 r7 S
yuce_0=yuce-yuce(1); %数据列的始点零化像$ D; {5 Z w6 {6 \' R( @3 ?# m$ R, F
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
7 s/ k- s: o/ l& [$ Js1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
! C6 h# ^1 O( K& j! z1 ` ~tt=yuce_0-x1_all_0;; e4 e- q3 V6 g6 W( z: T6 |+ |
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));. P6 x" }/ F# u9 Q4 E0 U
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度* a$ J4 p8 [2 Q9 J( _9 m6 M9 j
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值6 v: A' D# f# Q" l& L
0 p1 @- @9 [% P2 j# Z" {
4 结语" `/ V! ~7 ~. l6 R5 G, C$ j
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。+ U; g( m( F3 I3 W( j( s3 A0 s
————————————————
8 h" a8 r7 X1 F- f7 t* i. u) G版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。6 r. g+ r+ V. L8 z4 C
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
+ e9 h* K1 U, ?# [
: x0 t: P% ~& a( X
9 k4 x$ }* p' }. c& `+ A: o2 ~; p4 D
: ]& b/ ^3 F4 i6 m5 R" k" ? |
zan
|