如何用数据包络分析(DEA)进行效率评估?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用数据包络分析(DEA)进行效率评估?相关的知识,希望对你有一定的参考价值。

参考技术A

一、什么是数据包络分析DEA

数据包络分析DEA是一种多指标投入和产出评价的研究方法,其应用数学规划模型计算比较决策单元(DMU)之间的相对效率,对评价对象做出评价。比如有10个学校(即10个决策单元DMU,Decision Making Units),每个学校有投入指标(比如学生人均投入资金),也有产出指标(比如学生平均成绩,学生奥数比赛比例等),有的学校投入多,有的学校投入少,但是投入多或少,均会有对应的产出,那么具体哪个学校的投入产出更加优秀呢,诸如此类投入产出的优劣问题,则可使用数据包络DEA模型进行分析。


最常见的DEA模型为CCR和BBC,此两种模型的区别在于是否假定‘规模报酬可变’,其对比如下:

二、数据包络分析DEA案例

1

当前希望对天津市的城市可持续发展情况进行研究,共收集1990~1999共计10年的相关指标数据。具体说明如下表格:

原始数据如下图,从下图来看,从1990~1999年共计10年里面,人均GDP和城市环境质量指数均在逐步提高,单独从产出指标来看说明每年都在提升。但反过来看,3个投入指标却有高有低,那么到底哪些年的投入产出较好,而哪些年的投入产出还有改进空间并不知晓,这正是需要数据包络分析DEA分析寻找的答案。



2

数据包络分析DEA时,首先需要分析综合效益值θ,即首先判断DMU是否有DEA有效,如果有效,则说明该DMU较优,反之说明‘非DEA有效’,即相对来说还有提升空间,那么提升空间具体在哪里呢,比如提高还是减少规模呢,可以通过规模效益分析得到。与此同时,如果是‘非DEA有效’,那么具体问题是什么,投入冗余还是产出不足,则可以通过对应的投入冗余 或产出不足分析表格得出,具体数字直接查看松驰变量即可。如下表所示:

3

本例子操作截图如下:


分别将3个投入指标和2个产出指标放在对应的框中,与此同时,本案例中年份为决策单元DMU,因此放入对应的框中,当然也可以不放入DMU(如果不放入,SPSSAU默认输出为比如第1项,第2项等)。另外,本案例使用默认的BBC(VRS)模型进行分析。

4

如果是BBC模型时,SPSSAU共输出6个表格和1个图。分别如下:


如果是CCR模型时,SPSSAU共输出4个表格【无规模报酬相关的表格】和1个图。分别如下:

5


有效性分析是指决策单元DMU的总体有效性情况,本案例使用BBC模型进行分析。从上表可以看出:1997,1998和1999这三年的数据均为‘DEA强有效’,即相对于其它年份(DMU)来讲,此3年的投入产出达到相对最有效率。

关于有效性的判断规则说明如下:

如果综合效益值等于1且松驰变量S-和松驰变量均为0,那么为DEA强有效,说明相对来讲某DMU单元达到最有效率;如果综合效益值等于1并且2个松驰变量任意中任意1个大于0,那么为DEA弱有效,说明某DMU单元已经相对有效率但还有一定提升空间;如果说综合效益值小于1(此时不论松驰变量为多少),那么为非DEA有效,即说明相对来讲投入产出比效率较差。

以及关于上表格中各指标的意义说明如下表:

从本案例分析来看,除1997,1998和1999共3个决策单元外,其余年份(决策单元DMU)均为非DEA有效,即还有较大的提升空间,下述中还会进一步对规模效益系数进行分析。


上图为有效性分析的图示化,人上图可以看到,从1990到1999年变迁过程中,综合效益值在不断的提升,也即说明政府的投入产出效率在不断提升。包括规模效益和技术效益均在不断提升,进一步说明投入产出效率的提升,也即说明政府的效率在不断提高。

针对BBC模型即规模报酬可变模型来看,上述分析可知,1997,1998和1999这3年均为DEA强有效,自然其规模报酬达到最优即规模报酬固定。而1997年之前,规模报酬系数值均小于1,也即说明规模报酬递增,加大规模更加速提高投入产出比。可能这也正是政府在逐年提升投入的原因。关于规模报酬系数的判断规则说明如下表:


针对非DEA有效的决策单元DMU,可进一步分析其‘投入冗余’情况。当然DEA强有效的决策单元(本案例中的1997,1998和1999共3年),相对意义上其并没有投入冗余问题,因此松驰变量S-值均为0。

松驰变量S-意义为“减少多少投入时达目标效率”,简单来说就是得到基于当前的产出,投入要减少多少才能达到高效率。该值越小越好,最小值为0(即最优状态),从上表可知:从1990~1996年间,政府财政收入占GDP比例对应的松驰变量S-值一直都大于0,意味着财政收入相对GDP过高(收税相对过多)。与此同时,在1994~1996年这3年里,每千人科技人员数的松驰变量S-值较高,意味着科技人员占比相对过高,可适量减少科技人员投入。

至于投入冗余率,其是一个相对的数字,即‘过多投入’除以‘已投入’,分析时可直接对比该数字,如果该值越大意味着需要减少的比例越大。

针对非DEA有效的决策单元DMU,可进一步分析其‘产出不足’情况。当然DEA强有效的决策单元(本案例中的1997,1998和1999共3年),相对意义上其并没有产出不足问题,因此松驰变量S+值均为0。

松驰变量S+意义为“增加多少产出时达目标效率”,简单来说就是得到基于当前的投入,产出要增加多少才能达到高效率。该值越小越好,最小值为0(即最优状态),从上表可知:人均GDP这一产出变量仅在1995年出现松驰变量S+值大于0,意味着1995年时人均GDP相对产出较低。与此同时,1990~1993共4年时间里,松驰变量S+值大于0,说明此4年里面相对于投入,产出效率还有提升空间(即产出不够)。

至于产出不足率,其是一个相对的数字,即‘产出不足’除以‘已产出’,分析时可直接对比该数字,如果该值越大意味着需要产出增加的比例越大。

描述统计分析表格为各研究指标的平均值和标准差值等,用于查阅数据中是否有缺失或异常情况等,并无其它意义。

6

涉及以下几个关键点,分别如下:

数据包络分析DEA从数学原理上并不要求数据进行量纲化处理,如果需要处理,可使用SPSSAU数据处理里面的生成变量功能进行处理。与此同时,如果数据有负向(逆向)指标,则需要对其进行逆向化处理,让其指标意义变为正向。处理方式为:SPSSAU数据处理里面的生成变量功能中的逆向化处理。

如果指标中有负向(逆向)指标,那么需要对负向(逆向)指标进行逆向化处理,使其意义变为正向。处理方式为:SPSSAU数据处理里面的生成变量功能中的逆向化处理。

数据包络DEA分析有很多模型,BBC和CCR最为经典,如果考虑规模报酬可变则使用BBC,反之如果认为规模报酬不变则应使用CCR,通常情况下使用BBC较多。

数据包络DEA分析进行分析时,其是一个相对对比的过程,即基于所分析数据里面对比相对的优劣,比如不同城市的DEA分析,有的分析发现北京DEA有效,但指标更改后(或对比的DMU更换),可能就会出现北京为非DEA有效。


备战数学建模23-数据包络分析

一、数据包络分析

1-基本理论与相关定义

1978年A.Charnes,W.W.Cooper和ERhodes给出了评价多个决策单元(DMU)相对有效性的数据包络分析方法(DEA)。

目前,数据包络分析是评价具有多指标输入和多指标输出系统较为有效的方法。

我们看下面的例子14.4的相对有效评价问题,根据输入指标和输出指标,评价哪些学校是相对有效的。

 如果简单分析的话,明显学校的两项输出都是最高,但是学校C的两项输入也最高,所以怎么评价哪些学校是相对有效的呢?

下面是该模型的基本理论知识,具体如下:

 通过定义输入输出向量和投入产出权值向量,得到如下模型:其中效率指数即输出除以输入;约束条件是效率小于等于1,权值大于等于0

 通过等价变换,可以将模型变成线性规划问题,具体如下:新的决策变量变成了w和u。

 对于上述模型,有如下定义:

 从上面的定义可以看出,所谓的DEA有效,就是指那些评价对象,它们的投入产出比达到最大。因此,可以用DEA模型对评价对象进行评价。

2-MATLAB编程实现1

 对于这个例子14.4,共6个评价对象,每个评价对象有两个输入指标变量,两个输出指标变量,下面我们

MATLAB求解代码如下所示,这个需要R2021b及以上版本的MATLAB才行:

clear; clc
m = 2 ;
n = 6 ;
d = [89.39, 86.25, 108.13, 106.38, 62.4, 47.19;
     64.3, 99, 99.6, 96, 96.2, 79.9;
     25.2, 28.2, 29.4, 26.4, 27.2, 25.2;
     223, 287, 317, 291, 295, 222] ;
a = d([1,2],:)' ;
b = d([3,4],:)' ;

prob = optimproblem("ObjectiveSense",'max') ;
u = optimvar('u',m,'LowerBound',0) ;
v = optimvar('v',m,'LowerBound',0) ;
prob.Constraints.con1 = a*u >= b*v ;

for j = 1 : n 
    fprintf('第%d个学校的计算结果如下:\\n', j) ;
    prob.Objective = b(j,:) * v ;
    prob.Constraints.con2 = a(j,:) * u == 1 ;
    [sol, fval] = solve(prob) ;
    su = sol.u ;
    sv = sol.v ;
    disp(fval) ;
end

3-数据包络分析案例及MATLAB编程实现

数据包络分析用于评价决策单元的相对有效性,是根据多投入和多指标产出对相同类型的部分进行相对有效性进行评价的系统分析方法。DEA具有很强的客观性。

 我们看一下下面的例子14.5,使用DEA方法对天津市的可持续发展进行评价。

我们定义前三个指标为输入,后两个指标为输出,如下:

采用数据包络分析计算的最优目标值如下:

对于上述评价问题,给出的MATLAB程序如下所示:
 

clear; clc
m = 3 ;
n = 10 ;
s = 2 ;
d = [14.4, 0.65, 31.3, 3621, 0.00;
    16.9, 0.72, 32.2, 39.43, 0.09;
    15.53, 0.72, 31.87, 4086.67, 0.07;
    15.4, 0.67, 32.23, 4904.67, 0.13;
    14.17, 0.76, 32.4, 6311.67, 0.37;
    13.33, 0.69, 30.77, 8173.33, 0.59;
    12.83, 0.61, 29.23, 10236, 0.51;
    13, 0.63, 28.2, 12094.33, 0.44;
    13.4, 0.75, 28.8, 13603.33, 0.58;
    14, 0.84, 29.1, 14841, 1] ;
 
a = d(:,1:3) ;
b = d(:,[4,5]) ;


prob=optimproblem('ObjectiveSense','max');
u = optimvar('u',m,'LowerBound',0) ;
v = optimvar('v',s,'LowerBound',0) ;
prob.Constraints.con1 = a*u >= b*v ;
for j = 1 : n 
    fprintf('第%d年的计算结果如下:\\n',j+1989) ;
    prob.Objective = b(j,:) * v ;
    prob.Constraints.con2 = a(j,:) * u == 1 ;
    [sol, fval] = solve(prob) ;
    su = sol.u ;
    sv = sol.v ;
    disp(fval) ;
end

最后做个总结吧:数据包络分析适用于处理多目标决策类问题,通过比较决策单元的相对效率对决策单元进行评价,适用于具有多输入和多输出的复杂系统,无需假设任何权重,不必确定输入和输出的显示关系。

以上是关于如何用数据包络分析(DEA)进行效率评估?的主要内容,如果未能解决你的问题,请参考以下文章

关于DEA(数据包络分析)问题的请教。DEA里面涉及的投入、产出指标,这些指标有啥要求吗?

数据包络分析法(DEA)_1

数学建模 数据包络分析(DEA) Lingo实现

DEA和模糊综合评价

备战数学建模23-数据包络分析

数学建模之数据包络分析(评价投入产出比的模型)