灰色系统的点滴

2021-08-09 15:16:01 浏览数 (1)

灰色系统的灰色主要是根据信息的透明程度来定义的,即在控制理论中常用黑色代表信息完全未知,白色代表信息完全明确,而灰色介于两者之间,即部分信息明确部分模糊的,所以灰色系统的研究对象是一些不确定性系统(非完全不确定),它通过已知的信息进行对现实的确切推断、认识,是一个以灰色模糊朦胧集为基础、灰色关联空间为依据、灰色序列灰色模型为核心的理论体系。

本文着重解释灰色模型和灰色关联度两种核心的思想

灰色模型

它有比较严格的理论基础,一般用来做预测,且预测结果比较稳定,适用于各种数据规模的预测,灰色预测一般采用GM(m,n)模型,其含义是:用m阶微分方程对n个变量建立模型,而GM(1,1)最为常用,所以以下主要解释推导灰色预测模型中的GM(1,1)

思想

  • 原始数据首先需要进行预处理(这里的预处理和一般的比如标准化等依托统计规律或概率分布的方法不一样,主要是将其转化为和时间有关的时间序列数据,也是后续建立动态模型的基础)
  • 灰色模型主要是通过鉴别当前系统因素及因素之间的发展趋势的程度并对原始数据进行生成处理寻找事物未来的发展趋势,灰色预测的数据是通过生成数据的模型所得到的预测值的逆处理结果

推导(基于GM(1,1))

  • 约定 设原始数据列为
x^{(0)} = (x^{(0)}(1),x^{(0)}(2),...,x^{(0)}(n))

其中上标0代表的第一次未处理的数据,也就是原始数据,n表示这个时间序列的数据长度为n

  • 对原始数据进行累加

目的是为了弱化随机序列的波动性和随机性,消除一些系统误差

x^{(1)} = (x^{(1)}(1),x^{(1)}(2),...,x^{(1)}(n))
x^{(1)}(t) = sum_{k=1}^t x^{(0)}(k)

此时上标则变为了1,累加通俗点解释是指上标为1的这个序列的第一个值为原始数据列的第一个值,第二个值为原始数据列的第一个和第二个之和,依次下去,最后一个值为所有原始数据之和

  • 建立一阶线性微分方程(核心步骤)

微分方程具有非常优良的精确量化变化率的优势,所以一些动态仿真模型经常用到

对累加后的数据序列通过以下GM(1,1)公式建立方程:

frac{dx^{(1)}}{dt} a x^{(1)} = u

离散化为

Delta(x^{(1)}(k 1)) a*x^{(1)}(k 1) = u

模型检验

  • 比对模型精度检验

精度等级

相对误差q

方差比C

小误差概率P

I级

< 0.01

<0.35

> 0.95

II级

< 0.05

<0.50

< 0.80

III级

< 0.10

< 0.65

<0.70

IV级

> 0.20

>0.80

<0.60

对照该表进行模型结果的检验

灰色关联

灰色关联也是灰色系统中较为常用的一种方法,引入一个概念——关联度,它是衡量两个系统间因素随时间或其他刻度变化的关联性大小的量度,也即是分析两个因素的同步变化程度,而灰色关联法是作为衡量因素间关联度的一种方法,对应的关联度称为灰色关联度

约定

  • 参考列
X_0

,一般可以是因变量列

X_0 = {X_0(k)|k=1,2,...,n}

其中k表示时刻或其他刻度

  • 指标列
X_i = {X_i(k)|k=1,2,...,n,i=1,2,...,m}

其中m表示指标数,即研究变量个数

  • 关联系数(核心)
zeta(k) = frac{min limits_{i} min limits_{k} |X_0(k) - X_i(k)| rho max limits_{i} max limits_{k} |X_0(k) - X_i(k)|}{|X_0(k) - X_i(k)| rho max limits_{i} max limits_{k} |X_0(k) - X_i(k)|}

含义是指比较数列

X_i

的第k个值对参考数列

X_0

第k个值的关联系数,该式子中

rho in [0,1]

称为分辨系数,分辨系数越大,则分辨率越大,该式的通俗理解就是计算离参考列数据中的元素值最远和最近的距离(值与值之间,不是列向量之间),通过分辨系数控制权重,因为分析的是两个因素的同步变化程度,极端地想一旦某一列的某一值与参考列的值背道而驰,则分母一定远大于分子,此时关联系数最小

  • 灰色关联度
r_i = frac{1}{n} sum_{k=1}^n zeta_i(k)

因为每个时刻都有一个关联系数,为使信息不过于分散所以才有了关联度

步骤

  • 对各个列进行预处理和标准化
overline{X_i} = (1, frac{X_i(2)}{X_i(1)},frac{X_i(3)}{X_i(1)},....,frac{X_i(n)}{X_i(1)})

用这种方法消除量纲的影响

  • 选取参考列,即待分析的列,一般选因变量列
  • 用上述公式计算每个指标列
X_i

与参考列

Y

的关联度

  • 判断正关联与负关联 先对每个列(包括参考列)计算两个指标,
sigma_i = sum_{k=1}^n kX_i(k) - sum_{k=1}^n X_i(k) sum_{k=1}^n frac{k}{n}
sigma_n = sum_{k=1}^n k^2 - sum_{k=1}^n frac{k^2}{n}

如果

sign(frac{sigma_i}{sigma_n}) = sign(frac{sigma_j}{sigma_n})

则说明指标i和指标j为正关联 如果

sign(frac{sigma_i}{sigma_n}) = -sign(frac{sigma_j}{sigma_n})

则指标i和指标j为负关联

sign函数为符号函数,即当x>0时sign(x)=1;当x=0时sign(x)=0;当x<0时sign(x)=-1;

0 人点赞