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

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

写在前面:

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


1. 引言

  关于数据包络分析法的CCR模型已经在上文中进行了介绍,CCR模型是规模收益不变(CRS)假设下的径向EDA模型,即模型中的λ \lambdaλ满足λ ⩾ 0 \lambda \geqslant 0λ0,具体的模型原理可参阅链接: 数据包络分析——CCR模型

  但是在实际生产过程中,生产技术的规模收益并非CRS,若采用CRS假设,得出的技术效率并非完全是纯技术效率,而是包含了规模效率成分的综合效率。

一般来说,生产技术的规模收益要先后经历规模收益递增(IRS)、规模收益不变(CRS)、规模收益递减(DRS)三个阶段。如果无法确定研究样本处于哪个阶段,那么评价技术效率是应该选择可变规模收益(VRS)模型,即模型中的λ \lambdaλ满足∑ λ = 1 \sum \lambda=1λ=1。此时VRS模型得出的技术效率就是纯技术效率。

2. 模型建立

  BCC模型即规模收益可变(VRS)假设下的径向DEA模型。它与CCR模型的区别就是增加了等式约束∑ λ = 1 \sum \lambda=1λ=1

  投入导向的BCC对偶模型:

min ⁡ θ \min \thetaminθs . t . { ∑ i = 1 n λ i x i j ⩽ θ x i j ∑ i = 1 n λ i y i r ⩾ y k r ∑ i = 1 n λ i = 1 λ i ⩾ 0 , j = 1 , ⋯   , m ; r = 1 , ⋯   , 3 q s.t.\left\{\begin{array}{c}\sum_{i=1}^{n} \lambda_{i} x_{i j} \leqslant \theta x_{i j} \\ \sum_{i=1}^{n} \lambda_{i} y_{i r} \geqslant y_{k r} \\ \sum_{i=1}^{n} \lambda_{i}=1 \\ \lambda_{i} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, 3 q\end{array}\right.s.t.i=1nλixijθxiji=1nλiyirykri=1nλi=1λi0,j=1,,m;r=1,,3q

其中,k = 1 , ⋯   , n k=1, \cdots, nk=1,,n

  产出导向的BCC对偶模型:

max ⁡ ϕ \max \phimaxϕs . t . { ∑ i = 1 n λ i x i j ⩽ x i j ∑ i = 1 n λ i y i r ⩾ ϕ y k r ∑ i = 1 n λ i = 1 λ i ⩾ 0 , j = 1 , ⋯   , m ; r = 1 , ⋯   , 3 q s.t.\left\{\begin{array}{c}\sum_{i=1}^{n} \lambda_{i} x_{i j} \leqslant x_{i j} \\ \sum_{i=1}^{n} \lambda_{i} y_{i r} \geqslant \phi y_{k r} \\ \sum_{i=1}^{n} \lambda_{i}=1 \\ \lambda_{i} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, 3 q\end{array}\right.s.t.i=1nλixijxiji=1nλiyirϕykri=1nλi=1λi0,j=1,,m;r=1,,3q其中,k = 1 , ⋯   , n k=1, \cdots, nk=1,,n

3. 模型求解

还是以下面这个问题为例:

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

根据上述建立的模型,编写投入导向的BCC模型的MATLAB程序如下:

%投入导向BCC
w=[];
for i=1:n
    f=[zeros(1,n) 1];
    A=[X -X(:,i); -Y zeros(q,1)];
    b=[zeros(1,m) -Y(:,i)']';
    Aeq=[ones(1,n) 0];
    beq=1;
    LB=[zeros(n+1,1)];
    UB=[];
    w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
end
BCC_IN=w(n+1,:)'

  得到的结果为:1,0.9804,1,0.9395,1,1

产出导向的BCC模型的MATLAB程序如下:

%产出导向BCC
w=[];
for i=1:n
    f=[zeros(1,n) -1];
    A=[X zeros(m,1); -Y Y(:,i)];
    b=[X(:,i)' zeros(1,q)]';
    Aeq=[ones(1,n) 0];
    beq=1;
    LB=[zeros(n+1,1)];
    UB=[];
    w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
end
BCC_OUT=1./w(n+1,:)'

  得到的结果为:1,0.9948,1,0.9466,1,1

  观察投入导向的BCC模型和产出导向的BCC模型结果可以发现,学校A、C、E、F这几个学校的投入产出是比较有效的。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
机器学习/深度学习 自然语言处理 数据处理
论文《Attention is All You Need》
论文《Attention is All You Need》
1711 1
|
数据可视化 数据挖掘 开发工具
【办公自动化】用Python批量从上市公司年报中获取主要业务信息
【办公自动化】用Python批量从上市公司年报中获取主要业务信息
1589 0
|
运维 安全 Linux
Jumpserver堡垒机部署和基本使用
Jumpserver堡垒机部署和基本使用
1835 2
|
4月前
|
人工智能 vr&ar UED
获奖公布|第十九届"挑战杯"竞赛2025年度中国青年科技创新"揭榜挂帅"擂台赛阿里云“AI技术助力乡村振兴”专题赛拟授奖名单公示
获奖公布|第十九届"挑战杯"竞赛2025年度中国青年科技创新"揭榜挂帅"擂台赛阿里云“AI技术助力乡村振兴”专题赛拟授奖名单公示
|
存储 Python
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
|
11月前
|
人工智能 自然语言处理 Java
对话即服务:Spring Boot整合MCP让你的CRUD系统秒变AI助手
本文介绍了如何通过Model Context Protocol (MCP) 协议将传统Spring Boot服务改造为支持AI交互的智能系统。MCP作为“万能适配器”,让AI以统一方式与多种服务和数据源交互,降低开发复杂度。文章以图书管理服务为例,详细说明了引入依赖、配置MCP服务器、改造服务方法(注解方式或函数Bean方式)及接口测试的全流程。最终实现用户通过自然语言查询数据库的功能,展示了MCP在简化AI集成、提升系统易用性方面的价值。未来,“对话即服务”有望成为主流开发范式。
7853 7
|
11月前
|
监控 安全 API
如何设计、维护和推广 API:专业人士的实用指南
API 在数字化环境中扮演着连接系统与应用的关键角色。设计卓越的 API 需明确目标、遵循 RESTful 原则、保持一致性和标准化。有效维护包括版本控制、性能监控、详细文档和负载优化。推广 API 通过内部培训、吸引开发者社区及展示成功案例。Apipost 提供全面工具集、无缝集成、离线支持和高安全性,助力打造可靠的 API,推动业务增长。
|
机器学习/深度学习 人工智能 NoSQL
生成式AI赋能金融信贷:减少信用评分偏差
替代数据、人工智能和生成式 AI 的融合正在重塑信用评分的基础,标志着金融业进入了一个关键时刻
4813 3
|
机器学习/深度学习 算法 前端开发
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
|
算法
数据包络分析(DEA)——CCR模型
数据包络分析(DEA)——CCR模型
1765 0
数据包络分析(DEA)——CCR模型