MCM520 ← 资料站首页 熵权法 · 深度手册 打开交互阅读器 →

熵权法 · 深度手册

分类:评价类 | 难度:★☆☆ 入门 | 编号:entropy

一、这是什么(一句话用途)

用数据自身变异客观赋权(指标越多越适用)

二、核心思想

熵权法是一种完全客观的赋权方法,理论来源是信息论中的"熵"——熵衡量系统的无序程度,信息量越大则熵越小。放到评价场景里:如果一个指标在所有样本上的取值都差不多(方差很小),说明它区分不出谁好谁坏,提供的信息量就少,权重应低;反之,若一个指标在不同样本间差异巨大,它携带了大量判别信息,权重应高。它的好处是不掺杂任何专家主观偏好,适合"让数据自己说话"的情形,也常和 AHP 等主观法组合成"主客观复合权重"。

三、数学原理与推导

先正向化(成本型指标取倒数或极差法转换),再计算第 jj 个指标下第 ii 个样本的比重:

pij=xij∑i=1mxij p_{ij}=\frac{x_{ij}}{\sum_{i=1}^m x_{ij}}

第 jj 指标的熵值:

ej=−k∑i=1mpijln⁡pij,k=1ln⁡m e_j=-k\sum_{i=1}^m p_{ij}\ln p_{ij},\qquad k=\frac{1}{\ln m}

(约定 pij=0p_{ij}=0 时 pijln⁡pij=0p_{ij}\ln p_{ij}=0)。熵越小信息越多,故定义差异系数 dj=1−ejd_j=1-e_j,最终权重:

wj=dj∑j=1ndj w_j=\frac{d_j}{\sum_{j=1}^n d_j}

∑wj=1\sum w_j=1。权重高的指标即区分度强的指标。

四、建模 / 求解步骤

  1. 指标正向化
  2. 标准化(比重)
  3. 算各指标熵值 e
  4. 算差异系数 d=1−e
  5. 权重 w=d/Σd

五、关键公式速查

e_j = −k·Σ(p_ij·ln p_ij),k=1/ln n;w_j = (1−e_j)/Σ(1−e_j)

六、典型示例

n 个样本 m 个指标 → 算各指标熵 → 得客观权重。

完整算例(数字演示,照着算一遍)

场景:5 个样本、3 项指标(功能/外观/续航)做客观赋权。

决策矩阵(已正向化):

样本  功能 外观 续航
1     8   6   7
2     9   7   5
3     7   5   8
4     6   8   6
5     8   6   7

计算:各列比重 p_ij → 熵 e=(0.996, 0.994, 0.997) → 差异 d=(0.004, 0.006, 0.003) → 权重 w=(0.31, 0.46, 0.23)。

结论:外观离散度最大,权重最高;续航最集中,权重最低。

七、Python 实现示例

import os, numpy as np
import pandas as pd
HERE = os.path.dirname(os.path.abspath(__file__))
df = pd.read_csv(os.path.join(HERE,"..","datasets","entropy.csv"))
X = df.drop(columns=["sample"]).to_numpy(dtype=float)
X = X / X.sum(0)                       # 比重 p_ij
k = 1/np.log(X.shape[0])
e = -k*(X*np.log(X+1e-12)).sum(0)
d = 1 - e
w = d/d.sum()
print("熵:", np.round(e,3))
print("权重:", np.round(w,3))

配套文件:py_entropy.py(需 numpy / pandas;与下方数据集配套练习)

八、MATLAB 实现示例

%% 熵权法示例(MATLAB/Octave)
df = readtable('..\datasets\entropy.csv');
X = table2array(df(:,2:end));
X = X ./ sum(X,1);
k = 1/log(size(X,1));
e = -k*sum(X.*log(X+1e-12),1);
d = 1-e; w = d/sum(d);
fprintf('权重: '); disp(w)

配套文件:m_entropy.m(基础 MATLAB / Octave 即可运行)

九、练手数据集(可下载)

6 个样本在 4 个指标上的取值。用于熵权法计算各指标客观权重。

  • 字段:sample, ind1, ind2, ind3, ind4
  • 行数:6 行
  • 下载:entropy.csv

十、常见误区与避坑清单

  • p=0 时 ln p 无定义,需加极小量
  • 样本量太小权重不稳
  • 只反映数据离散,不含专家经验

十一、结果怎么解读

权重高 = 该指标区分度强。

十二、常与谁搭配

常与 TOPSIS / AHP 组合成主客观权重。

十三、论文写作技巧(怎么把它写进论文)

把 熵权法 写进论文,核心不是堆公式,而是讲清「为什么用它、结果怎么呈现、如何对比」三件事。

1. 动机怎么写(为什么用它而不是别的)

开篇点明研究对象存在「多指标、且指标间相互冲突」的取舍(如成本要低但质量要高),因此需要多准则决策方法(MCDM)。随后说明权重来源:可主观(专家两两比较 + 一致性检验)或客观(数据驱动赋权),并交代为什么选 熵权法 而非简单加权平均——例如它能兼顾理想解距离 / 降低人为主观偏差。这样评审一眼看懂你的评价逻辑。

2. 结果怎么写(图表与指标)

结果页放两张图最稳:① 各方案指标权重条形图(或熵权贡献);② 方案贴近度 / 综合得分排序表。若指标权重敏感,补一张「权重扰动 → 排序是否变」的敏感性分析,能显著提升结论可信度。

3. 可直接套用的写作话术

  • 中文模板:针对<问题>,本文采用 熵权法 进行用数据自身变异客观赋权(指标越多越适用)。该方法能够自动刻画<优势>,在处理<场景>时相较<对比方法>更具<特点>。
  • 英文模板:To address , we adopt 熵权法 to 用数据自身变异客观赋权(指标越多越适用). Benefiting from its ability to , it outperforms on .

4. 同类易踩的写作坑

别只给最终排名,要写出每一层的权重与中间矩阵;避免「我觉得」这类主观表述,改用「依据 CR<0.1 的一致性检验」等客观依据。

5. 典型论文段落范例(可直接参考 / 改写)

下面是一段可直接套用的论文表述,已按本算法定制,填空处(…)替换成你的真实数值即可。

针对供应商选择中成本、质量与交期相互冲突的多准则决策问题,本文采用 熵权法 计算各方案的贴近度并排序。为避免单一赋权带来的主观偏差,权重由熵权法给出,最终综合得分表明方案 S3 最优(C=0.82)。

To rank candidate suppliers under the conflicting criteria of cost, quality, and lead time, we adopt 熵权法 to compute the closeness coefficient. Weights are derived from the entropy method, and the aggregated score identifies S3 as the best alternative (C=0.82).

十四、相关手册(延伸阅读)

十五、本手册导航


本手册由「算法深度手册生成器」自动产出,配套提供 Python / MATLAB 双版本示例与可下载练手数据集。