Bootstrap

灰色系统理论:优势分析、生成数与灰色建模

摘要
本文深入探讨灰色系统理论中的优势分析、生成数技术及灰色建模方法。通过关联矩阵量化多因素交互影响,解析累加生成(AGO)、累减生成(IAGO)与均值生成的数据处理原理,详细推导GM(1,1)与GM(1,N)模型的灰微分方程、参数估计及白化过程,结合交通投资与疫情经济影响案例,展示灰色模型在动态系统预测中的实践应用。
关键词:优势分析 生成数 灰色模型 GM(1,1) 累加生成

一 优势分析

1.1 多因素关联矩阵构建

当系统存在多个参考数列(母因素)和比较数列(子因素)时,需通过优势分析识别关键影响因素。设:

  • 母因素 y 1 , y 2 , … , y m y_1, y_2, \dots, y_m y1,y2,,ym(如国民收入、工业收入等);
  • 子因素 x 1 , x 2 , … , x l x_1, x_2, \dots, x_l x1,x2,,xl(如固定资产投资、科技投资等)。

计算每个子因素对母因素的关联度 r i j r_{ij} rij,构建关联矩阵 R = ( r i j ) m × l R = (r_{ij})_{m \times l} R=(rij)m×l。根据矩阵元素大小判断优势因素:

  1. 优势子因素:若某列元素显著大于其他列,如 r i 3 > r i j   ( j ≠ 3 ) r_{i3} > r_{ij} \ (j \neq 3) ri3>rij (j=3),则 x 3 x_3 x3 为优势子因素。
  2. 优势母因素:若某行元素显著大于其他行,则该母因素对系统影响最大。
示例:地区经济投资分析

某地区6个母因素( y 1 y_1 y1 y 6 y_6 y6)与5个子因素( x 1 x_1 x1 x 5 x_5 x5)的关联矩阵如下:
R = [ 0.802 0.761 0.557 0.810 0.936 0.689 0.666 0.529 0.885 0.800 0.891 0.858 0.579 0.577 0.675 0.678 0.663 0.568 0.780 0.731 0.811 0.774 0.565 0.804 0.921 0.743 0.766 0.562 0.607 0.632 ] R = \begin{bmatrix} 0.802 & 0.761 & 0.557 & 0.810 & 0.936 \\ 0.689 & 0.666 & 0.529 & 0.885 & 0.800 \\ 0.891 & 0.858 & 0.579 & 0.577 & 0.675 \\ 0.678 & 0.663 & 0.568 & 0.780 & 0.731 \\ 0.811 & 0.774 & 0.565 & 0.804 & 0.921 \\ 0.743 & 0.766 & 0.562 & 0.607 & 0.632 \\ \end{bmatrix} R= 0.8020.6890.8910.6780.8110.7430.7610.6660.8580.6630.7740.7660.5570.5290.5790.5680.5650.5620.8100.8850.5770.7800.8040.6070.9360.8000.6750.7310.9210.632

分析结论

  • 第4行元素较小,说明商业收入受投资影响较弱,属自维持型行业;
  • r 15 = 0.936 r_{15}=0.936 r15=0.936 最大,表明交通投资对国民收入影响最显著;
  • 农业( y 3 y_3 y3)与固投( x 1 x_1 x1)、工投( x 2 x_2 x2)关联度高,需多领域协同发展。

1.2 潜在优势因素识别

当关联矩阵呈“对角线以上零元素”结构时,例如:
R = [ 0.8 0 0 0 0 0.6 0.5 0 0 0 0.7 0.7 0.3 0 0 0.4 0.6 0.7 0.9 0 0.3 0.8 0.2 0.7 0.504 ] R = \begin{bmatrix} 0.8 & 0 & 0 & 0 & 0 \\ 0.6 & 0.5 & 0 & 0 & 0 \\ 0.7 & 0.7 & 0.3 & 0 & 0 \\ 0.4 & 0.6 & 0.7 & 0.9 & 0 \\ 0.3 & 0.8 & 0.2 & 0.7 & 0.504 \\ \end{bmatrix} R= 0.80.60.70.40.300.50.70.60.8000.30.70.20000.90.700000.504

  • 第1列元素全非零, x 1 x_1 x1 为潜在优势子因素;
  • 第2列存在零元素, x 2 x_2 x2 为次潜在优势子因素。

二 生成数技术

2.1 累加生成(AGO)

将原始序列 x ( 0 ) x^{(0)} x(0) 逐项累加,生成规律性更强的序列 x ( 1 ) x^{(1)} x(1),公式为:
x ( 1 ) ( k ) = ∑ i = 1 k x ( 0 ) ( i ) , k = 1 , 2 , … , n x^{(1)}(k) = \sum_{i=1}^k x^{(0)}(i), \quad k = 1,2,\dots,n x(1)(k)=i=1kx(0)(i),k=1,2,,n
作用:弱化随机性,凸显趋势性。例如,非负摆动序列经累加后转化为单调递增序列。

示例:原始序列与累加序列对比
  • 原始序列: x ( 0 ) = ( 2 , 3 , 1 , 4 ) x^{(0)} = (2, 3, 1, 4) x(0)=(2,3,1,4)
  • 累加序列: x ( 1 ) = ( 2 , 5 , 6 , 10 ) x^{(1)} = (2, 5, 6, 10) x(1)=(2,5,6,10)

2.2 累减生成(IAGO)

累减是累加的逆过程,用于还原生成数:
x ( 0 ) ( k ) = x ( 1 ) ( k ) − x ( 1 ) ( k − 1 ) , k = 2 , 3 , … , n x^{(0)}(k) = x^{(1)}(k) - x^{(1)}(k-1), \quad k = 2,3,\dots,n x(0)(k)=x(1)(k)x(1)(k1),k=2,3,,n

2.3 均值生成

通过邻值生成数平滑数据波动,常见方法包括:

  1. 紧邻均值生成
    z ( 1 ) ( k ) = 0.5 x ( 1 ) ( k ) + 0.5 x ( 1 ) ( k − 1 ) , k = 2 , 3 , … , n z^{(1)}(k) = 0.5x^{(1)}(k) + 0.5x^{(1)}(k-1), \quad k=2,3,\dots,n z(1)(k)=0.5x(1)(k)+0.5x(1)(k1),k=2,3,,n
  2. 非紧邻均值生成
    z ‾ ( 0 ) ( k ) = 0.5 x ( 0 ) ( k + 1 ) + 0.5 x ( 0 ) ( k − 1 ) \overline{z}^{(0)}(k) = 0.5x^{(0)}(k+1) + 0.5x^{(0)}(k-1) z(0)(k)=0.5x(0)(k+1)+0.5x(0)(k1)

应用场景:数据缺失时补充生成,或构建灰色模型背景值。


三 灰色模型 GM

3.1 GM(1,1)模型

3.1.1 模型定义

设原始序列 x ( 0 ) = ( x ( 0 ) ( 1 ) , x ( 0 ) ( 2 ) , … , x ( 0 ) ( n ) ) x^{(0)} = (x^{(0)}(1), x^{(0)}(2), \dots, x^{(0)}(n)) x(0)=(x(0)(1),x(0)(2),,x(0)(n)),其累加序列为 x ( 1 ) x^{(1)} x(1),紧邻均值序列为 z ( 1 ) z^{(1)} z(1)。GM(1,1)的灰微分方程为:
x ( 0 ) ( k ) + a z ( 1 ) ( k ) = b x^{(0)}(k) + a z^{(1)}(k) = b x(0)(k)+az(1)(k)=b
其中 a a a 为发展系数, b b b 为灰作用量。

3.1.2 参数估计

构造数据矩阵 B B B 与向量 Y Y Y
B = [ − z ( 1 ) ( 2 ) 1 − z ( 1 ) ( 3 ) 1 ⋮ ⋮ − z ( 1 ) ( n ) 1 ] , Y = [ x ( 0 ) ( 2 ) x ( 0 ) ( 3 ) ⋮ x ( 0 ) ( n ) ] B = \begin{bmatrix} -z^{(1)}(2) & 1 \\ -z^{(1)}(3) & 1 \\ \vdots & \vdots \\ -z^{(1)}(n) & 1 \\ \end{bmatrix}, \quad Y = \begin{bmatrix} x^{(0)}(2) \\ x^{(0)}(3) \\ \vdots \\ x^{(0)}(n) \\ \end{bmatrix} B= z(1)(2)z(1)(3)z(1)(n)111 ,Y= x(0)(2)x(0)(3)x(0)(n)
通过最小二乘法求解参数:
u ^ = ( a , b ) T = ( B T B ) − 1 B T Y \hat{u} = (a, b)^T = (B^T B)^{-1} B^T Y u^=(a,b)T=(BTB)1BTY

3.1.3 白化方程与预测

GM(1,1)的白化方程为一阶微分方程:
d x ( 1 ) d t + a x ( 1 ) = b \frac{dx^{(1)}}{dt} + a x^{(1)} = b dtdx(1)+ax(1)=b
其时间响应式为:
x ^ ( 1 ) ( k + 1 ) = ( x ( 0 ) ( 1 ) − b a ) e − a k + b a \hat{x}^{(1)}(k+1) = \left( x^{(0)}(1) - \frac{b}{a} \right) e^{-a k} + \frac{b}{a} x^(1)(k+1)=(x(0)(1)ab)eak+ab
还原预测值:
x ^ ( 0 ) ( k + 1 ) = x ^ ( 1 ) ( k + 1 ) − x ^ ( 1 ) ( k ) \hat{x}^{(0)}(k+1) = \hat{x}^{(1)}(k+1) - \hat{x}^{(1)}(k) x^(0)(k+1)=x^(1)(k+1)x^(1)(k)

示例:交通噪声预测

某城市1986–1992年噪声数据 x ( 0 ) = ( 71.1 , 72.4 , 72.4 , 72.1 , 71.4 , 72.0 , 71.6 ) x^{(0)} = (71.1, 72.4, 72.4, 72.1, 71.4, 72.0, 71.6) x(0)=(71.1,72.4,72.4,72.1,71.4,72.0,71.6),建立GM(1,1)模型:

  1. 累加生成
    x ( 1 ) = ( 71.1 , 143.5 , 215.9 , 288 , 359.4 , 431.4 , 503 ) x^{(1)} = (71.1, 143.5, 215.9, 288, 359.4, 431.4, 503) x(1)=(71.1,143.5,215.9,288,359.4,431.4,503)
  2. 紧邻均值生成
    z ( 1 ) = ( 107.3 , 179.7 , 251.95 , 323.7 , 395.4 , 467.2 ) z^{(1)} = (107.3, 179.7, 251.95, 323.7, 395.4, 467.2) z(1)=(107.3,179.7,251.95,323.7,395.4,467.2)
  3. 参数估计
    a ^ = 0.0023 , b ^ = 72.6573 \hat{a} = 0.0023, \quad \hat{b} = 72.6573 a^=0.0023,b^=72.6573
  4. 预测方程
    x ^ ( 1 ) ( k + 1 ) = − 30929 e − 0.0023 k + 31000 \hat{x}^{(1)}(k+1) = -30929 e^{-0.0023k} + 31000 x^(1)(k+1)=30929e0.0023k+31000
  5. 残差检验:平均相对误差仅0.2%,模型精度高。

3.2 GM(1,N)模型

3.2.1 模型定义

GM(1,N)描述多变量间动态关系,适用于系统受多个因素驱动的场景。设系统特征序列为 x 1 ( 0 ) x_1^{(0)} x1(0),相关因素序列为 x 2 ( 0 ) , … , x N ( 0 ) x_2^{(0)}, \dots, x_N^{(0)} x2(0),,xN(0),其灰微分方程为:
x 1 ( 0 ) ( k ) + a z 1 ( 1 ) ( k ) = ∑ i = 2 N b i x i ( 1 ) ( k ) x_1^{(0)}(k) + a z_1^{(1)}(k) = \sum_{i=2}^N b_i x_i^{(1)}(k) x1(0)(k)+az1(1)(k)=i=2Nbixi(1)(k)

3.2.2 参数估计

构建矩阵 B B B 与向量 Y Y Y
B = [ − z 1 ( 1 ) ( 2 ) x 2 ( 1 ) ( 2 ) ⋯ x N ( 1 ) ( 2 ) − z 1 ( 1 ) ( 3 ) x 2 ( 1 ) ( 3 ) ⋯ x N ( 1 ) ( 3 ) ⋮ ⋮ ⋱ ⋮ − z 1 ( 1 ) ( n ) x 2 ( 1 ) ( n ) ⋯ x N ( 1 ) ( n ) ] , Y = [ x 1 ( 0 ) ( 2 ) x 1 ( 0 ) ( 3 ) ⋮ x 1 ( 0 ) ( n ) ] B = \begin{bmatrix} -z_1^{(1)}(2) & x_2^{(1)}(2) & \cdots & x_N^{(1)}(2) \\ -z_1^{(1)}(3) & x_2^{(1)}(3) & \cdots & x_N^{(1)}(3) \\ \vdots & \vdots & \ddots & \vdots \\ -z_1^{(1)}(n) & x_2^{(1)}(n) & \cdots & x_N^{(1)}(n) \\ \end{bmatrix}, \quad Y = \begin{bmatrix} x_1^{(0)}(2) \\ x_1^{(0)}(3) \\ \vdots \\ x_1^{(0)}(n) \\ \end{bmatrix} B= z1(1)(2)z1(1)(3)z1(1)(n)x2(1)(2)x2(1)(3)x2(1)(n)xN(1)(2)xN(1)(3)xN(1)(n) ,Y= x1(0)(2)x1(0)(3)x1(0)(n)
参数估计公式为:
u ^ = ( a , b 2 , … , b N ) T = ( B T B ) − 1 B T Y \hat{u} = (a, b_2, \dots, b_N)^T = (B^T B)^{-1} B^T Y u^=(a,b2,,bN)T=(BTB)1BTY

示例:疫情对经济指标的影响

分析SARS疫情对某市商品零售额的影响:

  1. 数据预处理:计算1997–2002年月度均值,构建GM(1,1)预测2003年数据;
  2. 比例分配:按历史月度比例分配年预测值,得到各月预测值;
  3. 影响评估:对比预测值与实际值,4–6月零售额损失60.1亿元,与专家估计一致。

MATLAB代码示例

GM(1,1)模型实现

clc, clear  
x0 = [71.1, 72.4, 72.4, 72.1, 71.4, 72.0, 71.6];  
n = length(x0);  
x1 = cumsum(x0);  % 累加生成  
B = [-0.5*(x1(1:end-1) + x1(2:end))', ones(n-1,1)];  
Y = x0(2:end)';  
u = B \ Y;  % 参数估计  
a = u(1); b = u(2);  
% 白化方程求解  
syms t;  
x = dsolve('Dx + a*x = b', 'x(0) = x0(1)');  
x = subs(x, {'a','b'}, {u(1), u(2)});  
yuce = double(subs(x, 't', 0:n-1));  
x0_hat = [yuce(1), diff(yuce)];  % 累减还原  

优势分析实现

clc, clear  
load data.txt  % 加载投资与收入数据  
n = size(data, 1);  
for i = 1:n  
    data(i,:) = data(i,:) / data(i,1);  % 数据标准化  
end  
ck = data(6+1:end, :);  % 母因素数据  
bj = data(1:5, :);      % 子因素数据  
rho = 0.5;  
R = zeros(6, 5);  
for i = 1:6  
    for j = 1:5  
        t = bj(j,:) - ck(i,:);  
        mn = min(min(abs(t)));  
        mx = max(max(abs(t)));  
        ksi = (mn + rho*mx) ./ (abs(t) + rho*mx);  
        R(i,j) = mean(ksi);  
    end  
end  
disp('关联矩阵 R = '); disp(R);  

总结

优势分析通过关联矩阵揭示复杂系统的关键驱动因素,生成数技术为灰色建模提供数据基础,GM(1,1)与GM(1,N)模型分别适用于单变量预测与多变量耦合分析。后续章节将探讨灰色预测的高级模型(如Verhulst与GM(2,1))及其在交通、经济等领域的应用。

;