数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例

数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例

足球数据分析软件推荐:

AiAutoPrediction足球系列软件如下:

AIAutoPrediction

SoccerPredictor |走地大小球|走地让球|走地角球|数据分析

AiScorePredictor

乐彩云

一、数据包络分析(DEA)详解

数据包络分析(DEA)是一种非参数的评价方法,主要用于评估具有多个投入和多个产出的决策单元(Decision Making Units, DMUs)的相对效率。DEA方法最初由A.Charnes和W.W.Cooper在1978年提出,现已广泛应用于生产管理、金融分析、教育评估等多个领域。

DEA的核心思想是通过比较不同DMUs的输入和输出数据,确定一个效率前沿(Efficiency Frontier),即所有DMUs中效率最高的集合。位于效率前沿上的DMUs被认为是相对有效的,而位于效率前沿下方的DMUs则被认为是相对无效的。DEA方法可以帮助管理者识别出效率低下的DMUs,并为其改进提供方向。

DEA模型通常分为两类:CRS(Constant Returns to Scale)模型和VRS(Variable Returns to Scale)模型。CRS模型假设DMUs的规模效率是恒定的,即输入和输出之间存在线性关系;而VRS模型则假设DMUs的规模效率是可变的,即输入和输出之间存在非线性关系。在实际应用中,可以根据具体情况选择合适的模型。

二、Python代码示例

以下是一个使用Python实现DEA模型的简单示例。这里我们采用CRS模型(也称为CCR模型),并使用Gurobi作为优化求解器。请注意,为了运行此代码,您需要安装Gurobi和相应的Python库。

import gurobipy as gp
import pandas as pd# 假设我们有三个DMUs(A, B, C),每个DMUs有两个输入(x1, x2)和两个输出(y1, y2)
inputs = pd.DataFrame({'DMU': ['A', 'B', 'C'],'x1': [2, 1, 3],'x2': [3, 2, 4]
})
outputs = pd.DataFrame({'DMU': ['A', 'B', 'C'],'y1': [4, 3, 6],'y2': [5, 4, 7]
})# 合并输入和输出数据
data = pd.merge(inputs, outputs, on='DMU')# 设置Gurobi模型
m = gp.Model('DEA_CCR')# 定义变量
lambdas = m.addVars(data.shape[0], name='lambda')
OE = m.addVar(name='OE', lb=0, ub=1, vtype=gp.GRB.CONTINUOUS)
s_neg = m.addVars(data.shape[1]-2, name='s_neg')  # 输入的松弛变量
s_pos = m.addVars(2, name='s_pos')  # 输出的松弛变量# 设置目标函数(最大化OE)
m.setObjective(OE, gp.GRB.MAXIMIZE)# 设置约束条件
for i in range(data.shape[0]):if i == 0:  # 对于第一个DMU,设置OE为其效率值m.addConstr(OE * data.loc[i, 'x1':] <= gp.quicksum(lambdas[j] * data.loc[j, 'x1':] for j in range(data.shape[0])))m.addConstr(data.loc[i, 'y1':] >= gp.quicksum(lambdas[j] * data.loc[j, 'y1':] for j in range(data.shape[0])) - s_pos)else:  # 对于其他DMU,设置其权重为非负m.addConstr(lambdas[i] >= 0)# 设置松弛变量为非负
for var in s_neg:m.addConstr(var >= 0)
for var in s_pos:m.addConstr(var >= 0)# 求解模型
m.optimize()# 输出结果
for v in m.getVars():print(v.varName, v.x)

注释

  • gurobipy是Gurobi优化求解器的Python接口,用于构建和求解优化模型。
  • pd.DataFrame用于存储和处理输入和输出数据。
  • m.addVars用于添加决策变量,包括DMUs的权重(lambdas)、效率值(OE)以及松弛变量(s_negs_pos)。
  • 目标函数设置为最大化效率值(OE)。
  • 约束条件包括输入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1551176.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

探索SpringBoot:学科竞赛管理项目开发

2 相关技术简介 2.1Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xff0c;任…

fish-speech语音大模型本地部署

文章目录 fish-speech模型下载编译部署 小结 fish-speech模型 先说下fish-speech模型吧&#xff0c;可以先看下官网。如下&#xff1a; 这就是一个模型&#xff0c;可以根据一个样例声音&#xff0c;构建出自己需要的声音。其实&#xff0c;这个还是有很多用途的&#xff1b;…

产品管理- 互联网产品(5):运营知识与技能

了解运营 1、运营的基础是产品认清受众&#xff0c;切实解决问题、用户需求 2、运营活动贯穿产品的整个生命周期 3、找准用户&#xff0c;建立MVP 4、明确产品的应用场景。用户在何场景下基于何种需求使用产品&#xff1f;务必短流程 5、AARRR模型 6、运营管理流程类似产品管理…

API版本管理秒杀ApiFox的ApiFirst对比功能雏形演示

文章目录 前言第一版对比功能说明视频演示 前言 目前市面上主流的API管理工具在版本管理上&#xff0c;个人觉得做的比较粗糙&#xff0c;无法很直观的体现出版本之间差异&#xff0c;还停留在api元数据的文本比较上。用户更希望在浏览API文档阅读模式时能像word标注一样&…

Sqlserver 连接 chche 数据库详细步骤

zihao 第一步&#xff0c;安装ODBC驱动 在windows资源管理器里粘贴以下地址&#xff0c;会进入到驱动文件夹 ftp://ftp.intersystems.com/pub/cache/odbc/2018/ 第二步&#xff0c;添加ODBC 安装后&#xff0c;可能需要重启。然后打开控制面板&#xff0c;搜素ODBC&#xf…

The legacy JS API is deprecated and will be removed in Dart Sass 2.0

The legacy JS API is deprecated and will be removed in Dart Sass 2.0 更新了sass版本后&#xff0c;启动项目控制台一直在报错&#xff0c;影响开发效率&#xff0c;强迫症表示忍受不了。 字面意思是&#xff1a;Sass在2.0版本将会移除legacy JS API&#xff0c;所以现在使…

【ESP 保姆级教程】小课设篇 —— 案例:20231219_基于 ESP32 TFT显示课程表

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2024-09-30 ❤️❤️ 本篇更新记录 2023-09-30 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…

Linux命令一文速通速成

目录 嵌入式Linux的组成 Linux的介绍 Linux和发行版本 Linux应用 Linux特点 Linux发行版 GNU Linux目录结构 为什么要使用Linux命令&#xff1f; 登录 ​编辑 说明 shell是什么&#xff1f; bash shell Linux命令格式 命令格式举例 命令中的其他组成 Linux系统…

基于SpringBoot的诗词学习网站的设计与实现

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍&#xff1a;使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 &#xff08;1&#xff09;与指导老师确定系统主要功能&#xff1b; &#xff08;2&am…

fastAPI教程:路由操作及HTTP请求响应

FastAPI 三、路由操作 3.1 路由装饰器 路由装饰器&#xff0c;也叫路径操作装饰器。 FastAPI提供了一系列基于HTTP请求作为方法名的装饰器给开发者用于绑定url地址提供给外界操作API接口。 HTTP方法FastAPI代码描述GETapp.get()async 方法名(): pass获取数据POSTapp.post(…

python15_转换为ASCII

转换为ASCII A A B 你好 C 66def str_to_ascii(s):# 如果输入是单个字符&#xff0c;直接返回其ASCII值if len(s) 1:return ord(s)# 否则返回每个字符的ASCII值列表return [ord(char) for char in s]def int_to_ascii(i):# 将整数转换为对应的ASCII字符return chr(i)if __…

光储一体化在停车场中的应用

近年来&#xff0c;光伏作为一种绿色环保无污染的可再生能源在中国的发展迅速。据统计&#xff0c;2022 全年光伏发电量为 4276 亿千瓦时,同比增长 30.8%,约占全国全年总发电量的 4.9%。然而&#xff0c;光伏发电也存在着不稳定性的问题&#xff0c;因此储能技术的发展成为克服…

AutoGen实现多代理-Tool_Use_and_Conversational_Chess(四)

1. 学习背景 如图&#xff0c;常见的Agent之间交流对话&#xff0c;可能会涉及到外部工具的调用和嵌套式聊天&#xff0c;这种设计模式就要求代理会使用工具和按序执行代码。本节尝试聊天机器人模拟人类进行下棋&#xff0c;如图所示&#xff0c;Chess Board代理则进行检测合…

【CSS Tricks】css动画详解

目录 引言一、动画关键帧序列二、动画各属性拆解1. animation-name2. animation-duration3. animation-delay3.1 设置delay为正值3.2 设置delay为负值 4. animation-direction5. animation-iteration-count6. animation-fill-mode7. animation-play-state8. animation-timing-f…

【大牛!】3DMAX城市交通插件CityTraffic使用方法详解

3dMax城市交通插件CityTraffic有助于在城市环境和越野环境中创建汽车交通流。特殊的道路编辑器和自动汽车设置大大加快了交通运动模拟场景的准备速度。 每辆车的配置多种多样,无论是悬架支架的调整还是驾驶风格,都能够创建逼真的模拟。动力学计算使复杂表面的运动更加真实,…

qt使用QDomDocument读写xml文件

在使用QDomDocument读写xml之前需要在工程文件添加&#xff1a; QT xml 1.生成xml文件 void createXml(QString xmlName) {QFile file(xmlName);if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate |QIODevice::Text))return false;QDomDocument doc;QDomProcessin…

损失函数篇 | YOLOv10 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class WIoU_Scale: if monotonous = None , v1if monotonous = True , v…

通过台达ASDA-Soft伺服调试软件导入和导出伺服参数的具体方法示例

通过台达ASDA-Soft伺服调试软件导入和导出伺服参数的具体方法示例 首先,找一根通讯线,如下图所示,打印机通讯线就可以, 通信线连接台达伺服驱动器和电脑后,打开ASDA-Soft软件,如下图所示,勾选On-Line,然后点击开始自动侦测, 如下图所示,正常情况下,软件可以自动侦测…

国产长芯微LDC5541/LDC5542数模转换芯片DAC完全P2P替代AD5541/AD5542

LDC5541/LDC5542是单16位串行输入电压输出数模转换器&#xff08;DAC&#xff09;&#xff0c;工作电压为2.7V至5.5V。DAC输出范围从0V延伸到VREF。DAC经过校准&#xff0c;在室温下提供16位的2LSB INL精度&#xff0c;在-40℃至85℃/105℃的整个指定温度范围内提供6LSB INL精度…

【PRISMA卫星有关简介】

PRISMA卫星是一颗小型超光谱成像卫星&#xff0c;以下是对其的详细介绍&#xff1a; 一、基本信息 英文全称&#xff1a;Prototype Research Instruments and Space Mission technology Advancement Main&#xff0c;或简化为PRISMA。发射时间&#xff1a;PRISMA卫星于2019年…