- 在线时间
- 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)模型等更适用。
6 V- G( ^4 u) |3 X; K
; i6 @+ E' V4 _ \, K7 |Verhulst 模型主要用来描述具有饱和状态的过程, 即 S 形过程,常用于人口预测、生物生长、繁殖预测及产品经济寿命预测等。今年来 中国道路交通事故表现为具有饱和状态的 S 形过程,故可采用 Verhulst 模型对其进行预 测。
8 }4 _9 [1 z8 _0 u
$ G1 y) r; F" [* x1 Verhulst 模型简介% `/ g; x7 F1 b, b# S$ S' y7 P+ P
Verhulst 模型的基本原理和计算方法简介图下( O1 }6 b" M' r3 y- s
) z& A- p* Z, E2 d
![]()
% n2 Q* |( {0 l! }) {* U) F/ h. ]# Z" @6 D( w( R
参数列的最小二乘估计$ B! @. @ y2 G3 W$ A% x
3 ?# S5 V8 I: o2 z: `![]()
+ B- G+ m9 d- L% T5 `
9 U5 {$ y# L' V5 t! v! i' o2 Y! n' X: z' B
定理 2 设灰色 Verhulst 模型如上所述,则白化方程的解(时间响应函数)为
, w5 J: R! }( W! U, [. O- I4 U3 z2 s; k/ P: C% i4 l3 P
5 t& Z9 x) L- E( i; z1 }
( i8 P3 g6 M. `! F
灰色 Verhulst 模型的时间响应序列为
9 `8 \5 A) p# p7 t3 w0 b9 l6 A' h% R. i& i3 x1 X
" ^ n( G# R4 j/ B
4 a& _5 }9 s" d! _- @0 G8 V$ L6 Q5 {累减还原式为1 K7 T* z+ `/ U& [5 L' j: |
* y- g# w. W+ r2 g6 D
7 c3 a3 K* t( `/ t3 M4 E$ |" @
. Q! s( m7 o) k
2 道路交通事故 Verhulst 预测模型
: y9 P3 [; ~' C4 f; a
& i: v: K& y' Q![]()
! C7 C: g; k9 \% u! v) _# b- `9 {8 \ x& M
1990~2003 年中国道路交通事故死亡人数曲线见图 2,可见曲线呈 S 形,故可建立 Verhulst 模型进行预测,其建模过程如下。; z: y1 \- x1 ]* z7 ]1 E
1 T" f T/ m+ t4 b9 j- y3 F: r9 G
2 L3 o& b8 r# v% `, \0 ]0 s% ^
) q0 ]- J- s. T1 s9 q" P 7 `1 h. |' v/ I2 G3 w" ` v
$ I: k1 s4 R" A* S; u- Q![]()
5 `% e( L! I5 U2 c- d
2 Z. Q' W$ _# Y$ P1 |/ a8 @8 p# [7 N5 G0 u1 p/ l- B
0 a' e$ s! E* e; `& ~
(7)模型精度检验。0 N- h, n, s" F; d* r% U# b/ T
( w5 s2 s# ^/ ^( s' K0 J. x7 a
一个灰色模型要经过检验才能判定其是否合理。只有通过检 验的模型才能用来进行预测。检验方法有以下几种。
1 d, ?; w; |; L2 ~. Z+ T( f9 a0 t( A% f+ Q3 u) z
① 残差合格模型
2 Y) r3 {, j( E( v5 _7 @, q8 j* J8 Z6 U a# T) O3 n) C
![]()
4 Z0 H: C- V7 E2 ~9 O- V1 R% n0 [* i( N; X* W& r
; O% G# h3 E5 I: Q/ k% [# N0 R' S5 q
& P c' k c' o② 关联度合格模型+ {; x& Z0 f0 S
2 m, \8 v, R+ m![]()
: {( b/ h; ]$ {& ~" A, e
|1 E7 b3 L# ]4 l3 l ③ 均方差比合格模型& G9 A( d8 K* H
& T0 w+ [1 @$ U5 O![]()
* g% H) t. G: P7 }3 R+ k. d/ B0 _ r
④ 小误差概率合格模型' P0 X5 w& w) u$ A. S3 r
% D1 o9 v4 s4 z" |7 O7 z/ ]![]()
" T) K9 q$ y/ B; E" T! O1 \5 V
* A6 E6 V1 D; k2 Q8 s; w) K, _由上可知,给定一组取值,就确定了检验模型精度的一个等级。常用的精度等级见 表 15,可供检验模型参考。一般情况下,最常用的是相对误差检验指标。
& S1 l( r1 e$ L2 ^
- K! Q; }( c2 Z" ]6 p$ x![]()
. \8 {8 W4 I" n: y; a4 [. ?+ w- y' l$ x
由以上检验方法,可得 1990~2003 年中国道路交通事故死亡人数 Verhulst 模型误 差检验值见表 16。( Y2 ~. z8 O& F; O* _# l2 u
, R+ N" G' ^- p. Q1 ?
5 z+ E1 i/ j+ l) S B
9 i, v5 p- L% G: f2 k
( }! {9 a T& B: f3 }. H; ]7 ^
' B$ e( Q; @( i" C3 G
计算的 MATLAB 程序如下:& ~" m4 ^* b7 _" s$ M# Q
" J) G7 {# Y, pclc,clear9 v1 G8 u4 Q4 j1 j* F# x6 i
x1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.357 }3 v5 j$ }- l/ j/ M* U( r
9.39 10.59 10.94 10.44];( b$ C* B, I9 I9 I+ y
n=length(x1);
" J- g: T$ h! Knian=1990:2003;
8 n o0 x( x, O rplot(nian,x1,'o-');
8 v8 I Y5 ^. u0 [, j' e9 Rx0=diff(x1);4 o" h' e/ H, a2 F+ D
x0=[x1(1),x0]' k& ?. P2 J! J) k; t+ `8 V
for i=2:n+ v* O! {: v5 u. P. A
z1(i)=0.5*(x1(i)+x1(i-1));6 t4 H8 Z4 A6 `2 ~6 {8 b
end
3 N- p6 i; f& E+ \' U' A0 l% Kz1: O) o4 r! b& R( R: F
B=[-z1(2:end)',z1(2:end)'.^2]
; { ~3 Z& O) l1 Z- E: k Z6 BY=x0(2:end)'
4 A4 K, y7 z; yabhat=B\Y %估计参数 a,b 的值# p+ p4 P+ U5 ?6 b9 x
x=dsolve('Dx+a*x=b*x^2','x(0)=x0'); %求解常微分方程2 S6 V+ o8 V& o! P
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); %代入参数值 C+ m% P! U% y
yuce=subs(x,'t',0:14) %计算预测值7 c, t% s9 S6 y, D& x1 d
digits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测值之后,或者不使用该语句
; J" m* T, y* T; x" P' e5 Fyuce(16)=yuce(15);2 \ e) M4 w+ d1 K
x1_all=[x1,9.92,10.71];' d: T4 P v- u0 d! G
epsilon=x1_all-yuce %计算残差
. ^' J4 ?5 }8 B4 f. b9 hdelta=abs(epsilon./x1_all) %计算相对误差. W4 W& j; D3 U: q
delta_mean=mean(delta) %计算平均相对误差7 k7 [* O3 H% i v
x1_all_0=x1_all-x1_all(1); %数据列的始点零化像
3 F8 d/ k( Z$ }7 y$ fyuce_0=yuce-yuce(1); %数据列的始点零化像
7 s- ]; a8 n: x' D/ k2 Vs0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));5 I& G$ j5 K+ U8 f4 j0 B; V3 [
s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));$ \; m: y8 B" B6 D' ]4 [
tt=yuce_0-x1_all_0;
1 [$ P. n8 I9 @4 b( U! Q. ws1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));, P" ~' H: x( G
absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度+ |$ ]# Q: t+ n p! W; A8 n
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值
0 Z; \; [% N7 { C& \+ Y6 ~! x# z# ~) x3 H$ ~& w" r4 L8 y: c
3 预测结果比较3 x- g/ a, A. f- k2 J( k
. b3 T1 J0 G3 O- h
% ^/ X0 T: c% E* Y0 q' \" W * t- ^9 S4 @# P; v8 ]
& O, R7 L/ H4 N0 r+ L6 s$ i比较表 16 和表 17 可知,Verhulst 模型预测精度与 GM(1,1)模型几乎没有差别。 计算的 MATLAB 程序如下:# R- x7 t# H4 _
$ ]' a3 o9 }8 ~ Y/ N G' Y8 \& `clc,clear
1 X2 J- F8 d6 H9 Mx1=[4.93 5.33 5.87 6.35 6.63 7.15 7.37 7.39 7.81 8.35! s5 o8 S# L% S: m2 C
9.39 10.59 10.94 10.44];
4 v! Y2 U, f/ @* Gn=length(x1);
: M& v* e: U, q) x: kx0=diff(x1);9 D8 j* M* m3 F1 b. _- Z* Y3 z
x0=[x1(1),x0]
, l/ q2 V* X4 g( m' H! Q" O* |for i=2:n
. h9 V# p, J4 z( i z1(i)=0.5*(x1(i)+x1(i-1));
9 l* q1 I$ s' f; Z$ m4 O4 e; G2 gend. r3 N8 s; `% I, f C
B=[-z1(2:end)',ones(n-1,1)];
7 y7 Q* g6 k4 H5 j8 Q8 N& vY=x0(2:end)';: C4 e; @0 K6 _, o% U
abhat=B\Y %估计参数 a,b 的值
; b3 Q/ G* n, r lx=dsolve('Dx+a*x=b','x(0)=x0');* v ~7 [0 C: j& a7 C2 ~0 U
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)});
! |: k8 ?: Q. Dyuce=subs(x,'t',0:14) %计算预测值
% i& y* |' o- p+ h. odigits(6); x=vpa(x) %显示微分方程的解,为了提高计算精度,把该语句放在计算预测, R9 u! b4 w$ Z, g% e+ T0 S! p
值之后,或者不使用该语句
( e3 g1 o- [) g% fyuce(16)=yuce(15);" R& r% c' S) [# I& v0 o
x1_all=[x1,9.92,10.71];* T$ r* \. d& h2 m4 _; l! H9 K6 O
epsilon=x1_all-yuce %计算残差
# _/ o" q- }; o1 C* wdelta=abs(epsilon./x1_all) %计算相对误差
% P% B7 N/ f2 t' t, ]; `. idelta_mean=mean(delta) %计算平均相对误差
& E9 e" {: s" m( N. Lx1_all_0=x1_all-x1_all(1); %数据列的始点零化像8 I+ t, a" W9 n5 g |0 S
yuce_0=yuce-yuce(1); %数据列的始点零化像
0 u/ V+ r5 A' j7 @/ k% Ss0=abs(sum(x1_all_0(1:end-1))+0.5*x1_all_0(end));
) b) r: v4 ^* Ns1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end));
6 M7 C& ~* N! \8 @$ @0 wtt=yuce_0-x1_all_0;: y& b0 N1 b, F" e( G4 v$ M5 E
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end));
" K: K- t0 Z# u3 s& _+ ?absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) %计算灰色绝对关联度1 |. Z& A+ \! T0 f0 I/ s* ^* m! N
c=std(epsilon,1)/std(x1_all,1) %计算标准差比值( V& _% g4 e: V* d% I w
5 G6 J8 M1 v$ k) g 4 结语$ i4 E9 ?9 G! s3 G: f4 v
道路交通安全系统是一个灰色系统,可以应用灰色系统理论进行研究和分析,其中 灰色预测模型和方法简便易用,在交通事故预测中得到了较多应用。GM(1,1)模型适用 于具有较强指数规律的序列,只能描述单调的变化过程,而 Verhulst 模型则适用于非单 调的摆动发展序列或具有饱和状态的 S 形序列。
( M% \0 ~% j1 P2 b' [. e————————————————( A* N) Q5 ~5 }; r! Y
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。6 ^# j$ V5 ^9 ~1 i& O& s0 K8 G
原文链接:https://blog.csdn.net/qq_29831163/article/details/89715039
' z3 u) F7 n5 N# u
# T( M0 }: x2 w8 [4 x2 _7 v3 S3 K
' |' p' b+ L, A! C
|
zan
|