数据包络分析(DEA)——SBM模型

简介: 数据包络分析(DEA)——SBM模型

写在前面:

博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。


1. 引言

  前面我们已经介绍了数据包络分析的CCR模型和BCC模型,具体可参阅链接: 数据包络分析——CCR模型和链接: 数据包络分析——BCC模型,而CCR模型和BCC模型都是径向模型,在径向模型中,效率改善主要指的是投入或产出的等比例线性缩放,同时忽略了平行于坐标轴的弱有效的情形,而SBM模型纳入无效率的松弛改进,保证最终的结果是强有效的。

2. 模型建立

  基本的SBM模型形式为

min ⁡ ρ = 1 − 1 m ∑ j = 1 m s j − / x k j 1 + 1 q ∑ r = 1 q s r − / y k r  s.t.  { X λ + s − = x k Y λ − s + = y k λ , s − , s + ⩾ 0 , j = 1 , ⋯   , m ; r = 1 , ⋯   , q \begin{array}{l}\min \rho=\frac{1-\frac{1}{m} \sum_{j=1}^{m} s_{j}^{-} / x_{k j}}{1+\frac{1}{q} \sum_{r=1}^{q} s_{r}^{-} / y_{k r}} \\ \text { s.t. }\left\{\begin{array}{l}X \lambda+s^{-}=x_{k} \\ Y \lambda-s^{+}=y_{k} \\ \lambda, s^{-}, s^{+} \geqslant 0, \quad j=1, \cdots, m ; r=1, \cdots, q\end{array}\right.\end{array}minρ=1+q1r=1qsr/ykr1m1j=1msj/xkj s.t. Xλ+s=xks+=ykλ,s,s+0,j=1,,m;r=1,,q其中,对每个决策单元k = 1 , ⋯   , n k=1, \cdots, nk=1,,n

  目标函数ρ ∗ \rho^{*}ρ表示效率值,该模型同时从投入和产出两个方面考察无效率的表现,故称为非径向模型。由于该模型为非线性模型,将该模型转化为线性模型,同时向模型中加入非期望产出得:

τ ∗ = min ⁡ ( t − 1 m ∑ j = 1 m s j − x k j )  s.t.  { t + 1 s 1 + s 2 ( ∑ r = 1 s 1 s r g y k r g + ∑ r = 1 s 2 s r b y k r g ) = 1 x k t = X Λ + S − y k g t = X Λ − S g y k b t = X Λ + S b Λ , S − , S g , S b ⩾ 0 t > 0 \begin{array}{l}\tau^{*}=\min \left(t-\frac{1}{m} \sum_{j=1}^{m} \frac{s_{j}^{-}}{x_{k j}}\right) \\ \text { s.t. }\left\{\begin{array}{l}t+\frac{1}{s_{1}+s_{2}}\left(\sum_{r=1}^{s_{1}} \frac{s_{r}^{g}}{y_{k r}^{g}}+\sum_{r=1}^{s_{2}} \frac{s_{r}^{b}}{y_{k r}^{g}}\right)=1 \\ x_{k} t=X \Lambda+S^{-} \\ y_{k}^{g} t=X \Lambda-S^{g} \\ y_{k}^{b} t=X \Lambda+S^{b} \\ \Lambda, S^{-}, S^{g}, S^{b} \geqslant 0 \\ t>0\end{array}\right.\end{array}τ=min(tm1j=1mxkjsj) s.t. t+s1+s21(r=1s1ykrgsrg+r=1s2ykrgsrb)=1xkt=XΛ+Sykgt=XΛSgykbt=XΛ+SbΛ,S,Sg,Sb0t>0其中,对每个决策单元k = 1 , ⋯   , n k=1, \cdots, nk=1,,n。该模型中包含投入矩阵X n × m X_{n \times m}Xn×m的转置,期望产出矩阵Y n × s 1 g Y_{n \times s_{1}}^{g}Yn×s1g的转置,非期望产出Y n × s 2 b Y_{n \times s_{2}}^{b}Yn×s2b的转置,模型参数主要包括投影变量Λ \LambdaΛ,松弛变量S − 、 S g 、 S b S^{-}、S^{g}、S^{b}SSgSbt tt

3. 模型求解

我们仍然用前面的例子:

  某市教委需要对六所重点中学进行评价,其相应的指标如表所示。表中的生均投入和非低收入家庭百分比是输入指标,生均写作得分和生均科技得分是输出指标。请根据这些指标,评价哪些学校是相对有效的。

  根据模型编写MATLAB代码如下:

%非期望产出SBM模型
clc,clear
X=[89.39 86.25 108.13 106.38 62.4 47.19;
    64.3 99 99.6 96 96.2 79.9];
Y=[25.2 28.2 29.4 26.4 27.2 25.2;
    223 287 317 291 295 222];
Z=[72 85 95 63 81 70]; %非期望产出:生均艺术得分
[m,n]=size(X);
s1=size(Y,1);
s2=size(Z,1);
c=1/(s1+s2);
rho=[];
w=[];
for i=1:n
    f=[-1./(m*X(:,i)') zeros(1,s1) zeros(1,s2) zeros(1,n) 1];
    A=[];
    b=[];
    UB=[];
    LB=zeros(m+s1+s2+n+1,1);
    Aeq=[zeros(1,m) c*1./Y(:,i)' c*1./Z(:,i)' zeros(1,n) 1;
        eye(m) zeros(m,s1)  zeros(m,s2) X -X(:,i);
        zeros(s1,m) -eye(s1) zeros(s1,s2) Y -Y(:,i);
        zeros(s2,m) zeros(s2,s1) eye(s2) Z -Z(:,i)];
    beq=[1 zeros(m,1)' zeros(s1,1)' zeros(s2,1)'];
    [w(:,i),rho(i)]=linprog(f,A,b,Aeq,beq,LB,UB);
end
rho'

  得到每个学校的效率值为

1.0000 、 0.8297 、 0.8692 、 1.0000 、1.0000 、 1.0000

  可见在带非期望产出的情况下,学校A、D、E、F是有效的。

目录
相关文章
|
新零售 数据采集 分布式计算
6000字干货分享:数据中台项目管理实践分享
本文总结了企业级数据中台项目的实践经验,希望能够为正在规划或者已在实施数据中台类项目的企业和个人提供经验。
6000字干货分享:数据中台项目管理实践分享
|
6月前
|
数据采集 DataWorks Cloud Native
云原生数据中台建设方案
本文系统阐述云原生数据中台建设方案,基于“采集-计算-治理-服务”四层架构,结合阿里云产品矩阵与零售行业实践,提供从数据整合、批流一体计算、质量安管到API服务输出的全链路指南,助力企业打破孤岛、实现数据资产化与业务价值转化。
457 0
|
安全 Unix Linux
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
610 0
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
|
弹性计算 Linux 数据安全/隐私保护
【阿里云幻兽帕鲁】搭建 密码 存档 使用 费用 常见问题合集
本文持续更新幻兽帕鲁玩家在阿里云上遇到的问题及解法。
67190 91
【阿里云幻兽帕鲁】搭建 密码 存档 使用 费用 常见问题合集
|
存储 Python
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
|
算法
数据包络分析(DEA)——CCR模型
数据包络分析(DEA)——CCR模型
1966 0
数据包络分析(DEA)——CCR模型
|
存储 人工智能 对象存储
一文详解阿里云AI大基建
一文详解阿里云AI大基建
3027 2
|
人工智能 算法 自动驾驶
人工智能的伦理困境:技术发展与社会责任的平衡
在人工智能(AI)技术飞速发展的今天,我们面临着一个前所未有的伦理困境。本文将探讨AI技术带来的挑战,以及如何在技术创新与社会责任之间找到平衡点。我们将从隐私保护、就业影响、算法偏见等方面进行分析,并提出相应的解决方案。
outreg2的命令代码详解
Stata结果输出:outreg2命令详解
|
数据采集 数据挖掘 数据处理
Python数据分析:Numpy、Pandas基础
本文详细介绍了 Python 中两个重要的数据分析库 NumPy 和 Pandas 的基础知识,并通过一个综合的示例展示了如何使用这些库进行数据处理和分析。希望通过本篇博文,能更好地理解和掌握 NumPy 和 Pandas 的基本用法,为后续的数据分析工作打下坚实的基础。

热门文章

最新文章