正在加载中...

展开本页目录
算法教程熵权法系统

熵权法系统

No.003 · 在线教程

熵权法(Entropy Weight Method)是一种基于信息熵度量指标差异性的客观赋权方法。该方法以样本数据本身的离散程度为依据确定权重,能够在较大程度上降低主观经验赋权带来的偏差。在多指标综合评价中,熵权法适用于指标量纲差异明显、评价对象数量较多且需要强调数据驱动权重的…

熵权法

1. 方法概述

熵权法(Entropy Weight Method)是一种基于信息熵度量指标差异性的客观赋权方法。该方法以样本数据本身的离散程度为依据确定权重,能够在较大程度上降低主观经验赋权带来的偏差。在多指标综合评价中,熵权法适用于指标量纲差异明显、评价对象数量较多且需要强调数据驱动权重的研究场景。

2. 指标标准化

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

$$ X=(x_{ij})_{n\times m} \tag{2.1} $$

为保证不同量纲指标可比,先进行同向化与标准化处理。正向指标可写为

$$ y_{ij}=\frac{x_{ij}-\min_i x_{ij}}{\max_i x_{ij}-\min_i x_{ij}} \tag{2.2} $$

负向指标可写为

$$ y_{ij}=\frac{\max_i x_{ij}-x_{ij}}{\max_i x_{ij}-\min_i x_{ij}} \tag{2.3} $$

适度指标以目标值 \(x_j^*\) 为中心进行偏离映射:

$$ y_{ij}=1-\frac{|x_{ij}-x_j^*|}{d_j^{\max}} \tag{2.4} $$

其中 \(d_j^{\max}\) 表示该指标相对目标值的最大偏离幅度。经过上述处理后,各指标值均可落入统一可比区间。

3. 熵值与权重计算

为避免 \(\ln(0)\) 的数值问题,可在标准化结果上进行微小平移,记为 \(z_{ij}=y_{ij}+c\)。随后构造比重矩阵:

$$ p_{ij}=\frac{z_{ij}}{\sum_{i=1}^{n}z_{ij}} \tag{3.1} $$

指标 \(j\) 的信息熵定义为

$$ e_j=-\frac{1}{\ln n}\sum_{i=1}^{n}p_{ij}\ln p_{ij} \tag{3.2} $$

差异系数可表示为

$$ g_j=1-e_j \tag{3.3} $$

据此得到熵权

$$ w_j=\frac{g_j}{\sum_{j=1}^{m}g_j} \tag{3.4} $$

当某指标在样本中差异越大,其熵值通常越小、差异系数越大,对应权重也越高。

4. 综合得分

在获得权重后,第 \(i\) 个对象的综合得分可写为

$$ s_i=\sum_{j=1}^{m}w_j y_{ij} \tag{4.1} $$

依据 \(s_i\) 可完成对象排序与分层比较。得分结果与权重结果联合解读时,既能反映总体优劣,也能揭示关键驱动指标。

5. 结果解读

熵权法的实质是将“信息有效性”转化为权重分配机制。若某指标在不同对象之间分布差异显著,则其区分能力更强,在综合评价中应获得更高贡献;反之,若某指标在样本中变化有限,则其识别作用相对较弱。通过权重结构、得分排序与分布图形的综合分析,可以形成较完整的评价结论,并为后续决策提供明确的指标优先级依据。

6. 适用性说明

熵权法强调客观性,但其结果对样本分布较为敏感。当样本存在极端值或样本规模较小时,建议结合稳健性处理与对比方法进行辅助验证,以避免单一赋权机制导致解释偏差。

7. 输出结果结构及写作对应关系

程序每次运行后会在 results/ 下生成独立时间戳目录,目录内包含 Excel 结果文件、图像文件以及复现脚本。Excel 文件固定包含 原始数据标准化数据熵值与权重评价结果图表 五个工作表,其中 图表 工作表记录图像文件路径,便于统一归档与检索。图像文件通常包括 weights_distribution_*.pngtop20_scores_*.pngall_scores_*.pngentropy_distribution_*.png,分别对应权重结构、头部对象比较、全样本得分比较与熵值分布特征。

原始数据标准化数据 可用于说明从原始量纲到可比尺度的处理过程,熵值与权重 可直接作为权重结果主表,评价结果 可用于对象排序与分层分析。写作时可在正文放置 熵值与权重评价结果 两张核心表,并在附录保留 标准化数据 作为中间过程证据。图像方面,权重图适合放在“指标贡献分析”部分,得分图适合放在“对象比较”部分,熵值分布图适合放在“权重形成机理”部分。

8. 与程序实现一致的边界处理说明

程序在计算中对若干数值风险进行了稳健处理。标准化阶段遇到常数列时会按稳健规则处理,避免零分母导致计算中断;熵值计算前通过非负平移量 \(c\) 避免出现 \(\ln(0)\);若熵值或权重中出现非数值结果,会进行替换与再归一化处理,确保权重和为 1。评价等级按得分区间自动划分,当样本得分无差异时会统一赋为同一等级。上述实现保证了在复杂数据条件下输出可用结果,写作时应同步说明平移参数与等级划分规则。

9. 实现说明与注意事项

当前项目中的熵权法实现位于 具体的算法/熵权法/core/entropy_calculator.py,其真实流程比教材中的“标准化 -> 熵值 -> 权重”更工程化,主要体现在以下几点:

  1. 标准化支持 max-min法Z-score标准化 两条路径;但无论采用哪种路径,最终都会再次截断或映射到 \([0,1]\) 区间,保证后续熵值计算稳定。
  2. 适度指标要求提供目标值 neutral_values;若某列未提供目标值,代码会给出警告并按正向指标处理。
  3. 常数列会被稳健处理,避免零分母;权重若出现 NaN 或总和偏离 1,会再次归一化。
  4. 得分不仅输出排序,还会按区间自动划分为 很差 / 较差 / 一般 / 良好 / 优秀 五个等级,并把分级依据一并写入 Excel。
  5. 结果文件通常包含 原始数据标准化数据熵值与权重评价结果图表 五个工作表;图像文件通常包括 weights_distribution_*.pngtop20_scores_*.pngall_scores_*.pngentropy_distribution_*.png

因此,这个模块不只是权重计算器,同时也是带结果分级、图表输出和中间表落盘的完整评价流程。

10. 论文写作建议

熵权法在论文中通常适合作为“客观赋权环节”而不是最终评价结论本身。较稳妥的写法是先说明标准化与熵值计算逻辑,再报告权重结构,最后将其与综合得分排序结合起来解释。

可直接改写使用的结果段落示例如下:

“本文采用熵权法确定各指标的客观权重。计算结果表明,不同指标的信息熵存在明显差异,说明各指标在样本区分能力上并不一致。熵值较低、对应权重较高的指标在综合评价中发挥了更强的识别作用。进一步结合综合得分与等级划分结果可以看出,各评价对象在整体表现上呈现出较清晰的层次差异,说明所构建的指标体系具有较好的判别力与解释能力。”

11. 单篇终审补充

11.1 图题与表题对齐建议

  • 本文档应优先对应真实算法目录 具体的算法/熵权法
  • 代表性结果目录建议绑定 具体的算法/熵权法/results/熵权法_result_20260329_163627
  • 表题应直接对应 熵权法分析结果_20260329_163627.xlsx 的真实工作表:原始数据标准化数据熵值与权重评价结果图表
  • 图题应优先绑定该目录下真实图:weights_distribution_20260329_163627.pngtop20_scores_20260329_163627.pngall_scores_20260329_163627.pngentropy_distribution_20260329_163627.png

11.2 终审说明

  • 当前熵权法目录已经形成较完整的单目录闭环:结果表、图和 repro 都在同一时间戳目录中。
  • 复现脚本实际为 repro_entropy_20260329_163627.py,其 DATA_FILE 写法为 ../../uploads/entropy_sample.xlsx,属于“回指模块根目录 uploads 样本”的复现口径,不是 repro_inputs 结构。
  • 因此论文附录若写复现方式,应明确说明该老模块使用 uploads/entropy_sample.xlsx 作为输入快照来源。

11.3 全量强化补充

  • 当前熵权法文档应绑定真实算法目录 具体的算法/熵权法,不是不存在的 具体的算法/EntropyWeight_desktop
  • 代表结果目录为 具体的算法/熵权法/results/熵权法_result_20260329_163627,首层主工作簿为 熵权法分析结果_20260329_163627.xlsx
  • 该工作簿真实工作表为 原始数据标准化数据熵值与权重评价结果图表。因此正文中关于结果结构的描述应保持五张表口径,不应补写 Charts_Index 或其他新式图表索引表。
  • 首层主运行图为 weights_distribution_20260329_163627.pngtop20_scores_20260329_163627.pngall_scores_20260329_163627.pngentropy_distribution_20260329_163627.png,分别对应权重分布、Top20 得分、全样本得分和熵值分布。
  • 同目录还存在一组 20260329_163630 后缀的图:weights_distribution_20260329_163630.pngtop20_scores_20260329_163630.pngall_scores_20260329_163630.pngentropy_distribution_20260329_163630.png。这些更像复现或后续再运行产生的图,不应和 20260329_163627 主结果图混写为同一轮主运行图。
  • 该目录复现脚本为 repro_entropy_20260329_163627.py,脚本关键输入写法是 DATA_FILE = '../../uploads/entropy_sample.xlsx',说明它回指算法根目录下的 uploads/entropy_sample.xlsx,不是标准 repro_inputs/... 快照结构。
  • 因此论文附录的复现说明应写成“老模块通过相对路径回指 uploads 样本复现”,而不是“结果目录内保存 repro_inputs 输入副本”。这点对用户迁移结果目录尤其重要,因为单独拷贝 results/熵权法_result_20260329_163627 可能无法带走 ../../uploads/entropy_sample.xlsx
  • 从论文结果解释看,熵值与权重 是核心权重表,评价结果 是综合排序与等级表,图表 只是图文件索引;正文不应把 图表 表当作计算过程表。

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

12.1 当前软件实现口径

本软件当前对应的源码目录为 具体的算法/熵权法,核心函数为 core/entropy_calculator.py 中的 calculate_entropy()。软件实现的是客观赋权场景下的熵权法:第 1 列为评价对象,其余列为数值指标;先按指标类型完成正向化和标准化,再加非负平移量 c,然后计算比重矩阵、信息熵、差异系数、指标权重和综合得分。

当前界面方法设置页真实暴露的核心参数是 参数c(非负平移量),默认值为 0.0001,范围为 0.000010.001。源码中虽然保留了 Z-score标准化 分支,但当前 UI 的方法设置默认返回 max-min法,因此用户界面主流程应按 Max-Min 标准化口径解释。

12.2 输入数据和指标类型

上传页支持 .xlsx/.xls/.csv,示例数据位于 uploads/entropy_sample.xlsxuploads/entropy_sample.csv。数据要求:第 1 列为对象名称,后续列为数值型指标;数值列不能包含无效值或空值。

指标设置支持三类:

  • 正向指标:按 (x-min)/(max-min) 标准化。
  • 负向指标:按 (max-x)/(max-min) 标准化。
  • 适度指标:需要设置标准值,软件按距离标准值的相对偏差转换为越接近越优。

标准化后会加上 c,目的是避免后续比重和对数计算出现 log(0) 问题。

12.3 输出结果和图表

运行完成后,程序会在 results/熵权法_result_YYYYMMDD_HHMMSS/ 下保存结果。Excel 工作表包括:原始数据标准化数据熵值与权重评价结果图表

常见图表包括:

  • weights_distribution_*.png:指标权重分布。
  • top20_scores_*.png:综合得分前 20 对象。
  • all_scores_*.png:全部对象综合得分。
  • entropy_distribution_*.png:指标熵值分布。

结果解释时,应先看 熵值与权重,再看 评价结果 中的综合得分和排序。熵值越低通常表示该指标差异信息越强,对应权重可能越高。

12.4 复现与源码对应关系

结果页提供“打开结果目录”“打开结果文件”“导出复现代码”。复现脚本会使用本次输入数据、指标类型和 c 参数复算权重与综合得分。对应源码如下:

  • core/entropy_calculator.py:标准化、熵值、权重、综合得分、图表和 Excel 导出。
  • ui/upload_widget.py:文件上传、示例数据和数据预览。
  • ui/indicators_widget.py:指标类型和适度指标标准值设置。
  • ui/methods_widget.py:非负平移量 c 参数设置。
  • ui/results_widget.py:开始计算、结果展示、打开文件和导出复现代码。

12.5 适用边界

熵权法只反映样本数据内部的离散程度,不代表指标在业务上的天然重要性。如果某个指标波动很小,其熵权可能较低;如果某个指标噪声很大,其权重也可能被放大。因此正式报告中建议把熵权法结果与业务解释、专家判断或敏感性分析结合使用。