带有非期望产出的SBM模型(python)
文章目录
- 带有非期望产出的SBM模型(python实现)
- 1.原理
- 2.python代码
- 3.使用案例
带有非期望产出的SBM模型(python实现)
from scipy.optimize import minimize
import numpy as np
import pandas as pd
import scipy.optimize as op
1.原理
带有非期望产出的SBM模型(原型):带有非期望产出的SBM模型(原型):带有非期望产出的SBM模型(原型):
ϕ∗=min1−1m∑i=1m(Sio−Xio)1+1s1+s2(∑r1=1s1Sr1ogyr1og+∑r2=1s2Sr2obyr2ob)\phi^*=min\dfrac{1 - \dfrac{1}{m} \sum_{i=1}^m(\dfrac{S_{io}^-}{X_{io}})}{1+\dfrac{1}{s_1+s_2}(\sum_{r_1=1}^{s_1}\dfrac{S_{r_{1o}}^g}{y_{r_{1o}}^g}+\sum_{r_2=1}^{s_2}\dfrac{S_{r_{2o}}^b}{y_{r_{2o}}^b})}ϕ∗=min1+s1+s21(∑r1=1s1yr1ogSr1og+∑r2=1s2yr2obSr2ob)1−m1∑i=1m(XioSio−)
s.tXo=Xλ+So−(1)s.t\kern1em X_o=X\lambda +S_o^- \kern3em(1)s.tXo=Xλ+So−(1)
yog=Ygλ−Sog(2)\kern2em y_o^g=Y^g\lambda -S_o^g \kern3em(2)yog=Ygλ−Sog(2)
yob=Ybλ+Sob(3)\kern2em y_o^b = Y^b\lambda + S_o^b \kern3em(3)yob=Ybλ+Sob(3)
So−,Sog,Sob,λ>0(4)\kern2em S_o^-,S_o^g,S_o^b, \lambda >0 \kern2em(4)So−,Sog,Sob,λ>0(4)
带有非期望产出的SBM模型(变式):带有非期望产出的SBM模型(变式):带有非期望产出的SBM模型(变式):
ϕ∗=mint−1m∑i=1m(Sio−Xio)\phi^*=min\kern1em t - \dfrac{1}{m} \sum_{i=1}^m(\dfrac{S_{io}^-}{X_{io}})ϕ∗=mint−m1i=1∑m(XioSio−)
s.t1=t+1s1+s2(∑r1=1s1Sr1ogyr1og+∑r2=1s2Sr2obyr2ob)s.t\kern1em 1 =t +\dfrac{1}{s_1+s_2}(\sum_{r_1=1}^{s_1}\dfrac{S_{r_{1o}}^g}{y_{r_{1o}}^g}+\sum_{r_2=1}^{s_2}\dfrac{S_{r_{2o}}^b}{y_{r_{2o}}^b})s.t1=t+s1+s21(r1=1∑s1yr1ogSr1og+r2=1∑s2yr2obSr2ob)
Xot=XΛ+So−(1)\kern2em X_ot=X\Lambda +S_o^- \kern3em(1)Xot=XΛ+So−(1)
yogt=YgΛ−Sog(2)\kern2em y_o^gt=Y^g\Lambda -S_o^g \kern3em(2)yogt=YgΛ−Sog(2)
yobt=YbΛ+Sob(3)\kern2em y_o^bt = Y^b\Lambda + S_o^b \kern3em(3)yobt=YbΛ+Sob(3)
So−,Sog,Sob,Λ≥0(4)\kern2em S_o^-,S_o^g,S_o^b, \Lambda \ge 0 \kern2em(4)So−,Sog,Sob,Λ≥0(4)
t>0\kern2em t>0t>0
2.python代码
def sbmeff2(input_variable, desirable_output, undesirable_output, dmu,data,method = 'revised simplex'):"""用于求解sbm模型Parameters:-----------input_variable:投入[v1,v2,v3,...] desirable_output:期望产出[v1,v2,v3,...]undesirable_output:非期望产出[v1,v2,v3,...] dmu:决策单元data:主数据method:求解方法.默认'revised simplex',可选'interior-point'Return:------res : DataFrame结果数据框[dmu TE slack...]"""res = pd.DataFrame(columns = ['dmu','TE'], index = data.index)res['dmu'] = data[dmu]## lambda有dmu个数个,S有变量个数个dmu_counts = data.shape[0]## 投入个数m = len(input_variable)## 期望产出个数s1 = len(desirable_output)## 非期望产出个数s2 = len(undesirable_output)## x[:dmu_counts] 为lambda## x[dmu_counts:dmu_counts+1] 为 t## x[dmu_counts+1 :dmu_counts + m + 1] 为投入slack## x[dmu_counts+ 1 + m:dmu_counts + 1 + m + s1] 为期望产出slack## x[dmu_counts + 1 + m + s1 :] 为非期望产出lacktotal = dmu_counts + m + s1 + s2 + 1cols = input_variable+desirable_output+ undesirable_outputnewcols = []for j in cols:newcols.append(j+'_slack')res[j+'_slack'] = np.nanfor i in range(dmu_counts):## 优化目标c = [0] * dmu_counts + [1] + list(-1 / (m * data.loc[i, input_variable])) + [0] * (s1 + s2)## 约束条件A_eq = [[0] * dmu_counts + [1] + [0] * m + list(1/((s1 + s2) * data.loc[i, desirable_output])) + list(1/((s1 + s2) * data.loc[i, undesirable_output]))]## 约束条件(1)for j1 in range(m):list1 = [0] * mlist1[j1] = 1eq1 = list(data[input_variable[j1]]) + [-data.loc[i ,input_variable[j1]]] + list1 + [0] * (s1 + s2)A_eq.append(eq1)## 约束条件(2)for j2 in range(s1):list2 = [0] * s1list2[j2] = -1eq2 = list(data[desirable_output[j2]]) + [-data.loc[i, desirable_output[j2]]] + [0] * m + list2 + [0] * s2A_eq.append(eq2)## 约束条件(3)for j3 in range(s2):list3 = [0] * s2list3[j3] = 1eq3 = list(data[undesirable_output[j3]]) + [-data.loc[i, undesirable_output[j3]]] + [0] * (m + s1) + list3A_eq.append(eq3) b_eq = [1] + [0] * (m + s1 + s2) bounds = [(0, None)]*total## 求解op1 = op.linprog(c = c,A_eq=A_eq,b_eq=b_eq,bounds=bounds,method = method)res.loc[i, 'TE'] = op1.funres.loc[i, newcols] = op1.x[dmu_counts+1 :]return res
3.使用案例
data = pd.read_excel('sbm_example.xlsx')
data.head()
year | city | w | s | f | l | g | k | dmu | |
---|---|---|---|---|---|---|---|---|---|
0 | 2018 | 上海市 | 29144.0 | 9100.0 | 16163.0 | 1375.66 | 31521.20 | 76000000 | 1 |
1 | 2018 | 南京市 | 15534.0 | 12375.0 | 35914.0 | 462.60 | 11752.80 | 70000000 | 2 |
2 | 2018 | 无锡市 | 20622.0 | 40242.0 | 52929.0 | 388.20 | 11897.00 | 51000000 | 3 |
3 | 2018 | 徐州市 | 3062.0 | 18221.0 | 21252.0 | 483.10 | 6674.82 | 58000000 | 4 |
4 | 2018 | 常州市 | 12407.0 | 22888.0 | 32258.0 | 282.20 | 6791.01 | 42000000 | 5 |
## input_variable : 投入 K l
## desirable_output : 期望产出 g
## undesirable_output : 非期望产出 w s f
## 指导决策单元 dmu
## 数据 data
sbmeff2(input_variable= ['k','l'], desirable_output=['g'],
undesirable_output=['w','s','f'], dmu = ['dmu'], data = data)
dmu | TE | k_slack | l_slack | g_slack | w_slack | s_slack | f_slack | |
---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 |
1 | 2 | 1 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 |
2 | 3 | 1 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 |
3 | 4 | 1 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 |
4 | 5 | 0.491846 | 1.577605e+07 | 0.000000e+00 | 0.000000e+00 | 3.457415e+03 | 1.151669e+04 | 1.611390e+04 |
5 | 6 | 1 | 4.694148e-24 | 0.000000e+00 | 0.000000e+00 | 7.252490e-27 | 7.275958e-12 | 7.275958e-12 |
6 | 7 | 0.429348 | 2.418837e+07 | 8.307919e+01 | 0.000000e+00 | 4.572674e+03 | 4.557622e+03 | 3.487367e+02 |
7 | 8 | 0.236243 | 1.141824e+07 | 8.739560e+01 | 0.000000e+00 | 8.546975e+02 | 5.665433e+03 | 7.806815e+03 |
8 | 9 | 0.260195 | 1.683680e+07 | 9.951827e+01 | 0.000000e+00 | 1.314848e+02 | 7.173034e+03 | 3.649452e+03 |
9 | 10 | 0.262182 | 2.237113e+07 | 1.315691e+02 | 0.000000e+00 | 2.804393e+03 | 6.461563e+03 | 6.836929e+03 |
10 | 11 | 0.373106 | 1.901240e+07 | 3.004464e+01 | 0.000000e+00 | 1.765430e+03 | 9.337378e+03 | 6.145687e+03 |
11 | 12 | 0.492662 | 1.012390e+07 | 2.467234e+00 | 0.000000e+00 | 1.057530e+03 | 4.089350e+03 | 2.460463e+03 |
12 | 13 | 0.40891 | 2.123054e+07 | 4.636663e+01 | 0.000000e+00 | 0.000000e+00 | 6.548273e+03 | 2.212670e+03 |
13 | 14 | 0.209943 | 1.062880e+07 | 1.079518e+02 | 0.000000e+00 | 1.977909e+03 | 4.894938e+03 | 4.630548e+03 |
14 | 15 | 0.420894 | 2.426807e+07 | 1.285235e+02 | 0.000000e+00 | 8.394351e+03 | 9.432874e+03 | 3.634491e+03 |
15 | 16 | 0.426568 | 1.866826e+07 | 7.971617e+01 | 0.000000e+00 | 3.871005e+03 | 8.922192e+03 | 8.579605e+03 |
16 | 17 | 1 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 |
17 | 18 | 0.281 | 1.309596e+07 | 1.014174e+02 | 0.000000e+00 | 9.296216e+03 | 1.077888e+04 | 3.244612e+03 |
18 | 19 | 0.297103 | 7.014414e+06 | 4.508130e+01 | 0.000000e+00 | 3.529625e+03 | 1.096119e+04 | 7.869300e+03 |
19 | 20 | 0.359032 | 1.215326e+07 | 7.200351e+01 | 0.000000e+00 | 1.279200e+04 | 6.171520e+03 | 1.797679e+03 |
20 | 21 | 0.314822 | 8.402890e+06 | 1.025347e+02 | 0.000000e+00 | 1.909471e+03 | 6.917066e+03 | 7.131667e+03 |
21 | 22 | 0.233379 | 4.302552e+06 | 4.853169e+01 | 0.000000e+00 | 4.725681e+03 | 7.022258e+03 | 9.415779e+03 |
22 | 23 | 0.363013 | 1.050163e+07 | 3.152571e+01 | 0.000000e+00 | 0.000000e+00 | 6.628646e+02 | 1.059561e+02 |
23 | 24 | 0.313814 | 1.117032e+07 | 1.456111e+02 | 0.000000e+00 | 6.198419e+02 | 4.673475e+03 | 4.059903e+03 |
24 | 25 | 0.238833 | 3.776035e+06 | 5.509412e+01 | 0.000000e+00 | 8.421791e+02 | 4.096308e+03 | 4.099263e+03 |
25 | 26 | 0.573987 | 3.433885e+07 | 1.528176e+02 | 0.000000e+00 | 0.000000e+00 | 7.967288e+02 | 4.229669e+02 |
26 | 27 | 0.289602 | 1.916212e+07 | 5.032359e+01 | 0.000000e+00 | 4.478693e+02 | 8.052252e+03 | 1.661746e+04 |
27 | 28 | 0.150297 | 1.294017e+07 | 1.379906e+02 | 0.000000e+00 | 7.873497e+01 | 1.334955e+03 | 1.885617e+03 |
28 | 29 | 0.141857 | 4.373640e+06 | 1.019866e+02 | 0.000000e+00 | 3.023035e+03 | 1.422197e+04 | 4.059980e+03 |
29 | 30 | 0.258728 | 1.172243e+07 | 2.910012e+01 | 0.000000e+00 | 4.614691e+03 | 8.924096e+03 | 3.341770e+04 |
30 | 31 | 0.161501 | 6.174824e+06 | 5.188869e+01 | 0.000000e+00 | 4.008664e+02 | 6.902301e+03 | 4.301851e+03 |
31 | 32 | 0.170185 | 7.521823e+06 | 4.257795e+01 | 0.000000e+00 | 1.299171e+03 | 4.839427e+03 | 1.241464e+04 |
32 | 33 | 0.18984 | 9.081841e+06 | 1.579269e+02 | 0.000000e+00 | 5.364654e+02 | 3.414593e+03 | 4.044473e+03 |
33 | 34 | 0.169611 | 3.906056e+06 | 4.760466e+01 | 0.000000e+00 | 7.771998e+01 | 1.780409e+03 | 1.351388e+03 |
34 | 35 | 0.173515 | 1.225996e+07 | 1.684807e+02 | 0.000000e+00 | 0.000000e+00 | 2.084592e+03 | 3.016092e+03 |
35 | 36 | 0.0985966 | 1.069105e+07 | 4.127685e+02 | 0.000000e+00 | 2.279215e+02 | 1.718964e+04 | 3.243916e+03 |
36 | 37 | 0.145829 | 8.346488e+06 | 2.221342e+02 | 1.421085e-14 | 0.000000e+00 | 3.935366e+03 | 3.957827e+03 |
37 | 38 | 1 | 1.101427e-08 | 3.443332e-13 | 0.000000e+00 | 0.000000e+00 | 2.989666e-12 | 4.578256e-12 |
38 | 39 | 0.123085 | 6.930307e+06 | 2.158233e+02 | 0.000000e+00 | 1.624647e+02 | 9.200570e+03 | 9.739677e+02 |
39 | 40 | 0.214079 | 3.633025e+06 | 5.516939e+01 | 0.000000e+00 | 0.000000e+00 | 5.199182e+03 | 8.643041e+03 |
40 | 41 | 0.142424 | 9.716665e+06 | 9.676181e+01 | -1.421085e-14 | 2.587490e+02 | 6.258546e+03 | 6.615452e+03 |
如果有是面板数据
全局 : data = 所有的样本
每年 : data = data[data[“year”] == 某一年,""],对每年分别求TE
案例数据
百度云链接:https://pan.baidu.com/s/16L4L7nRrMmCyKhjxv6KKiw
提取码:phum
带有非期望产出的SBM模型(python)相关推荐
- 非期望产出的sbm模型_兼顾非期望产出的工业用地效率测度、分异与溯因 ——以东北三省为例...
作 者 信 息 张雅杰1,陶韦华1,张 丰2,刘辉智1 (1. 武汉大学 资源与环境科学学院,湖北 武汉 430079:2. 武汉大学 遥感信息工程学院,湖北 武汉 430079) " [摘 ...
- matlab如何求解sbm模型,非期望产出的SBM模型代码问题
clc,clear all; load('OUTPUT.mat') output = OUTPUT load('INPUT.mat') input = INPUT load('UNOUTPUT.mat ...
- 基于含有非期望产出的SBM模型的共同前沿和群组前沿的DEA效率测算
今天介绍一个新的DEA模型,即基于含有非期望产出SBM模型测算群组前沿和共同前沿的DEA效率,在研究能源效率时常常用到. 由于各省之间的能源使用效率,受限于经济发展水平等诸多因素的限制,因此各省面对的 ...
- 非期望产出的sbm模型_线性模型 vs. Logistic模型——离散选择模型之二
前言:为什么因变量是分类变量的时候,我们会选择Logistic模型.而非最常见的线性回归模型?或者,换个说法:线性回归模型的劣势是什么?Logistic模型的优势又是什么?--针对这些问题,本文为您详 ...
- 非期望产出的sbm模型_ASG动态等级模型:做好精细化运营的关键
运营要讲求精细化,要根据产品.用户.市场的具体情况制定具体的运营措施.文章主要分享了ASG动态等级模型在用户分层精细化运营领域的应用方法,希望对你有用. 中国的互联网浪潮随着移动用户的趋于饱和,已经进 ...
- 非期望产出的sbm模型_KANO模型:产品人必懂的需求分析法
需求会因人而异,会因文化差异而不同:也会随着时间变化.作为产品设计者,我们应该持续调研需求,对产品进行迭代优化. 在做项目做产品的过程中,作为互联网产品设计师的我们,经常会接到来自PM/领导/业务方等 ...
- 非期望产出的sbm模型_投入产出模型在评价中应用的局限性
投入产出模型的假定及其局限性_R&D投入产出活动与产业溢出效应研究本章分析的理论和方法基础是投入产出分析,主要是利用河北省2010年42部门价值型投入产出表以及河北省统计局科技处及其他部门所提 ...
- 非期望产出的sbm模型_出国留学花费和回国薪水对比,投入产出比高吗?
点击上方蓝字关注我们! 出国留学花费和回国薪水对比,投入产出比高吗? 在计划是否出国留学时,不菲的花销是很多人考虑的重要因素.在网络问答社区网站知乎上,"留学1年花费多少"的问题下 ...
- MATLAB的超效率SBM-DEA模型代码 可以做期望产出和非期望产出的超效率和非超效率sbm模型和Malmquist指数和分解
MATLAB的超效率SBM-DEA模型代码(有安装教程和内容讲解之类的东西),操作很简单 可以做期望产出和非期望产出的超效率和非超效率sbm模型和Malmquist指数和分解 ID:669695527 ...
最新文章
- 高考623分却说自己是“反面教材”?外卖小哥最新发声!
- 学python好找工作么-学完Python好找工作吗?为什么有人学完还找不到工作?
- 应用Strong Name保存.NET应用程序集
- [JSConf EU 2018] 大脑控制 Javascript
- c语言选择排序_C语言——选择排序
- uva10718 - Bit Mask(贪心)
- SylixOS 缺页异常
- 用eviews做svar模型_SVAR操作步骤Eviews教程分析.ppt
- 百会项目与redmine的对比
- awk命令详解+示例
- 太阳代理ip_IP直通车 | 冬季之始,你知多少
- 计算机 绘图 教案,工程制图基础
- 闭环控制步进电机对比传统开环控制的优点
- 《信号与系统学习笔记》—连续时间博里叶变换(一)
- Android 最近任务列表中隐藏图标
- 深度相机介绍(TOF、RGB双目、结构光参数对比)
- Python数据可视化库Matplotlib折线图(一)
- 分分钟拯救监控知识体系
- (系统的推送)友盟推送
- 有限元分析及运用课程笔记第二章:基于直接刚度法的杆系有限元方法