点赞发Nature
关注中Science
Matlab DEA 程序包
pyDEA安装
非径向距离函数
考虑非期望产出的非径向距离函数
这一版更新比较简单,增加了强处置性假设下的非径向距离函数(NDDF)计算。比较强\弱处置假设下的NDDF,可以计算相应的环境规制成本[ Technological Forecasting & Social Change 96 (2015) 62–70].
import numpy as np
import os
import pandas as pd
import pickle
import pulp
import time
def read_excel(iteration):
dea_inout = pd.read_excel(
os.path.join(dir_data, xls), sheet_name=str(iteration), header=0
)
return dea_inout
class DEAProblem:
def __init__(self, inputs, outputs, bad_outs, weight_vector, disp='weak disposability', directional_factor=None, returns='CRS',
in_weights=[0, None], out_weights=[0, None],badout_weights=[0, None]):
self.inputs = inputs
self.outputs = outputs
self.bad_outs = bad_outs
self.returns = returns
self.disp = disp
self.weight_vector = weight_vector # weight vector in directional distance function
self.J, self.I = self.inputs.shape # no of DMUs, inputs
_, self.R = self.outputs.shape # no of outputs
_, self.S = self.bad_outs.shape # no of bad outputs
self._i = range(self.I) # inputs
self._r = range(self.R) # outputs
self._s = range(self.S) # bad_output
self._j = range(self.J) # DMUs
if directional_factor == None:
self.gx = self.inputs
self.gy = self.outputs
self.gb = self.bad_outs