立即打开
包络分析DEA简介+MATLAB程序+SAS程序
数据包络分析的SAS实现初探
数据包络分析法(DEA, data envelopment analysis)由Charnes、Cooper和Rhodes在1978年首次提出,以相对效率概念为基础,根据多指标投入和多指标产出,用来评价相同类型部门或单位中各成员之间的相对有效性。
国外开发的DEA软件较多,国内则较少,一方面是因为国内知识产权保护力度不够,另一方面相关应用研究一般落后于国外步伐。目前有相关的DEA求解软件如DEA Solver pro、DEAP、DEA Excel Solver、MaxDEA等。
之前笔者也觉得DEA EXCEL等方便使用,后来用Matlab编码更能体现自己的模型。学习SAS后,发现其实SAS也是可以解决DEA问题的。现通过某数据来做个实例初探。以下为7个决策单元,前4个为输入变量,后3个为输出变量。
| CITY | 青岛 | 东营 | 烟台 | 潍坊 | 威海 | 日照 | 滨州 |
| CoalUse | 0.71 | 0.76 | 0.69 | 1.02 | 0.79 | 1.84 | 1.05 |
| ElecUse | 495.44 | 695.85 | 673.95 | 967.21 | 436.18 | 1219.84 | 1040.84 |
| HumanCap | 547.60 | 126.00 | 434.10 | 513.50 | 173.30 | 182.50 | 250.40 |
| FinanCap | 658.06 | 179.80 | 407.53 | 358.26 | 200.59 | 124.35 | 201.17 |
| CV1 | 306.38 | 99.18 | 361.43 | 359.28 | 171.18 | 112.08 | 178.07 |
| CV2 | 1828.97 | 1914.81 | 2830.88 | 1961.40 | 1139.36 | 660.66 | 972.29 |
| CV3 | 2339.46 | 662.36 | 1714.52 | 1221.16 | 800.41 | 441.33 | 667.22 |
1、Matlab程序实现包络分析
matlab输出结果theta =
1.0000 1.0000 1.0000 1.0000 1.0000 0.9458 0.9285
我们可以发现最后两个决策单元日照和滨州是无效率的。但是这一编程确实有些繁琐。我们可以通过一段SAS程序来直接求解某个决策单元的theta值。
2、SAS程序实现
编写的SAS程序如下:
3、SAS程序解释
上述的SAS程序用非常直接的方式将模型表示出来,利用lp过程步可以直接求得滨州的c(也就是matlab中的theta)为0.9285,其他决策单元求法类似。
程序中_id_定义行名称,object表示第一行,Coaluse表示第二行,以此类推。x1-x7分别表示决策单元系数,每个城市投入产出指标值;c表示效率值,s1-s4表示输入松弛变量,s5-s7表示输出松弛变量,_type_表示运算符类型,程序中用了eq和min两种,_rhs_表示运算符右侧的常数项。
matlab程序中用了linprog(f,A,b,Aeq,beq,LB,UB)线性规划函数,输入矩阵部分直接引用excel了数据,在变换模型中具有更大的灵活性。SAS程序也可考虑使用循环和控制命令使其更加简便。笔者抛砖引玉,希望SAS在DEA应用中也可以有一席之地。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
栏目导航
热门文章
推荐文章
扫码加好友,拉您进群