随机前沿(SFA)与数据包络(DEA)技术原理概述与代码实现

1.两者方法区别

1.1 SFA

随机前沿分析 ( stochastic frontier analysis ,SFA) 是一种技术,可以用来研究经济学数据的绩效,以及它们之间的关系。它可以帮助经济学家在投资决策中更好地分析投资组合的风险和收益

1.2 DEA

数据包络分析 (Data Envelopment Analysis,DEA) 是一种用于评估组织绩效的分析技术。它可以用来比较不同组织的绩效,以及比较其绩效与其他组织的绩效。它也可以用来确定哪些组织的绩效最佳,以及哪些组织的绩效最差

1.3 作用

两者都可以基于投入-产出数据进行效率分析(全要素生产率的测度)。人话,用于构建你的核心解释或者被解释变量。

1.4 总结

项目SFADEA
方法类型基于参数基于非参数
是否考虑随机性
公司效率假设存在无效率存在无效率
所需要的变量Log(投入产出的数量)-对数处理投入产出的数量
支持的数据形式横截面和面板横截面和面板
投入产出的目标支持多投入和单产出(类似回归)支持多投入和多产出
样本容量大小

1.5 互补性缺陷

  • DEA可以测算多投入多产出的效率问题,但忽视了随机误差的影响(Sun et al.,2015;韩东亚和刘宏伟,2019)
  • SFA优于DEA之处,是它考虑随机误差的存在对结果造成的影响,提前确定生产函数形式再研究企业的生产过程,可以提高计算技术效率的准确性,还可以分析效率与影响因素之间的相关性。

2.代码实现

步骤1

将你的数据去对数

步骤2

按如下的数据形式调整好

步骤3

带入代码

% import data of Wang and Ho (2010)
dta=xlsread('Wang(2010)_data.csv');% 读取数据 
%Esitamtion
para0=[0.5;0.5;0.1;0.1;0.1;0.5;0.5]; % 设置参数,这里可以用OLS估计出 直接替换
[parameter,ste,robste,LL,BCindex]=PSFA2010(dta,3,para0); % dta 你的数据,3是自变量个数 ,para0初始参数
parameter

这是主函数代码基于MATLAB实现
在这里插入图片描述

步骤4

结果导出
在这里插入图片描述
由于有三个自变量,前三个就是自变量个数
将原始X1、X2、X3与这里的系数点乘,得到
每个个体每年的效率值
获取代码传输门

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
随机前沿 (Stochastic Frontier Analysis, SFA) 是一种经济学方法,用于测量生产效率。它是通过将产出看作是技术效率和随机误差的乘积,来估计生产函数的确定性 (技术效率) 和随机成分 (随机误差)。 在随机前沿SFA模型中,我们假设技术效率是未观测到的变量,并引入误差项来衡量技术效率的波动。 在Python实现随机前沿SFA模型,可以使用统计分析库statsmodels。首先,我们需要导入相应的库: ``` import numpy as np import pandas as pd from statsmodels.api import OLS from statsmodels.tools.tools import add_constant ``` 接下来,我们需要准备用于模型估计的数据。这些数据应该包含有关产出、输入和其他相关因素的信息。首先,我们创建一个DataFrame来存储这些数据: ``` data = pd.DataFrame({'output': [10, 12, 14, 16, 18], 'input1': [2, 3, 4, 5, 6], 'input2': [3, 4, 5, 6, 7], 'input3': [1, 2, 3, 4, 5]}) ``` 接下来,我们需要对输入变量进行对数变换,以取得更好的结果: ``` data['log_input1'] = np.log(data['input1']) data['log_input2'] = np.log(data['input2']) data['log_input3'] = np.log(data['input3']) ``` 随后,我们需要定义模型并拟合数据: ``` model = OLS(data['output'], add_constant(data[['log_input1', 'log_input2', 'log_input3']])) result = model.fit() ``` 最后,我们可以通过result.summary()方法来查看模型的拟合结果: ``` print(result.summary()) ``` 以上就是用Python实现随机前沿SFA模型的简单步骤。当然,在实际应用中,我们还需要考虑模型的假设前提、数据的准备和模型的验证等方面。在这里,我们只演示了最基本的代码实现。希望这能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wency(王斯-CUEB)

我不是要饭的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值