DEA模型复现介绍:Shannon熵提高DEA判别力的综合效率评价模型

一、论文基本信息

论文题目: Increasing the Discriminatory Power of DEA Using Shannon's Entropy
期刊: Entropy
年份: 2014
卷期页码: 16, 1571–1585
作者: Qiwei Xie, Qianzhi Dai, Yongjun Li, An Jiang

这篇文章讨论的是 DEA 里一个很典型、又有点“两难”的问题:

当变量数量相对于决策单元(DMU)数量过多时,传统 DEA 的判别力会急剧下降,很多 DMU 都被判成“有效”,无法区分、无法完整排序。如何在不丢失变量信息的前提下,把判别力提上来?

这正是本文要解决的问题,答案就是——用 Shannon 熵做“加权聚合”。


二、这篇文章解决了什么问题?

传统 DEA(以 CCR 为例)允许每个 DMU 在约束下自由选择对自己最有利的权重来最大化自身效率。这样带来的副作用是:

变量越多,权重空间的维数越高,越容易有更多 DMU 被判定为有效,DEA 的“判别力”就越差。

经验法则是:变量数应小于 DMU 数的 1/3。但现实里大量场景(如学校院系、酒店、环保城市、银行等)变量数都明显超过这个比例,导致:

  1. 传统 DEA 结果是“一大片 1”,无法排序;
  2. 只靠单一的全变量模型做判断,风险很大——因为你很难确定究竟该选哪些变量来描述生产过程。

过去提升判别力的方法主要有两类,但都有局限:

  • 扩大 DMU 数量:用面板数据,但假设了“无技术进步”,实践中常常不成立;
  • 压缩变量维度:用 PCA(主成分分析)或变量缩减(VR)方法,但这会丢失原始变量信息,结果也更“不透明”(难以反推每个原始变量的贡献)。

这篇文章提出 Shannon熵综合效率 DEA,核心改进可以概括为一句话:

把所有可能的变量子组合都拿来算 DEA,再用 Shannon 熵给每个子组合定权,最后加权得到一个“综合效率得分 CES”。

这样既不丢任何变量信息,又显著提高了判别力


三、Shannon熵DEA的核心思想与数学模型

设共有 \(n\) 个 DMU,每个 DMU 消耗 \(m\) 个投入(输入)、产出 \(s\) 个产出(输出)。变量子组合的总数记为:

\[ K = (2^m - 1)(2^s - 1) \]

理论上一套 DEA 模型至少要有 1 个投入、1 个产出,因此对投入集合 \(M\) 与产出集合 \(S\) 分别取非空子集,就能得到 \(K\) 种组合。对本文的算例(\(m=3, s=2\)):

\[ K = (2^3 - 1)(2^2 - 1) = 7 \times 3 = 21 \]

3.1 每一个子组合都用 CCR 模型求效率

对第 \(k\) 种变量组合,记其对应模型为 \(\mathcal{M}_k\),基于投入导向、规模报酬不变(CRS) 的 CCR 模型(本文用乘子模型形式)。被评价的 DMU 记为 \(d\),其效率 \(E_{dk}\) 由下面这个线性规划给出:

\[ \begin{aligned} \max & \sum_{r=1}^{s} u_r y_{rd} \\ \text{s.t.} & \sum_{i=1}^{m} v_i x_{id} = 1, \\ & \sum_{r=1}^{s} u_r y_{rj} - \sum_{i=1}^{m} v_i x_{ij} \le 0, \quad j = 1,\dots,n, \\ & u_r \ge 0, v_i \ge 0, \quad r=1,\dots,s, i=1,\dots,m . \end{aligned} \]

其中 \(u_r\) 是产出权重、\(v_i\) 是投入权重,\(x_{ij}\)\(y_{rj}\) 分别是第 \(j\) 个 DMU 的第 \(i\) 个投入与第 \(r\) 个产出。把 \(K\) 个子组合各求解一次,就得到一张 \(n \times K\)效率矩阵

\[ E = [E_{jk}]_{n \times K} \]

3.2 用 Shannon 熵给每个子组合定权(六步法)

Step 1 求效率矩阵 \(E\)(即上面 \(K\) 次 CCR 求解的结果)。

Step 2 对每一列做归一化:

\[ e_{jk} = \frac{E_{jk}}{\sum_{j=1}^{n} E_{jk}}, \qquad k = 1,\dots,K \]

Step 3 计算第 \(k\) 个子组合的 Shannon 熵:

\[ f_k = -\frac{1}{\ln n} \sum_{j=1}^{n} e_{jk} \ln e_{jk}, \qquad k = 1,\dots,K \]

Step 4 计算差异度(多样化程度):

\[ d_k = 1 - f_k, \qquad k = 1,\dots,K \]

Step 5 归一化得到权重:

\[ W_k = \frac{d_k}{\sum_{k=1}^{K} d_k}, \qquad k = 1,\dots,K \]

并满足 \(\sum_{k=1}^K W_k = 1\)

Step 6 求综合效率得分:

\[ \theta_j = \text{CES}_j = \sum_{k=1}^{K} W_k \cdot E_{jk}, \qquad j = 1,\dots,n \]

3.3 两条重要性质(定理)

定理 1: 熵值与“该子集下各 DMU 效率的差异程度”负相关。若某子集下所有 DMU 效率都相等,则该子集得到的权重最小。

定理 2: DMU 的 \(\text{CES}=1\)(综合有效)当且仅当它在所有变量子组合下都有效。

定理 2 直接说明了为什么这套方法能提升判别力:某些 DMU 在一个子集下有效、在另一个子集下无效,那么它的 CES 一定小于 1。只有当某个 DMU 在所有子集下都有效时,它才是综合有效的。因此在大多数情况下,很难同时出现两个(或更多)综合有效的 DMU。

注意:这套“加权聚合”框架并不依赖具体的 DEA 模型——既可以是 CRS 也可以是 VRS,既可以投入导向也可以产出导向。本文算例只是用投入导向 CRS(CCR-I)来演示。


四、这个模型相比已有方法好在哪?

如果只讲最值得公众号读者关注的几点,我认为有三点:

1. 不丢变量信息,判别力却更强

PCA、变量缩减(VR)这类方法要“砍变量”,会损失信息。这个方法把所有变量子组合都纳入,不砍任何一个变量。

2. 判别力有理论保证

由定理 2,传统 DEA 若无法区分两个有效 DMU,则这套方法必然也不弱于它;在很多情况下能给出更明确的排序。

3. 通用性好、可移植性强

只要能算出效率,就能用这个框架聚合。它不绑定 CRS/VRS 或投入/产出导向,也能适配含非期望产出等各类 DEA 模型。


五、这篇文章适合哪些应用场景?

只要存在“变量数相对 DMU 数偏多、传统 DEA 判别不出排名”的情形,就值得用这套方法。例如:

  • 用较多指标评价数量较少的对象(如院系、酒店、城市、银行);
  • 无法确定该选哪些变量、又不想放弃部分变量信息;
  • 希望得到完整、稳定、可横向比较的排名;
  • 需要同时兼顾变量信息完整性与评价判别力的评估任务。

六、这次复现做了什么?

这次我基于论文给出的例1(简单数据集),使用:

  • Julia
  • JuMP
  • GLPK

完成了文献中的小样例复现。

复现过程分成三步:

  1. 生成全部 \((2^m-1)(2^s-1)=21\) 种变量子组合;
  2. 对每种组合用投入导向 CRS(CCR-I) 乘子模型求效率,拼成 \(n \times K\) 效率矩阵;
  3. 按论文六步法计算 Shannon 熵权重 \(W_k\) 与综合效率得分 \(\text{CES}_j\)

其中有一个很关键的细节:

工作目录里的 matlab.txt 数据是错的(DMU4、DMU5 的投入/产出值写错)。只有用论文表1的正确数据才能对上论文的表2、表3。

也正因为确认了这一点,最终表2、表3 都顺利与论文结果一致。


七、复现结论

本次复现确认:

  • 表2(全部子组合效率与权重 Wk)可复现
  • 表3(综合效率得分 CES)可复现
  • 论文给出的数据与结果,足以支持 Julia + JuMP 的模型复现。

从方法理解上看,这篇文章最值得把握的不是某项复杂公式,而是这条主线:

先把所有变量子组合分别用 DEA 算出效率,再用 Shannon 熵定权,最后加权得到一个判别力更强的综合效率得分 CES。

下面两张表分别给出权重(表2)综合效率得分(表3)的“论文 vs 程序”对比(四舍五入到 5 位小数)。

表2:全部 21 个子组合的权重 Wk(按权重降序,节选)

Mk 变量组合 X1X2X3·Y1Y2 论文 Wk 程序 Wk 差值(程序-论文) 是否一致
1 001·01 0.11103 0.11103 0
5 010·01 0.09195 0.09195 0
8 100·10 0.06689 0.06689 0
15 111·10 0.01707 0.01707 0
21 111·11 0.00777 0.00777 0

(完整 21 行见 Excel 文件 entropy_dea_results.xlsx 的“表2_子集与权重”工作表。)

表3:综合效率得分 CES 与其它 DEA 模型对比

DMU 论文 CES 程序 CES 差值(程序-论文) 是否一致(5位) 传统CCR GCE SuperCCR SBM
1 0.47997 0.47997 0 0.68571 0.6384 0.68571 0.47619
2 0.83347 0.83347 0 1.00000 0.97664 1.12 1.00000
3 0.99283 0.99283 0 1.00000 1.00000 1.50 1.00000
4 0.41582 0.41582 0 0.85714 0.79878 0.85714 0.32179
5 0.69064 0.69064 0 0.85714 0.66703 0.85714 0.56863

(CES 最大绝对误差约 4.4e-6,仅为论文保留 5 位小数的舍入差。CCR/GCE/SuperCCR/SBM 为论文中用于对比的其它 DEA 模型,本复现未单独计算。)

复现要点:

  • 程序 CES 与论文 CES 逐点一致,排名为:DMU3 > DMU2 > DMU5 > DMU1 > DMU4
  • 传统 CCR 下 DMU2、DMU3 同为 1,无法区分;CES 把二者拉开(DMU3=0.99283 > DMU2=0.83347),体现“判别力提升”。

如果需要,请联系微信canglang12002 任公子