
1. 超效率DEA到底解决什么问题1.1 传统DEA的尴尬有效单元无法排序先举个实际例子。假设你手头有10家银行的分行数据想用DEA做个效率评价跑完CCR或BCC模型大概率会得到好几个分行的效率值都是1。这时候问题就来了这3家分行效率都是1到底谁更优秀传统DEA把它们的效率全部截断在1这个上限有效单元之间的差异完全看不出来。这种情况在样本量少、指标多的时候尤其明显。我见过有人用8个决策单元跑6个指标的DEA结果8个全有效率值为1整个评价结论基本没法写。传统DEA的模型机制决定了——它只能告诉你“谁达到了前沿面”没法告诉你“谁超出了前沿面”。超效率DEASuper Efficiency DEA就是冲着这个痛点去的。它的核心思路很直白评价某个决策单元时把这个单元自己先剔除出参考集只用其他所有单元构造前沿面再计算目标单元到新前沿面的距离。如果这个单元本身就是有效的它到“去掉自己之后”的前沿面仍然有一段距离这段距离就相当于“超额”部分效率值可以大于1。这样一来原本效率都为1的几个单元就能分出1.2、1.5、2.0这样的高下。1.2 超效率值在论文里的实际用途超效率DEA在学术论文里出现的频率非常高。最常见的使用场景有两个第一个场景是给有效单元排序。传统DEA只能区分有效组和无效组超效率DEA把有效组内部再排个序这就方便在后续做回归分析或影响因素分析时把效率值当被解释变量用。尤其是做Tobit回归的时候如果你用普通DEA效率值有效单元全是1数据是被截断的回归结果会有偏。超效率值打破了1的上限数据分布更完整回归结果也更稳。第二个场景是效率动态分析。比如你要比较某企业在不同年份的效率变化如果某几年它正好处于前沿面上传统DEA给出的效率全是1你根本看不到它的实际提升空间。但超效率值可以告诉你超越前沿面的幅度有多大是1.05还是1.8这就能反映企业是否在“拉开身位”。2. 用MaxDEA计算超效率DEA的前期准备2.1 MaxDEA这个软件的基本认知MaxDEA是北京某团队开发的DEA计算软件在国内效率评价领域用得非常多。相比DEAP、EMS等工具MaxDEA最大的优点是GUI操作不需要手写配置文件模型类型覆盖也相当全。我现在做效率评价基本都用它尤其是涉及非径向、非期望产出、动态DEA这些复杂模型时MaxDEA比DEAP好用太多。MaxDEA有几个版本Basic版是免费的但功能有限Ultra版是付费的几乎包含所有模型。超效率DEA的计算Basic版能不能做这取决于你用的具体模型。基础的超效率CCR和超效率BCCBasic版一般是可以做的但如果你想做超效率SBM或者超效率EBM那就必须用Ultra版了。我建议如果只是课程作业或者简单的论文需求先用Basic版试试如果是正式的科研项目该买Ultra版就买。需要注意的一点是MaxDEA的模型表示方式和传统教材略有差异比如教材里写的是SBM模型MaxDEA里对应“非径向SBM”这个分类而且模型名称往往缩写为“Super-SBM”或“Super-EBM”。刚上手的时候容易找不到模型在哪个菜单这是正常的多试几次就熟悉了。2.2 数据格式MDX工程文件怎么建MaxDEA的数据存储格式是MDX工程文件不是直接打开Excel运算。你需要先把数据录入Excel再导入MaxDEA。这个过程有严格的格式要求新手最容易在这里翻车。MaxDEA对数据表的要求分两块第一是变量顺序第二是变量类型标注。先说变量顺序。数据表格的每一列是一个变量每一行是一个决策单元。示例决策单元投入1员工数投入2营业面积产出1营收产出2利润分行A1208005000800分行B1509505200700然后你需要在导入时指定每一列的类型MaxDEA里变量类型分三种投入Input、产出Output、非期望产出Undesirable Output。非期望产出在计算时要特殊处理如果只有普通的投入产出就简单多了。我在导入数据时踩过一次坑一开始把决策单元名称那一列也当成普通数据导进去了结果MaxDEA把所有名称都识别成投入指标算出来的效率值完全不对。正确做法是决策单元名称单独作为“标签”导入在导入向导里明确指定好标签列不要让MaxDEA自动猜测。2.3 指标筛选的一个刚性约束指标个数和决策单元数量的比例是DEA计算里最容易被忽略又最致命的问题。经验法则决策单元数量至少要达到投入产出指标总数的3倍最好能达到5倍以上。比如你有10个分行指标总数最多不要超过3个比如2个投入1个产出否则DEA的区分度会非常差结果就是大量单元都能高效。我有一次帮别人做数据19个决策单元硬塞进6个投入和5个产出跑出来17个效率值为1基本没有分析价值。后来强行把指标压到3个投入2个产出结果才正常。MaxDEA本身不会提醒你指标过多的问题但你自己心里要有数。3. MaxDEA中超效率DEA的具体操作流程3.1 新建工程与导入数据打开MaxDEA后第一步是新建工程。点击“文件”菜单下的“新建”软件会弹出一个空的MDX工程界面。然后在“数据”菜单下找到“导入数据”选项选择你准备好的Excel文件。导入向导会让你逐列确认变量信息。这里我建议的操作顺序先勾选“第一行是变量名”MaxDEA会自动读取Excel的表头作为变量名称。选择每一列的变量类型。投入项选“Input”产出项选“Output”名称列选“Label”。确认数据范围尽量不要选空行空列。导入完成后你会在主界面的左边看到变量列表右边看到数据矩阵。这时候建议先核对一遍行列是否对应正确因为后面一切计算都以这份导入的数据为基础数据错了后面全白做。3.2 选择超效率模型的关键设置数据导入完成后核心环节就是模型设置了。点击菜单栏的“模型”进入模型设置对话框。这里面有几个下拉框和复选框每一项都有讲究。模型类型Model Type选“超效率Super Efficiency”。如果你用的是带非期望产出的数据还要在“BadOutput”相关的设置里指定好非期望产出的列。不指定的话非期望产出会被当成普通产出结果直接作废。导向类型Orientation的选择要慎重投入导向Input Oriented意味着在产出不变的情况下尽可能压缩投入产出导向Output Oriented则是在投入不变的情况下最大化产出。这个选择要结合你的评价目的。比如评价银行分行效率通常分行规模很难说压就压那更适合产出导向评价工厂生产效率如果管理层有权控制投入那就选投入导向。规模报酬假设Returns to Scale选CRS规模报酬不变还是VRS规模报酬可变这需要看你研究的问题背景。教材上一般说如果所有决策单元都在最优规模下运营用CRS如果规模有大有小、不太可能在最优规模下运营用VRS更合理。实际做论文的时候我建议先用数据算一下整体规模特征或者参考同领域文献的惯例不要拍脑袋选。3.3 计算与导出结果模型设置确认无误后点击“计算”按钮MaxDEA会在很短的时间内输出结果。结果表格中最重要的三列综合效率CRSTE或TE——不考虑规模因素时的技术效率纯技术效率VRSTE或PTE——剔除规模因素后的技术效率规模效率SCALE——反映规模是否合适如果用超效率模型输出的效率值里有效单元会大于1。针对有效单元的排序直接按超效率值从高到低排列即可。计算结果可以右键导出到Excel。注意MaxDEA默认输出的结果可能包含好几十列数据别直接全盘搬到论文里只保留你需要的那几列就够了。比如我做超效率分析时通常只导出决策单元名称、原始效率值、超效率值、排序这几列其他中间变量自己用不上就不放。3.4 关于超效率结果的一个细节超效率DEA有一个需要特别留意的技术细节投入导向的超效率模型在VRS假设下可能出现“不可行解”infeasible solution的情况。简单说就是某些有效单元在新构造的前沿面下无法计算出对应的超效率值。这是个数学规划上的问题不是软件bug。在实际操作中如果你用的是BCC超效率模型遇到不可行解的概率不算低。遇到这种情况常见的处理办法有两个一是改用投入导向或换一种导向二是改用SBM超效率模型SBM超效率模型一般能避免不可行解问题。MaxDEA对不可行解的处理方式是输出一个很大的数值或者直接显示为空。看到这种结果别慌先从模型设定角度排查原因。4. 结果解读与实操中的常见误区4.1 超效率值和传统效率值怎么对应用超效率模型算出来的结果里无效率单元的效率值和传统DEA算出来的几乎一致都是小于1的差别只在有效单元那里传统效率是1而超效率大于1。所以你在论文表格里可以这样呈现把无效单元的超效率值当作普通效率值理解把有效单元的超效率值理解为“该单元即使按比例增加投入或减少产出也能维持在效率前沿上”——这个增加或减少的比例就是它超越前沿面的幅度。例如某分行超效率值为1.35意思就是允许投入再增加35%它仍然能保持相对有效。如果你在同一篇文章里既需要报告传统效率又需要报告超效率值我建议的做法是正文表格同时给出传统效率和超效率两列然后单独写一段文字说明超效率值1的处理逻辑。这样既满足了传统DEA的规范表述习惯又能体现超效率的价值。4.2 指标方向搞反导致结果完全失真这是新手最容易犯、又最难发现的错误。MaxDEA导入数据时如果你不小心把产出列标成了投入列程序不会报错它会正常给你算出一个结果只是这个结果本质上是“把所有指标当投入”算出来的分析意义完全变了。怎么发现这种问题一个简单有效的自查办法算完之后检查一下效率值排名靠前的单元是不是你直觉上觉得“确实应该靠前”的单元。如果排名和业务直觉严重矛盾优先怀疑数据方向设置错了。另一个自查方法单独拉一个无效单元出来看它的投入冗余和产出不足分析MaxDEA会在结果中输出目标值和实际值的差距。如果产出目标值明显小于实际值说明产出可能被当成投入输入了。4.3 多个有效单元评价相同时怎么办超效率DEA也不是万能的。在某些特殊数据分布下多个有效单元的超效率值仍然可能相同尤其是指标较少、样本数据呈现“阶梯状”分布的时候。处理办法有几个方向一是改用超效率SBM模型因为SBM本身是非径向的区分度通常比径向模型更高二是引入交叉效率模型Cross Efficiency来辅助排序三是调整指标集增加关键投入或产出变量提高区分度。我个人的经验是如果超效率值和SBM超效率值给出的排序差异比较大不要急着下结论先回到数据质量本身——是否存在异常值、指标选择是否合理、样本量是否足够。DEA是数据驱动的数据有问题模型再精巧也没用。5. MaxDEA超效率DEA的常见问题排查5.1 为什么计算结果和DEAP不一致DEAP是另一个常用的DEA软件很多人在MaxDEA里算出来的效率值和DEAP的结果对不上就以为是自己操作错了。这里要说明不同软件对同一模型的计算精度差异通常不会造成显著影响但有几个配置项会对结果产生实质性影响。最典型的一个是“投入松弛”和“产出松弛”的处理方式。径向DEA模型计算时效率值取决于等比例压缩或扩张的系数但如果模型设定允许非径向松弛存在不同软件处理方式不一样结果就会不同。另一个常见原因是指标方向处理不一致例如DEAP默认以$符号开头表示产出MaxDEA通过在界面中选择变量类型区分如果你在DEAP里把投入产出顺序写反了结果肯定对不上。遇到这类问题我的建议是先固定一个软件作为基准反复核对数据和模型设定确保模型设定完全一致后再讨论数值差异。实际计算中CRS条件下、纯径向模型MaxDEA和DEAP的结果基本一致但VRS条件下由于算法差异结果可能略有出入通常不影响分析结论。5.2 数据中出现0值或负值怎么处理DEA对数据有一个硬性假设投入产出数据不能为负而且投入数据最好严格大于0。但实际数据里利润为负、增长率波动等情况很常见。最简单的处理办法是把负值数据做平移变换让所有数值都变为正数。但要注意平移变换对DEA效率值的影响是存在的不同决策单元的平移幅度如果不同会影响结果。所以尽量用统一的平移量并且在论文里说明数据预处理过程。0值的情况稍微复杂一些。如果产出为0在径向模型里可能没问题但在对数类模型或某些超效率变体里就可能出问题。遇到0值的常见思路是如果是产出指标看能否换成“达到某种标准的数量”之类的替代口径如果换不了考虑合并指标或删除该决策单元。5.3 结果中效率值为无穷大或异常大的数字这种情况最常见的原因是决策单元数量太少导致去掉某个有效单元后剩下的样本无法构造出包含原生产可能集的适当前沿面。在上文提到的不可行解问题中软件有时显示1e16这类异常值。解决思路要么增加样本量要么减少指标数量要么换VRS为CRS试试。我在帮别人诊断问题时见过一个案例用8个样本、6个指标跑超效率VRS模型结果好几个单元都出现了异常大值。后来把指标压到3个把规模报酬假设改为CRS问题就消失了。如果确实无法调整还有一种变通方案放弃超效率BCC改用超效率CCR或者超效率SBM这两种模型在数学性质上更稳定。6. 个人实操经验与扩展建议开发一套“效率评价结果解释扩展分析”的完整流程我用MaxDEA做过很多次。这里分享几个平时不会写在论文里的经验。第一个是数据预处理要留档。MaxDEA不会自动保存你的数据清洗过程所以建议在Excel里把原始数据、清洗后数据、指标定义表都单独放置Sheet方便随时回溯。否则论文后期需要补充分析找不到原始口径会很痛苦。第二个是超效率DEA的结论要谨慎表述。超效率值大于1只代表“相对领先”不代表“绝对领先”。如果样本里最强的单元和次强单元差距并不大超效率值多出的那部分可能只是数据微扰造成的不宜过度解释。第三个是效率评价通常不是一个模型跑完就结束。我经常用超效率DEA做第一轮筛选识别出效率较高的单元后再用Malmquist指数看它们在不同时期的动态变化或者用Tobit回归分析影响因素。这样模型的解释力会比单跑一个横截面DEA强很多。最后再分享一个小细节MaxDEA的计算结果默认单位是小数形式但很多论文习惯用百分数。导出到Excel之后直接格式化成百分比显示就行别动原始数值。如果你只是刚接触超效率DEA我的建议是先拿一份数据量不大、结构简单的数据练手反复对比不同模型设定下的结果差异熟悉MaxDEA的操作逻辑之后再上复杂模型和真实研究数据。DEA的建模过程本质上是对数据与业务逻辑不断加深理解的过程软件只是工具关键是理解每一步操作背后的含义。