正在加载中...

展开本页目录
算法教程灰色关联系统

灰色关联系统

No.009 · 在线教程

灰色关联分析(Grey Relational Analysis, GRA)用于刻画各评价对象与“理想参考序列”的接近程度。其基本思想是:若对象在各指标上的变化趋势与参考序列越一致,则关联度越高、排序越靠前。

灰色关联分析法

1. 方法概述

灰色关联分析(Grey Relational Analysis, GRA)用于刻画各评价对象与“理想参考序列”的接近程度。其基本思想是:若对象在各指标上的变化趋势与参考序列越一致,则关联度越高、排序越靠前。

设共有 \(n\) 个评价对象、\(m\) 个指标,原始数据矩阵为

$$ X=(x_{ij})_{n\times m},\quad i=1,2,\ldots,n,\ j=1,2,\ldots,m \tag{1} $$

其中 \(x_{ij}\) 表示第 \(i\) 个对象在第 \(j\) 个指标上的观测值。

2. 指标同向化处理

为保证“值越大越优”的统一偏好,先进行指标同向化,得到同向化矩阵 \(Y=(y_{ij})\)。

2.1 正向指标

$$ y_{ij}=x_{ij} \tag{2} $$

2.2 逆向指标

$$ y_{ij}=\max_i x_{ij}-x_{ij}+\min_i x_{ij} \tag{3} $$

2.3 适度指标

设第 \(j\) 个指标的目标值(最优值)为 \(x_j^*\),定义最大偏差为

$$ \Delta_j^{\max}=\max\left\{\left|\max_i x_{ij}-x_j^*\right|,\ \left|\min_i x_{ij}-x_j^*\right|\right\} \tag{4} $$

$$ y_{ij}=\Delta_j^{\max}-\left|x_{ij}-x_j^*\right| \tag{5} $$

3. 标准化处理

grey_relation_desktop 支持两种标准化方式(默认推荐 Max-Min)。设 \(\varepsilon>0\) 为防除零极小数。

3.1 Max-Min 标准化

$$ r_{ij}=\frac{y_{ij}-\min_i y_{ij}}{\max_i y_{ij}-\min_i y_{ij}+\varepsilon} \tag{6} $$

3.2 Z-Score 标准化

$$ r_{ij}=\frac{y_{ij}-\bar y_j}{s_j+\varepsilon} \tag{7} $$

其中 \(\bar y_j\) 与 \(s_j\) 分别为第 \(j\) 个指标的均值与标准差。标准化后得到矩阵

$$ R=(r_{ij})_{n\times m} \tag{8} $$

4. 参考序列、差值与关联系数

4.1 参考序列

以各指标最优值构造参考序列:

$$ r_{0j}=\max_i r_{ij},\quad j=1,2,\ldots,m \tag{9} $$

4.2 差值矩阵

$$ \Delta_{ij}=\left|r_{0j}-r_{ij}\right| \tag{10} $$

并定义全局最小、最大差值:

$$ \Delta_{\min}=\min_{i,j}\Delta_{ij},\qquad \Delta_{\max}=\max_{i,j}\Delta_{ij} \tag{11} $$

4.3 灰色关联系数

设区分系数 \(\rho\in(0,1)\)(常用 \(\rho=0.5\)),则

$$ \xi_{ij}=\frac{\Delta_{\min}+\rho\Delta_{\max}}{\Delta_{ij}+\rho\Delta_{\max}} \tag{12} $$

当所有对象在某指标上与参考序列完全一致(如 \(\Delta_{\max}=0\))时,可视为 \(\xi_{ij}=1\)。

5. 权重确定与综合关联度

5.1 熵权法(默认)

当采用熵权法时,先构造比重矩阵。若标准化后存在负值(如 Z-Score),先做平移:

$$ \tilde r_{ij}=r_{ij}-\min_i r_{ij}+\varepsilon \tag{13} $$

$$ p_{ij}=\frac{\tilde r_{ij}}{\sum_{i=1}^{n}\tilde r_{ij}} \tag{14} $$

当某列 \(\sum_i \tilde r_{ij}=0\) 时,系统采用均匀分布补充:

$$ p_{ij}=\frac{1}{n} \tag{15} $$

$$ e_j=-\frac{1}{\ln n}\sum_{i=1}^{n}p_{ij}\ln(p_{ij}),\quad d_j=1-e_j,\quad w_j=\frac{d_j}{\sum_{j=1}^{m}d_j} \tag{16} $$

当 \(\sum_j d_j=0\) 时,系统退化为等权:

$$ w_j=\frac{1}{m},\quad j=1,2,\ldots,m \tag{17} $$

最终满足 \(\sum_{j=1}^{m}w_j=1\)。

5.2 自定义权重

也可直接给定 \(w_j\),要求 \(w_j\ge 0\) 且 \(\sum_j w_j\approx 1\)(系统中容差为 0.998–1.002)。

5.3 综合灰色关联度

先构造加权关联系数矩阵(对应系统 Step 7):

$$ v_{ij}=w_j\xi_{ij} \tag{18} $$

第 \(i\) 个对象的综合关联度(对应系统 Step 8)为

$$ \gamma_i=\sum_{j=1}^{m}v_{ij}=\sum_{j=1}^{m}w_j\xi_{ij} \tag{19} $$

\(\gamma_i\) 越大表示方案越优,最终按 \(\gamma_i\) 从大到小排序。

6. 与系统输出结果的对应关系

grey_relation_desktop 导出的 Excel 中,Sheet1 按步骤给出:

  1. Step 1:原始数据
  2. Step 2:标准化数据
  3. Step 3:参考序列
  4. Step 4:差值矩阵
  5. Step 5:关联系数矩阵
  6. Step 6:权重分配
  7. Step 7:加权关联系数矩阵
  8. Step 8:综合关联度得分

图表 Sheet 给出权重分布图与综合关联度图,可直接用于论文插图或结果说明。

7. 论文写作建议

建议按“模型—参数—结果—解释”结构组织:

  1. 模型与公式:给出式(1)—式(19),说明 \(\rho\)、权重方案与标准化方式;
  2. 参数设置:明确指标类型(正向/逆向/适度)及适度指标目标值 \(x_j^*\);
  3. 结果呈现:展示权重表、综合关联度排名表、两类图表;
  4. 结论解释:说明高排名对象在关键指标上的优势来源,并讨论参数敏感性(如 \(\rho\) 变化)。

为提高可复现性,建议在附录保留完整 Step 表格,在正文呈现关键表与核心结论。

8. 实现说明与注意事项

当前项目中的灰色关联模块位于 具体的算法/grey_relation_desktop/core/grey_relation_calculator.py。与教材中的最简灰色关联计算相比,当前实现加入了多种工程化口径:

  1. 指标类型使用 max / min / neutral 三类内部标记,对应界面中的正向、逆向与适度指标。
  2. 标准化支持 maxminzscore 两种方法;其中逆向指标不是简单取负,而是先按极差方式调整方向。
  3. 权重支持熵权法和自定义权重;若使用自定义权重,要求权重和位于 \(0.998\sim1.002\) 区间。
  4. Excel 导出会按步骤写入原始数据、标准化数据、参考序列、差值矩阵、关联系数矩阵、权重分配、加权关联系数矩阵与综合关联度得分,并单独生成 图表 工作表。
  5. 图像通常包括权重分布图和综合关联度得分图,分别对应 plot_weightsplot_final_scores 的输出。

因此,这个模块更准确的定位应是“支持多种标准化和权重口径、带步骤表导出的灰色关联度分析系统”。

9. 单篇终审补充

9.1 图题与表题对齐建议

基于当前真实结果目录 具体的算法/grey_relation_desktop/results/grey_relation_result_20260329_163643,论文中建议采用以下图题:

图 1 灰色关联分析指标权重分布图
对应文件:grey_relation_result_20260329_163643_weights.png。该图用于展示各指标在综合关联度计算中的权重大小。

图 2 灰色关联分析综合关联度得分图
对应文件:grey_relation_result_20260329_163643_final_scores.png。该图用于展示各评价对象的最终关联度得分及排序差异。

当前 xlsx 文件 grey_relation_result_20260329_163643.xlsx 实际包含 Sheet1图表 两个工作表,建议表题如下:

表 1 灰色关联分析逐步计算结果表:对应 Sheet1,包含原始数据、标准化数据、参考序列、差值矩阵、关联系数矩阵、权重分配、加权关联系数矩阵和综合关联度得分。
表 2 灰色关联分析图表索引表:对应 图表,用于列出权重分布图与综合关联度得分图。

9.2 终审说明

本篇已按真实旧桌面模块结果完成终审补齐。当前核验的结果文件为 具体的算法/grey_relation_desktop/results/grey_relation_result_20260329_163643/grey_relation_result_20260329_163643.xlsx,实际工作表为 Sheet1图表。由于旧模块将多个计算步骤集中写入 Sheet1,论文引用时不应把这些步骤误写成多个独立 sheet,而应表述为“逐步计算结果表”。

复现脚本位于同一结果目录:repro_template_20260329_163643.py。脚本支持 --data 命令行参数、GREY_RELATION_DATA 环境变量、SRC_FILE_HINT = '../uploads/grey_relation_sample.xlsx' 以及模块 uploads/grey_relation_sample.xlsx 等多级候选路径;因此附录中建议写成“可通过 python repro_template_20260329_163643.py --data <数据文件> 指定输入,或使用模块 uploads 示例数据复现”,不要固定写死某一个绝对路径。

本篇正文的公式编号已覆盖标准化、参考序列、差值矩阵、关联系数、熵权法权重和综合关联度,且第 6 节已经与旧桌面模块的 Sheet1 步骤输出对应。论文结果解释时建议同时报告权重最大的指标、综合关联度排名第一的对象,以及分辨系数 \(\rho\) 和权重方法;如果使用自定义权重,还应在附录列出完整权重向量。

9.3 全量强化补充

  • 当前灰色关联文档应绑定真实算法目录 具体的算法/grey_relation_desktop,代表性结果目录为 具体的算法/grey_relation_desktop/results/grey_relation_result_20260329_163643
  • 该目录首层主工作簿为 grey_relation_result_20260329_163643.xlsx,真实工作表只有 Sheet1图表 两张,而不是多张分步 sheet。
  • 当前实体图与主工作簿同层放置,真实文件为 grey_relation_result_20260329_163643_weights.pnggrey_relation_result_20260329_163643_final_scores.png。这里没有 charts/ 子目录。
  • 该目录还同时包含 repro_template_20260329_163643.py。脚本不是固定单一路径,而是支持多级候选输入:--data 参数、环境变量 GREY_RELATION_DATASRC_FILE_HINT = '../uploads/grey_relation_sample.xlsx'、模块 uploads/grey_relation_sample.xlsxuploads/grey_relation_sample.csv 等。
  • 因此灰色关联当前应被归类为“多级候选输入复现”特例,而不是标准 repro_inputsresults 根目录快照复现。附录中应如实写明它支持命令行参数、环境变量和模块 uploads 三类入口。
  • 对论文写作而言,Sheet1 应被明确解释为“逐步计算总表”,图表 则是图名与路径表;不要把 Step 1Step 8 误当成 8 张独立工作表。

9. 软件实现核查补充(2026-07)

9.1 当前软件实现口径

本软件当前对应的源码目录为 具体的算法/grey_relation_desktop,核心类为 core/grey_relation_calculator.py 中的 GreyRelationCalculator。软件实现的是面向多指标评价的灰色关联分析:第 1 列为方案名称,后续列为数值型指标;按指标类型和标准化方法得到无量纲矩阵,再计算参考序列、差值矩阵、灰色关联系数、指标权重和综合关联度。

9.2 输入数据、参数和权重

上传页支持 Excel/CSV,示例数据位于 uploads/grey_relation_sample.xlsxuploads/grey_relation_sample.csv。界面说明中明确要求第 1 列为方案名称,后续列为数值型指标。

方法设置页真实参数包括:

  • 权重方法:熵权法或自定义权重。
  • 标准化方法:Max-Min 标准化或 Z-Score 标准化。
  • 区分系数 rho:范围在 0 到 1 之间,通常取 0.5。
  • 指标类型:正向、负向、适度;适度指标需要设置最优值。

若使用自定义权重,应保证权重总和接近 1;若使用熵权法,权重由当前数据离散程度决定。

9.3 输出结果和图表

程序结果目录通常形如 results/grey_relation_result_YYYYMMDD_HHMMSS/。Excel 工作表包括:参数配置原始数据标准化数据参考序列差值矩阵关联系数矩阵权重分配加权关联系数矩阵综合关联度得分指标权重综合关联度图表索引

图表通常包括 _weights.png_final_scores.png,分别用于展示指标权重和综合关联度得分。阅读结果时,应先看 参数配置 确认 rho、标准化和权重方法,再看 综合关联度综合关联度得分 做方案比较。

9.4 复现与源码对应关系

结果页提供“打开目录”“打开文件”“导出复现代码”。复现会保存输入到 repro_inputs/,并在 repro_outputs/ 中生成复现 Excel 和图表。对应源码如下:

  • core/grey_relation_calculator.py:标准化、参考序列、差值矩阵、关联系数、权重和综合关联度计算。
  • ui/upload_widget.py:数据上传和示例数据。
  • ui/indicators_widget.py:指标类型配置。
  • ui/methods_widget.py:权重方法、标准化方法和区分系数设置。
  • ui/custom_weight_dialog.py:自定义权重编辑。
  • ui/results_widget.py:结果展示和复现代码导出。

9.5 解释边界

灰色关联度表示方案曲线与参考序列的接近程度,不是因果关系。区分系数、参考序列、指标方向和权重都会影响关联度排序。若用于报告,应明确当前软件使用的参考序列和标准化口径。