R语言实现随机前沿分析SFA、数据包络分析DEA、自由处置包分析FDH和BOOTSTRAP方法

简介: R语言实现随机前沿分析SFA、数据包络分析DEA、自由处置包分析FDH和BOOTSTRAP方法

在经济学中,技术效率是指在既定的投入下产出可增加的能力或在既定的产出下投入可减少的能力。常用度量技术效率的方法是生产前沿分析方法。所谓生产前沿是指在一定的技术水平下,各种比例投入所对应的最大产出集合。而生产前沿通常用生产函数表示。前沿分析方法根据是否已知生产函数的具体的形式分为参数方法和非参数方法,前者以随机前沿分析(StochasticFrontierAnalysis,下文简称SFA)为代表,后者以数据包络分析(DataEnvelopeAnalysis,下文简称DEA)为代表。

本文在R软件中实现SFA、DEA与自由处置包分析FDH模型。

用R进行模拟

1.按照p=0.2的二项分布,随机生成一个大小为100的向量。

> x

plot(table(x), main = "frequency")

其他分布。泊松P(λ)(函数rpois)等。

2.数字变量 按照高斯分布N(μ=1,σ=1)随机生成一个大小为100的向量。

> x hist(x, main = "")

其他分布。Uniform U[a,b](函数runif)等等。

模拟数据

输出y和输入x都是n=15的大小

真正的前沿是由函数定义的。

为了模拟数据:

1. 定义输入的矢量为x∼U[0,1]

2. 定义一个向量u∼N+(µ = 0.25, σ = 0.2)

3. 输入的矢量定义为  

函数set.seed允许我们保持相同的模拟数据

> u = rtmvnorm(n = ns, mean = c(0.25), sigma = c(0.2),
+ lower = c(0))
> y = ybar/(1 + u)

数据的表示方法

模拟数据。

> plot(y ~ x

绘制真正的边界。

> lines(t.fr ~ x.seq)

"真实前沿 "效率测算

以产出为导向的测算。

输入导向的方法:

Shepard 方法:

> lambda = y/sqrt(x)
> theta = y^2/x
> delta = 1/theta

可重复研究

> matable <- xtable(tab1\[1:5, \], digits = 3, align = "l|ccc",
+ caption = ""真实前沿效率测算")

表:真实_前沿效率_

随机前沿

1.用函数lm调整一个线性模型,并保留回归线的系数β:y = α + βx

2. 找到能使(yi-yˆi)最大化的公司k,i=1,...,n。注意,公司k可以通过函数识别来手动找到和检测

3. 计算α 0,使回归线y = α 0 + βx穿过企业k,并代表随机前沿。


点击标题查阅相关内容


R语言时变面板平滑转换回归模型TV-PSTR分析债务水平对投资的影响

02

03

04


1. OLS 模型

> res.lm <- lm(y ~ x)

2. 使用函数识别

> identify(x, y)

3. 找到α0

> alpha2 <- y\[3\] - beta.lm\[2\] *
+ x\[3\]
> plot(y ~ x, type = "p",
+ 1))

随机前沿效率测算

让我们定义f1 : x → α 0 + βx

> f1 = function(x) alpha2 + beta.lm\[2\] * x

> f1.inv = function(x) (x - alpha2)/beta.lm\[2\]

面向产出的方法。

面向输入的方法:

Shepard 方法:

DEA - FDH 表示

手动检测位于两个边界上的公司

> plot(y ~ x)
> lines(x\[c(2, 9, 3, 4)\], legend = c("DEA",
+ "FDH"))


DEA-FDH效率前沿/衡量标准

让我们考虑5号公司

1. 如果该公司在输出方向上是有效的,它将位于前沿线的哪一部分?在输入方向上?

2. 利用这个估计前沿的位置,计算出效率的衡量标准

Naive Bootstrap

重复B次(用循环的方式)

1.用函数样本在15个观测值中取样

2.计算前沿的新估计值

3.计算新的效率方法

4. 储存结果,计算偏差, 方差, 置信区间

对真实数据的分析

数据集

在62个农场观察到一个输出变量和三个输入变量

> plot(y ~ x1,pch = 16, col = "blue")
> abline(lm(y ~ x1, data), col = "red")

散点图3-d

> scatterplot3d(x1,
+ x2, y)

数据结构

p个输入包含在一个p×n的矩阵中

> input <- t(cbind(spain$x1, spain$x2, spain$x3))

q个输出包含在一个q×n的矩阵中

> output <- t(matrix(spain$y))

效率的衡量标准

计算 DEA 效率估计值

计算 FDH 效率估计值

计算m阶效率估计值

计算非参数的条件和非条件的α-量化估计(默认情况下,α=0.95

> res <- rbind(dea, fdh, orderm,
+ res.hquan)

你可以使用函数order或sort来计算企业的排名,排名根据效率测算。

> plot(density(res.dea)

Bootstrap

函数boot实现了Simar和Wilson(1998)的bootstrap方法,用于估计Shepard(1970)输入和输出距离函数的置信区间。

> boot(input, output)

相关文章
|
1月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
2月前
|
存储 数据采集 数据处理
R语言数据变换:使用tidyr包进行高效数据整形的探索
【8月更文挑战第29天】`tidyr`包为R语言的数据整形提供了强大的工具。通过`pivot_longer()`、`pivot_wider()`、`separate()`和`unite()`等函数,我们可以轻松地将数据从一种格式转换为另一种格式,以满足不同的分析需求。掌握这些函数的使用,将大大提高我们处理和分析数据的效率。
|
5月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
25天前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
1月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
2月前
|
前端开发 JavaScript
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
这篇文章介绍了使用AJAX技术将前端页面中表单接收的多个参数快速便捷地传输到后端servlet的方法,并通过示例代码展示了前端JavaScript中的AJAX调用和后端servlet的接收处理。
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
|
2月前
|
数据采集 机器学习/深度学习 数据挖掘
R语言数据清洗:高效处理缺失值与重复数据的策略
【8月更文挑战第29天】处理缺失值和重复数据是数据清洗中的基础而重要的步骤。在R语言中,我们拥有多种工具和方法来有效地应对这些问题。通过识别、删除或插补缺失值,以及删除重复数据,我们可以提高数据集的质量和可靠性,为后续的数据分析和建模工作打下坚实的基础。 需要注意的是,处理缺失值和重复数据时,我们应根据实际情况和数据特性选择合适的方法,并在处理过程中保持谨慎,以避免引入新的偏差或错误。
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
2月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
2月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。

热门文章

最新文章

下一篇
无影云桌面