Matlab数学建模灰色预测模型
Posted 九死九歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab数学建模灰色预测模型相关的知识,希望对你有一定的参考价值。
一、灰色预测的概念
1982年我国学者邓聚龙教授发表第一篇中文论文《灰色控制系统》标志着灰色系统这一学科诞生。
白色系统是指一个系统的内部特征已知的,即系统的信息是完全充分的。黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。
灰色系统则介于二者之间。
二、灰色关联度与优势分析
选取参考数列:
X
0
=
X
0
(
k
)
∣
k
=
1
,
2
,
⋯
,
n
=
(
X
0
(
1
)
,
X
0
(
2
)
,
⋯
,
X
0
(
n
)
)
,
其
中
k
表
示
时
刻
X_0 = X_0(k)|k = 1, 2, \\cdots, n = (X_0(1), X_0(2), \\cdots, X_0(n)), 其中k表示时刻
X0=X0(k)∣k=1,2,⋯,n=(X0(1),X0(2),⋯,X0(n)),其中k表示时刻
假设有m个比较数列:
X
i
=
X
i
(
k
)
∣
k
=
1
,
2
,
⋯
,
n
=
(
X
i
(
1
)
,
X
i
(
2
)
,
⋯
,
X
i
(
n
)
)
,
(
i
=
1
,
2
,
⋯
,
m
)
X_i = X_i(k)|k = 1, 2, \\cdots, n = (X_i(1), X_i(2), \\cdots, X_i(n)), (i = 1, 2, \\cdots, m)
Xi=Xi(k)∣k=1,2,⋯,n=(Xi(1),Xi(2),⋯,Xi(n)),(i=1,2,⋯,m)
则称:
ζ
i
(
k
)
=
min
i
min
k
∣
X
0
(
k
)
−
X
i
(
k
)
∣
+
ρ
max
i
max
k
∣
X
0
(
k
)
−
X
i
(
k
)
∣
∣
X
0
(
k
)
−
X
i
(
k
)
∣
+
ρ
max
i
max
k
∣
X
0
(
k
)
−
X
i
(
k
)
∣
\\zeta_i(k) = \\frac\\min_i\\min_k|X_0(k) - X_i(k)| + \\rho \\max_i\\max_k|X_0(k) - X_i(k)||X_0(k) - X_i(k)| + \\rho \\max_i\\max_k|X_0(k) - X_i(k)|
ζi(k)=∣X0(k)−Xi(k)∣+ρmaximaxk∣X0(k)−Xi(k)∣minimink∣X0(k)−Xi(k)∣+ρmaximaxk∣X0(k)−Xi(k)∣
为比较数列Xi对参考数列X0在k时刻的关联系数。其中
ρ
∈
[
0
,
+
∞
)
\\rho\\in [0, +\\infty)
ρ∈[0,+∞)为分辨系数,一般情况下
ρ
∈
[
0
,
1
]
\\rho\\in [0, 1]
ρ∈[0,1]
关联系数
ζ
\\zeta
ζ在每一时刻都有一个,过于分散,不利于比较,为此我们给出:
r
i
1
n
∑
k
=
1
n
ζ
i
(
k
)
r_i \\frac1n\\sum\\limits^n_k = 1\\zeta_i(k)
rin1k=1∑nζi(k)
为比较数列Xi对参考数列X0的关联度。
然而关联系数公式中的
∣
X
0
(
k
)
−
X
i
(
k
)
∣
|X_0(k) - X_i(k)|
∣X0(k)−Xi(k)∣并不能去别处因素关联是正关联还是负关联,可采用以下方法解决该问题,记:
σ
i
=
∑
k
=
1
n
k
X
i
(
k
)
−
∑
k
=
1
n
X
i
(
k
)
∑
k
=
1
n
k
n
σ
n
=
∑
k
=
1
n
k
2
−
(
∑
k
=
1
n
k
)
2
n
\\sigma_i = \\sum\\limits^n_k = 1kX_i(k) - \\sum\\limits^n_k = 1X_i(k)\\sum\\limits^n_k = 1\\frac k n \\sigma_n = \\sum\\limits^n_k = 1k^2 - \\frac(\\sum\\limits^n_k = 1k)2n
σi=k=1∑nkXi(k)−k=1∑nXi(k)k=1∑nnkσn=k=1∑nk2−n(k=1∑nk)2
则当 s i g n ( σ i σ n ) = s i g n ( σ j σ n ) sign(\\frac\\sigma_i\\sigma_n) = sign(\\frac\\sigma_j\\sigma_n) sign(σnσi)=sign(σnσj),则Xi和Xj为正关联,否则为负关联。
代码实现:
function [zeta, r] = func(x, x_0, rho)
[m, ~] = size(x);
if nargin < 3
rho = 0.5;
end
if nargin <以上是关于Matlab数学建模灰色预测模型的主要内容,如果未能解决你的问题,请参考以下文章