- 在线时间
- 791 小时
- 最后登录
- 2022-11-28
- 注册时间
- 2017-6-12
- 听众数
- 15
- 收听数
- 0
- 能力
- 120 分
- 体力
- 36398 点
- 威望
- 11 点
- 阅读权限
- 255
- 积分
- 13880
- 相册
- 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)模型等更适用。
; L* R# o, h C$ N; s3 G+ r5 x2 [) F1 L& q
Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
% c) T$ p8 @" J# q
, W1 u7 s! @4 U) n1 C1 Verhulst 模型简介5 p5 p$ o& i8 T7 v, V+ i% T
Verhulst 模型的基本原理和计算方法简介图下% Y* a7 l% S* Y- K) q" m$ x
! a4 T" ? q# C! \, N O' Q$ z
![]()
8 ^9 w2 Q' G* ^1 o; I
$ _- J- m4 J& n7 {6 ?) J7 G参数列的最小二乘估计' _" A0 E; i7 U1 L! C# G
; y# Q7 s' `; c5 q 2 O4 J @8 _4 U' G/ o- {) |8 P5 U
0 B. h2 m9 @8 F- X
+ H6 c* Q* \+ O3 {% U$ M" e1 ` 定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为, V L P# P! p& C- {$ [' K
' i8 e8 d" @- i6 Z 0 q" |3 U3 s+ Y7 @ `: S3 o. t
( @# B* G# Z( a. r
灰色 Verhulst 模型的时间响应序列为. Z/ w5 i( @! b
5 R' a( W6 _% _- Z1 v$ [7 }7 d
! c$ [$ r9 Z# g8 S
5 ^6 ~' a& C: ^/ [/ u, ?累减还原式为
% X2 T5 ]$ @( G$ m9 F- k" d6 v! k, G$ r3 D& V1 V/ t0 y
![]()
- u _* O; x% a) Z8 b
+ D( e, d9 w6 k9 w5 m2 道路交通事故 Verhulst 预测模型; F% @0 y! {( A+ {' _/ S+ @
5 z6 E' k" k: E2 V & {0 k4 {/ G4 Z/ B; _
8 U2 V, l/ w" _' \1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。
, W9 @7 C6 ^' ~" ~% m' @) G1 Z
/ F+ Y; S; ?0 L1 d5 n* _3 y; T" @4 } 6 F) R! Z& @; Y& r5 g
# a+ f7 t/ H; L$ y* k8 X - V/ c4 v/ h) u% }# T0 r) d; J5 r% D& |
$ b5 f2 j3 G, p) ~7 ~' \, a3 r , M' V3 A9 @9 G. J
6 g( K/ p* \; ]0 ^: j
& J4 ?7 Y1 w: q, o. f% A$ n4 o1 F
(7)模型精度检验。
- A7 N: L% c k0 X% w7 r1 R0 c7 F" R! u$ |) \
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。! L7 O C% x( n& F5 W3 y/ [9 E) c
2 D( Q$ i1 q9 `: I6 R① 残差合格模型
7 `+ `$ v# D: ^, P
" T8 V" @; d' q; U. u 6 J) @5 A: V; N8 E+ N
8 B5 {6 g) m* G2 n # N, a B5 m! j: R: m2 ]$ @
( N8 g) i7 y4 M' |. c. P② 关联度合格模型4 M' t- K' f; X% |2 y; H
|" e( t0 h! Z& _/ s
![]()
( Q/ S7 J) Y- ]9 [ q( M' X" |4 s- @, G. P4 U! m+ }( S
③ 均方差比合格模型
2 |& A4 w% N' k, T2 ]5 B$ G
- |+ n3 r) u, e2 o6 |![]()
! D! p% w/ ?& A5 k6 T+ v. {( v2 u, C* d5 a/ _
④ 小误差概率合格模型7 `5 ]5 z3 Z4 t$ p
% I) b& n' _, U( b5 `![]()
# A; t' s( J6 \% N; a( U+ \1 O1 S
& U K9 F5 n Z q8 K9 m由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。& F6 W! ?6 g: c$ k" U4 ~
( @, B* y- x1 O% q; a. X( c" n
; X( [. A# l' V Z2 p4 X, v
! w3 n3 H- _' j, Q ~$ @" ~由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。7 B) m& P: `/ s7 V2 S
4 T5 w4 a- _/ a6 Y2 _) H , v. L, q$ M8 H8 r& H0 C: B& C1 O
+ v( X/ J7 g: q![]()
) O3 U$ A6 w% R) ]8 N3 f& X, Z! S- U, R9 P
计算的 MATLAB 程序如下:
% ^/ j- v# w. `4 H3 i" k# C- _ g6 \0 _4 g9 a+ E% ~2 l
clc,clear6 u: v+ z- _: F0 m
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
6 |5 N) ]2 x2 [! j9.39 10.59 10.94 10.44];
- y2 _! s$ _6 m4 X) j3 ?& r! yn=length(x1);" H/ ]$ K- I9 h% p S/ ~
nian=1990:2003;6 x3 H5 o2 T( K4 @8 _7 m4 x
plot(nian,x1,'o-');
# ?: n- X: J C: Mx0=diff(x1);
" o1 t8 l/ D: A! Nx0=[x1(1),x0]
* `( A5 m' S4 J/ e, a ffor i=2:n1 u* F" \& F& n3 v7 j Q& L
z1(i)=0.5*(x1(i)+x1(i-1));
( \- A0 p$ d2 w/ ~- O. z$ g1 wend
+ ~( a/ G/ D" Y) k# q! H( X. tz1
& p; b0 j5 w4 U( o) \B=[-z1(2:end)',z1(2:end)'.^2]& z+ Z( d' k& E8 U& i9 A& b8 g
Y=x0(2:end)'9 q" j2 o1 A' h) A- i& H4 v$ U
abhat=B\Y %估计参数 a,b 的值# x5 ~% ^2 Y! e1 {4 e; L: Y; Z
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程
# n f5 X; M2 m+ } @5 w ~x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值
- L0 T/ n4 s; oyuce=subs(x,'t',0:14) %计算预测值
! d6 x6 z1 W! a. M' `' gdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句; u; q2 W% m3 ~
yuce(16)=yuce(15);
( n+ r. K6 O7 x$ _" Ox1_all=[x1,9.92,10.71];- {, Q5 n& I1 w
epsilon=x1_all-yuce %计算残差
3 H2 v7 x$ c; S, }+ m6 \ Rdelta=abs(epsilon./x1_all) %计算相对误差/ _5 p7 b# j; I
delta_mean=mean(delta) %计算平均相对误差/ f2 V' p2 z9 n' V" n
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像: ]# p' x% m+ n& b! Z; D- Z
yuce_0=yuce-yuce(1); %数据列的始点零化像
9 Z3 r/ \+ s% @3 B2 Os0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
) q! {* z F" `7 ws1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));0 K$ D7 U! }* g! h* ^ s
tt=yuce_0-x1_all_0;
5 f: _2 u7 {. u3 @/ cs1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
# ^( b7 Z. R- Z0 e( f: Pabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度$ g& m" t" x- P
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值% q9 g1 h5 Q* e" }
( g$ P H" `! s+ _; f& ]; Z# U3 预测结果比较
. u& Z% A+ w2 r' \$ ~4 ~ : X$ w. b s V
2 ?( J) H7 W3 Y$ Q8 a- b![]()
B$ x( j, [4 v; v+ |9 Y; ~
. z; V$ M) c' e比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:6 d3 e! i8 r4 q6 ]' d* X$ F7 X& E9 {0 l
* v: h; B7 c5 V3 c! Z, K; n
clc,clear
1 t! }- x0 \5 r/ A2 S0 s; D1 ax1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35
% a5 Q5 z: L; V8 c" d M- y$ Y9.39 10.59 10.94 10.44];
: o6 {3 L" M8 _n=length(x1);
; H; d( a& q. B1 U* {4 Yx0=diff(x1);
- M* {( H. u; |- j3 L9 hx0=[x1(1),x0]
5 Z! e2 U+ s, E/ Z3 w* b7 U3 lfor i=2:n/ [) C0 \8 H4 ]- j" [6 o
z1(i)=0.5*(x1(i)+x1(i-1));
3 D g G0 _' }/ b5 ]end( }* d& Z9 m: H! P9 y4 B |
B=[-z1(2:end)',ones(n-1,1)];
) _. ^, b% H! x! d6 K( |Y=x0(2:end)';
/ |0 _- I: K# x' D F/ u4 U8 r, `abhat=B\Y %估计参数 a,b 的值
6 p* W6 [3 O1 @; B+ V: |" ]$ Nx=dsolve('Dx+a*x=b','x(0)=x0');
, r, M7 ?/ W* C5 E9 N: W" o8 Px=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});- B% X& p7 d- h# ~8 y5 r: g# ]
yuce=subs(x,'t',0:14) %计算预测值
) W5 R3 ~8 y: q. P. a$ a) h$ c$ f2 cdigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测
" t) K7 d. Y7 t: I. b值之后,或者不使用该语句! a }$ J* @; p. G% ^7 {, w
yuce(16)=yuce(15);! D z v% F; ^4 R# i4 w
x1_all=[x1,9.92,10.71];6 Z* ?3 U% b" ~% s: Y' U
epsilon=x1_all-yuce %计算残差
: z- M6 L+ k# A$ ddelta=abs(epsilon./x1_all) %计算相对误差
/ r P1 j0 j& {* P+ W3 r0 Udelta_mean=mean(delta) %计算平均相对误差
( w. j( z3 ~& Y% q% W2 @1 wx1_all_0=x1_all-x1_all(1); %数据列的始点零化像$ M5 m+ w0 Z4 d7 U5 l, o
yuce_0=yuce-yuce(1); %数据列的始点零化像: f; P i% B0 ?9 g5 C( \, }
s0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end)); h2 K: R/ \$ x- W
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));8 M3 g/ F8 Y2 |) D' i
tt=yuce_0-x1_all_0;* t8 ] ]. G6 p& k
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
, Z" l% x, {! yabsdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度
* _/ J3 H+ j; n6 j+ j6 t0 Dc=std(epsilon,1)/std(x1_all,1) %计算标准差比值6 l: y8 v w% m& C- u$ X7 V
$ m! L* U$ p5 q+ u V/ k& @7 M! l+ P3 k 4 结语
9 p: w$ Y! F6 }& `道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
# ]3 i% M* d0 y$ N8 C4 q————————————————
) t1 a6 ]6 O1 u7 u+ v版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。9 z/ w" N$ G# g
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
8 L; G8 e2 p% o9 |% V( t9 j! I+ P1 V+ E+ a$ e% }
' I1 X" o/ b! P4 O3 P5 p: E
4 g. ]% N8 k& r! H |
zan
|